LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 06-22-2018, 09:00 AM   #1
upnort
Senior Member
 
Registered: Oct 2014
Distribution: Slackware
Posts: 1,893

Rep: Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162
Compiling VirtualBox 5.2.12 on Slackware 14.2 64-bit


This thread is about compiling only and not about how to install VirtualBox.

I am unable to compile 5.2. The errors:

Code:
build debug: VBOX_WITH_NO_GCC_WARNING_POLICY is enabled
  CXX     VBoxFUSE - {C}/VBoxFUSE.cpp
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:112:5: error: 'PVBOXHDD' does not name a type
     PVBOXHDD                pDisk;
     ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp: In function 'bool vboxfuseNodeDestroy(PVBOXFUSENODE, bool)':
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:200:29: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
             if (pFlatImage->pDisk)
                             ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:202:47: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
                 int rc2 = VDClose(pFlatImage->pDisk, false /* fDelete */); AssertRC(rc2);
                                               ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:203:29: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
                 pFlatImage->pDisk = NULL;
                             ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp: In function 'void vboxfuseNodeRetain(PVBOXFUSENODE)':
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:268:13: warning: unused variable 'cNewRefs' [-Wunused-variable]
     int32_t cNewRefs = ASMAtomicIncS32(&pNode->cRefs);
             ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp: In function 'int vboxfuseFlatImageCreate(const char*, const char*, VBOXFUSEFLATIMAGE**)':
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:530:5: error: 'PVBOXHDD' was not declared in this scope
     PVBOXHDD pDisk = NULL;
     ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:531:53: error: 'pDisk' was not declared in this scope
     rc = VDCreate(NULL /* pVDIIfsDisk */, enmType, &pDisk);
                                                     ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:559:28: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
             pNewFlatImage->pDisk          = pDisk;
                            ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:561:73: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
             pNewFlatImage->cReaders       = VDIsReadOnly(pNewFlatImage->pDisk) ? INT32_MAX / 2 : 0;
                                                                         ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:563:70: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
             pNewFlatImage->Node.cbPrimary = VDGetSize(pNewFlatImage->pDisk, 0 /* base */);
                                                                      ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp: At global scope:
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:906:43: warning: unused parameter 'pszPath' [-Wunused-parameter]
 static int vboxfuseOp_readdir(const char *pszPath, void *pvBuf, fuse_fill_dir_t pfnFiller,
                                           ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:965:46: warning: unused parameter 'pszPath' [-Wunused-parameter]
 static int vboxfuseOp_releasedir(const char *pszPath, struct fuse_file_info *pInfo)
                                              ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:1104:43: warning: unused parameter 'pszPath' [-Wunused-parameter]
 static int vboxfuseOp_release(const char *pszPath, struct fuse_file_info *pInfo)
                                           ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp: In function 'int vboxfuseOp_read(const char*, char*, size_t, off_t, fuse_file_info*)':
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:1203:46: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
                     rc2 = VDRead(pFlatImage->pDisk, offFile, pbBuf, cbBuf);
                                              ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:1213:50: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
                         rc2 = VDRead(pFlatImage->pDisk, offFile & VBOXFUSE_MIN_SIZE_MASK_BLK, abBlock, VBOXFUSE_MIN_SIZ
                                                  ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:1223:54: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
                             rc2 = VDRead(pFlatImage->pDisk, offFile & VBOXFUSE_MIN_SIZE_MASK_BLK, abBlock, VBOXFUSE_MIN
                                                      ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:1239:54: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
                             rc2 = VDRead(pFlatImage->pDisk, offFile, pbBuf, cbRead);
                                                      ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:1253:54: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
                             rc2 = VDRead(pFlatImage->pDisk, offFile, abBlock, VBOXFUSE_MIN_SIZE);
                                                      ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp: At global scope:
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:1162:40: warning: unused parameter 'pszPath' [-Wunused-parameter]
 static int vboxfuseOp_read(const char *pszPath, char *pbBuf, size_t cbBuf,
                                        ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp: In function 'int vboxfuseOp_write(const char*, const char*, size_t, off_t, fuse_file_info*)':
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:1323:47: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
                     rc2 = VDWrite(pFlatImage->pDisk, offFile, pbBuf, cbBuf);
                                               ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:1333:50: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
                         rc2 = VDRead(pFlatImage->pDisk, offFile & VBOXFUSE_MIN_SIZE_MASK_BLK, abBlock, VBOXFUSE_MIN_SIZ
                                                  ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:1338:55: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
                             rc2 = VDWrite(pFlatImage->pDisk, offFile & VBOXFUSE_MIN_SIZE_MASK_BLK, abBlock, VBOXFUSE_MI
                                                       ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:1347:54: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
                             rc2 = VDRead(pFlatImage->pDisk, offFile & VBOXFUSE_MIN_SIZE_MASK_BLK, abBlock, VBOXFUSE_MIN
                                                      ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:1355:59: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
                                 rc2 = VDWrite(pFlatImage->pDisk, offFile & VBOXFUSE_MIN_SIZE_MASK_BLK, abBlock, VBOXFUS
                                                           ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:1364:55: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
                             rc2 = VDWrite(pFlatImage->pDisk, offFile, pbBuf, cbWrite);
                                                       ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:1378:54: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
                             rc2 = VDRead(pFlatImage->pDisk, offFile, abBlock, VBOXFUSE_MIN_SIZE);
                                                      ^
/tmp/VirtualBox-5.2.12/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp:1382:59: error: 'VBOXFUSEFLATIMAGE {aka struct VBOXFUSEFLATIMAGE}' has no member named 'pDisk'
                                 rc2 = VDWrite(pFlatImage->pDisk, offFile, abBlock, VBOXFUSE_MIN_SIZE);
As far as I can tell, pDisk is defined in VBox/vd.h and VBox/vd.h is included in VBoxFUSE.cpp. I do not have VirtualBox installed on the build system. There should not be any confusion about which vd.h to use.

No problems compiling 5.1.38 on 14.2 64-bit. Qt5.6.1 is installed.

Thanks again.
 
Old 06-23-2018, 08:24 PM   #2
frankbell
LQ Guru
 
Registered: Jan 2006
Location: Virginia, USA
Distribution: Slackware, Ubuntu MATE, Mageia, and whatever VMs I happen to be playing with
Posts: 19,337
Blog Entries: 28

Rep: Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144
I recommend downloading the "All distributions (built on EL5 and therefore do not require recent system libraries)" *.run script from VirtualBox and installing VB by running the script. It has always worked flawlessly for me.
 
2 members found this post helpful.
Old 06-23-2018, 08:33 PM   #3
upnort
Senior Member
 
Registered: Oct 2014
Distribution: Slackware
Posts: 1,893

Original Poster
Rep: Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162
Quote:
I recommend downloading the "All distributions (built on EL5 and therefore do not require recent system libraries)" *.run script from VirtualBox and installing VB by running the script. It has always worked flawlessly for me.
First sentence of the thread:

This thread is about compiling only and not about how to install VirtualBox.
 
Old 06-26-2018, 03:17 AM   #4
ppr:kut
Slackware Contributor
 
Registered: Aug 2006
Location: Netherlands
Distribution: Slackware
Posts: 631

Rep: Reputation: 463Reputation: 463Reputation: 463Reputation: 463Reputation: 463
VBoxFUSE isn't really needed for anything. I enabled building it in earlier releases as it might be useful for some people. However, I never actually got it working for what I would have liked it to do (mount vbox images on the host) and I don't think it receives much love from upstream. You can just disable it, I did the same for the SlackBuilds in ponce's branch for -current.

If you use the SlackBuilds you can just fetch them from there as well. They should mostly work on 14.2 as is, with perhaps just minor modifications (I tested them on 14.2, but don't remember exactly what would need to be different). The main reason I don't want virtualbox > 5.0 in the 14.2 repo is to avoid a dependency on qt5.
 
1 members found this post helpful.
Old 06-26-2018, 11:35 AM   #5
upnort
Senior Member
 
Registered: Oct 2014
Distribution: Slackware
Posts: 1,893

Original Poster
Rep: Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162
Thanks for replying!

I was able to compile 5.2.12 on 14.2 64-bit after I commented out the VBoxFUSE related snippets in the build script. That doesn't help those who might want to still use VBoxFUSE.

With respect to upstream, looks like the VBoxFUSE package was dropped on Debian based distros starting with Jessie (Debian 8). I don't know why the package was dropped.

I tried updating the fuse package on 14.2 and that did not help compiling.

The move to qt5 was a poor decision on the Virtualbox developers. Typical case of bleeding edge rather than stability. I am using qt 5.6.1 from slackbuilds.org to compile 5.1/5.2. I understand your support position. I'll only add that 5.0.40 no longer is supported upstream, so no security patches or bug fixes.

Let me know if you need testing help.

Edit: I looked at the *.run script from upstream to see if perhaps a build script wrapper could be used to convert the *.run output into a package. something like the nvidia build script. I did not dig deep, so perhaps a way exists.

Last edited by upnort; 06-26-2018 at 11:37 AM.
 
Old 06-26-2018, 01:23 PM   #6
ppr:kut
Slackware Contributor
 
Registered: Aug 2006
Location: Netherlands
Distribution: Slackware
Posts: 631

Rep: Reputation: 463Reputation: 463Reputation: 463Reputation: 463Reputation: 463
FWIW, the choice for qt5 is perfectly fine. qt4 is already EOL and won't receive any updates or security fixes anymore. It's just Slackware which is behind a little bit
But that's fine as well. We'll catch up soon enough in -current and then this will again not be a problem.
 
Old 07-16-2018, 08:44 PM   #7
upnort
Senior Member
 
Registered: Oct 2014
Distribution: Slackware
Posts: 1,893

Original Poster
Rep: Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162Reputation: 1162
Update: I am running 5.2.14 on 14.2 64-bit using a modified SlackBuild script. I had to move to 5.2.14 because one of my VMs would not build the GA vboxvideo driver with 5.1.38.

I had to comment out the VBoxFUSE elements in the build script otherwise the package failed to build. I don't know if this is a Slackware issue or upstream -- I am not a compiling weeeezard.

Still would be nice if the build script could be a wrapper to the upstream *.run scripts, something like NVidia.
 
Old 02-11-2019, 12:31 PM   #8
peterwwillis
LQ Newbie
 
Registered: Feb 2019
Posts: 2

Rep: Reputation: Disabled
I know this was marked as SOLVED, but I created a patch to fix this build error:

Code:
--- VirtualBox-5.2.26/src/VBox/ImageMounter/VBoxFUSE-old/VBoxFUSE.cpp      2018-10-15 10:31:04.000000000 -0400
+++ VirtualBox-5.2.26/src/VBox/ImageMounter/VBoxFUSE/VBoxFUSE.cpp   2019-02-11 11:31:30.587919884 -0500
@@ -53,6 +53,7 @@
 #include <iprt/initterm.h>
 #include <iprt/stream.h>
 
+#define PVBOXHDD PVDISK
 
 /*********************************************************************************************************************************
 *   Structures and Typedefs                                                                                                      *
Apply that patch to the VirtualBox source (for example, put it in a .patch file, then call it the same as the other patches in your SlackBuild) and it should continue building. You'll likely have other issues though If you notice a bug in compiling, try removing any already-installed virtualbox packages, includes, libraries, etc and try your build again.
 
1 members found this post helpful.
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Need help compiling VirtualBox for Slackware 14.2 x64 mfoley Slackware 15 09-07-2016 03:31 PM
[SOLVED] Oracle VirtualBox-4.3.4 64-bit Slackware 14.1 No USB Support tronayne Slackware 8 12-01-2013 03:11 PM
[SOLVED] Slackware 64-bit in VirtualBox - Console Mouse Problem Erik_FL Slackware 4 05-14-2012 03:57 AM
[SOLVED] Need to Install Slackware 32-bit 13.1 in VirtualBox -- Where to Write the Boot? tronayne Slackware 2 03-23-2011 07:46 AM
VirtualBox 4.0.4, Slackware 13.1 54-bit and USB tronayne Slackware 0 03-18-2011 03:55 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 01:49 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration