LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   VirtualBox on Slackware: How? (https://www.linuxquestions.org/questions/slackware-14/virtualbox-on-slackware-how-519563/)

gargamel 01-15-2007 03:28 PM

VirtualBox on Slackware: How?
 
Hi there,

it appears, that there's now a professional quality open source solution for virtualization:

http://www.virtualbox.org/

However, trying to build the program from sources I ran into unresolved dependencies (see http://www.virtualbox.org/wiki/Linux build instructions):


[...]
checking for as86: found version 0.16.15, OK.
Checking for bcc: which: no bcc in (/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:/opt/www/htdig/bin:
/usr/lib/java/bin:/usr/lib/java/jre/bin:/usr/lib/java/bin:/usr/lib/java/jre/bin:
/opt/kde/bin:/usr/lib/qt/bin:/usr/share/texmf/bin:.:/home/alex/Apps/vbox/tools/linux.x86/bin)


Now, my questions are:

Has anyone VirtualBox running on Slackware 11?
Where can I grab a suitable bcc package for Slackware 11, and potentially the other required stuff listed in http://www.virtualbox.org/wiki/Linux build instructions?

Of course, I have searched the web for bcc, and found several places to download it for NetBSD or ELKOS, but I am just not sure if these packages are right for Slackware, too.

Thanks for your help!

gargamel

H_TeXMeX_H 01-15-2007 10:31 PM

Well here is the bcc page:
http://homepage.ntlworld.com/robert.debath/

or direct link to newest version:
http://homepage.ntlworld.com/robert....0.16.17.tar.gz

I'm trying to resolve the dependencies now ... brb in a while :)

Will be adding dependencies as I go ...

iasl main page:
http://developer.intel.com/technolog.../downloads.htm

direct (gotta accept license first)
http://developer.intel.com/technolog...i/license2.htm

--------

xalan and xerces:
http://xml.apache.org/xalan-c/download.html

-------

Not sure how to make it work with libXcursor ? ... not sure how to make it work beyond the above stuff, it seems not to be able to find the headers for XCursor.

gargamel 01-16-2007 03:09 PM

Thanks for tracking this all down, H_TeXMeX_H!
I'll give it another go next week, as currently I just don't have the time for "experimenting". But I would appreciate if you would keep us up to date and report your experiences and progress. So will I, just not this week...

gargamel

H_TeXMeX_H 01-17-2007 10:40 PM

Here is what I get when I compile after installing many, if not all, of the dependencies:

Code:

Checking for environment: Determined linux.x86, OK.
Checking for kBuild: found, OK.
Checking for gcc: found version 3.4.6, OK.
Checking for as86: found version 0.16.17, OK.
Checking for bcc: found version 0.16.17, OK.
Checking for iasl: found version 20061109, OK.
Checking for xslt: found, OK.
Checking for xalan: found version 1.10.0, OK.
Checking for xerces: found version 2.7.0, OK.
Checking for libIDL: found version 0.8.6, OK.
Checking for uuid: found, OK.
Checking for pthread: found, OK.
Checking for zlib: found version 1.2.3, OK.
Checking for SDL: found version 1.2.11, OK.
Checking for Xcursor:
  Xcursor not found at -lXcursor or Xcursor headers not found
  Check the file configure.log for detailed error information.

the log (important part only):
Code:

***** Checking Xcursor *****
compiling the following source file:

#include <cstdio>
#include <X11/Xlib.h>
#include <X11/Xcursor/Xcursor.h>

extern "C" int main(void)
{
  XcursorImage *cursor = XcursorImageCreate (10, 10);
  XcursorImageDestroy(cursor);
  return 0;
}

using the following command line:
g++ -O -Wall -o .tmp_out .tmp_src.cc "-lXcursor"
/usr/lib/gcc/i486-slackware-linux/3.4.6/../../../../i486-slackware-linux/bin/ld: cannot find -lXcursor
collect2: ld returned 1 exit status

a few commands:
Code:

ls /usr/X11R6/include/X11
CallbackI.h
Composite.h
... (too long)
Xlib.h
XlibConf.h
Xlibint.h
Xlocale.h
... (long)
os.h
pixmaps
xpm.h
ls /usr/X11R6/include/X11/Xcursor
Xcursor.h


gargamel 01-18-2007 03:53 PM

I just this at the user forum for Virtual Box:

http://article.gmane.org/gmane.comp....box.general/65
Subject: How to adjust install.sh to make it work for Slackware

Of course, this is for the pre-packaged binary version, not for the open source version.

But maybe it makes sense to post the problem with Xcursor to that forum?

gargamel

H_TeXMeX_H 01-18-2007 04:36 PM

Quote:

Originally Posted by gargamel
But maybe it makes sense to post the problem with Xcursor to that forum?

Yeah, but then I have to subscribe.

And this happens quite often that people ask me ... "Wouldn't it be better if you posted this in the forum for __program_name_goes_here__ ?". My answer is always "Yeah, but then I would have to subscribe to A LOT of forums ... by my estimates, 30 -50 at least. That's just not practical :)"

gargamel 01-18-2007 05:05 PM

Quote:

Originally Posted by H_TeXMeX_H
Yeah, but then I have to subscribe.

And this happens quite often that people ask me ... "Wouldn't it be better if you posted this in the forum for __program_name_goes_here__ ?". My answer is always "Yeah, but then I would have to subscribe to A LOT of forums ... by my estimates, 30 -50 at least. That's just not practical :)"


Sorry, I wasn't clear here. My post wasn't meant to ask you to register for an additional forum and post there. I just wanted to know if you think it would make sense to post the problem, and in case you would say YES (and that's what I think you did with your last post) I would post the problem there, myself.

I am not the kind to "delegate" things I can do myself. ;-) I really appreciate, that you started to try getting Vbox running on Slackware, immediately after my initial post, and that you share your knowledge and observations with us.

I've already initiated the subscription procedure, but haven't received a confirmation mail with activation link.

Thanks again. As I said I'll not have much time to delve into this more deeply before next week. See you!

gargamel

H_TeXMeX_H 01-18-2007 06:17 PM

Quote:

Originally Posted by gargamel
I am not the kind to "delegate" things I can do myself. ;-) I really appreciate, that you started to try getting Vbox running on Slackware, immediately after my initial post, and that you share your knowledge and observations with us.

No problem, it's mostly because it looks like a neat program ... I might find some use for it too.

gargamel 01-20-2007 09:10 AM

Minor progress: I posted to the VirtualBox newsgroup, which is mirrored to the mailing list.
Let's hope for a quality reply.

gargamel

gargamel 01-20-2007 02:11 PM

Ok, I've started trying to compile from sources.

What irritates me is the following statement on the Intel download page for IASL (ACPI CA):

"Starting with Linux kernel 2.4, ACPI CA is in the Linux kernel."

I am running 2.6, and have the kernel sources installed. Why do I need to install this, then?

gargamel

H_TeXMeX_H 01-20-2007 06:11 PM

Quote:

Originally Posted by gargamel
Ok, I've started trying to compile from sources.

What irritates me is the following statement on the Intel download page for IASL (ACPI CA):

"Starting with Linux kernel 2.4, ACPI CA is in the Linux kernel."

I am running 2.6, and have the kernel sources installed. Why do I need to install this, then?

gargamel

Well, you're not really installing ACPI CA, you're installing "iasl, an ASL compiler/decompiler"
Quote:

iasl compiles ASL (ACPI Source Language) into AML (ACPI Machine
Language). This AML is suitable for inclusion as a DSDT in system
firmware. It also can disassemble AML, for debugging purposes.
I'm not sure if that's included in the Linux kernel, I'm betting not otherwise you probably wouldn't need to install it. It's more like a development package.

gargamel 01-20-2007 06:20 PM

Thanks for teaching me! ;-) I've re-read the instructions on the Intel side, and you are, of course, right.

Now, after struggling with building Xalan-C and making it visible to the Vbox configure script, I am now stuck at the very same point you had to stop earlier: Xcursor headers are not found. At least, that's what the error message says.

But I don't trust that message. I have extended my search PATH in each and every way, with no success. I've added the X11R6 paths as well as the (symlink) X11 paths to libraries, binaries and include files. Finally I tried to compile as root user (extending the PATH environment variable for that user, too), but even then I had no success.

What is a rude method, but helped with Xalan, doesn't help here. However, after trying all this and checking the permissions of all relevant files, I tend to think that the error message is misleading. Unfortunately I have no idea, what's *really* wrong.

Do you have a clue, or a suggestion how to track this down?

Thanks for your kind support!

gargamel

H_TeXMeX_H 01-20-2007 06:37 PM

Actually I found it.

You must symlink the following:

Code:

ln -s /usr/X11R6/lib/libXcursor.so /usr/lib/libXcursor.so
ln -s /usr/X11R6/lib/libXcursor.so /usr/lib/libXcursor.so.1
ln -s /usr/X11R6/lib/libXcursor.so /usr/lib/libXcursor.so.1.0.2
ln -s /usr/X11R6/lib/libXcursor.a /usr/lib/libXcursor.a

EDIT:
Well, actually it seems that you have to symlink everything in the /usr/X11R6/lib directory to /usr/lib. That doesn't seem like a sane thing to do. Maybe there's a better way ? Someone know a better way ? I know that /usr/X11R6/lib is in my /etc/ld.so.conf ... so it should check /usr/X11R6/lib for libraries ... why doesn't it ?

So basically from the place you are now you should do the following:

Code:

# symlink everything in /usr/lib to /usr/X11R6/lib, yes I know it's insane
cd /usr/lib
for i in /usr/X11R6/lib/*; do ln -s $i; done
# symlink qt
cd /usr
mkdir qt
cd qt
ln -s /usr/lib/qt-3.3.6 3

That's assuming you have X11R6 and qt-3.3.6

Following the rest of the instructions on the site seems to work just fine now.

gargamel 01-21-2007 07:41 AM

Hi, and thanks a lot.
./configure succeeded now.

Regarding the X11R6 symlink thing, here's a posting from
Chris Wolfe to the VirtualBox users newsgroup:

Quote:

Just ignore this if I'm off base but: PATH or LIBRARY_PATH? If your
system is like the one H_TeXMeX_H found a solution for (in the thread
you linked), a cleaner approach is:

LIBRARY_PATH=/usr/X11R6/lib ./configure

Don't have a modern Slackware box on hand to check, but gcc definitely
does not search the X11R6 directories by default.

Chris
It works that way, indeed, with X11R6, but for Qt it didn't work, so I symlinked that, as you suggested.
--EDIT
kmk all succeeded. But after doing

Code:

cd out/linux.x86/release/bin/src
make

I get

Code:

[...]
In file included from /home/alex/Apps/vbox/out/linux.x86/release/bin/src/include/VBox/types.h:25,
                from /home/alex/Apps/vbox/out/linux.x86/release/bin/src/SUPDRV.h:31,
                from /home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.c:26:
/home/alex/Apps/vbox/out/linux.x86/release/bin/src/include/iprt/types.h:33:22: stddef.h: No such file or directory
In file included from ./include/asm/system.h:5,
                from ./include/asm/processor.h:18,
                from ./include/asm/thread_info.h:17,
                from ./include/linux/thread_info.h:21,
                from ./include/linux/preempt.h:10,
                from ./include/linux/spinlock.h:50,
                from /home/alex/Apps/vbox/out/linux.x86/release/bin/src/SUPDRV.h:82,
                from /home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.c:26:
./include/linux/kernel.h:10:20: stdarg.h: No such file or directory
In file included from ./include/asm/system.h:5,
                from ./include/asm/processor.h:18,
                from ./include/asm/thread_info.h:17,
                from ./include/linux/thread_info.h:21,
                from ./include/linux/preempt.h:10,
                from ./include/linux/spinlock.h:50,
                from /home/alex/Apps/vbox/out/linux.x86/release/bin/src/SUPDRV.h:82,
                from /home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.c:26:
./include/linux/kernel.h:107: error: syntax error before "va_list"
./include/linux/kernel.h:111: error: syntax error before "va_list"
./include/linux/kernel.h:115: error: syntax error before "va_list"
./include/linux/kernel.h:120: error: syntax error before "va_list"
./include/linux/kernel.h:135: error: syntax error before "va_list"
/home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.c: In function `SUPR0Printf':
/home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.c:1432: error: `va_list' undeclared (first use in this function)
/home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.c:1432: error: (Each undeclared identifier is reported only once
/home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.c:1432: error: for each function it appears in.)
/home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.c:1432: error: syntax error before "args"
/home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.c:1435: warning: implicit declaration of function `va_start'
/home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.c:1435: error: `args' undeclared (first use in this function)
/home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.c:1439: warning: implicit declaration of function `va_end'
/home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.c: In function `AssertMsg2':
/home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.c:1464: error: `va_list' undeclared (first use in this function)
/home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.c:1464: error: syntax error before "ap"
/home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.c:1467: error: `ap' undeclared (first use in this function)
make[2]: *** [/home/alex/Apps/vbox/out/linux.x86/release/bin/src/linux/SUPDrv-linux.o] Error 1
make[1]: *** [_module_/home/alex/Apps/vbox/out/linux.x86/release/bin/src] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.17.13'
make: *** [vboxdrv] Error 2

Not sure, what's wrong here (may be due to the fact that I don't have a lot experience with C/C++ and GCC/g++ ...). I'd appreciate if you give me one more hint...

Hmm. Would you think the symlinks and LIBRARY_PATH extensions are needed for VirtualBox in order to run properly or only for compilation? [EDIT: Must be LIBRARY_PATH, not LD_LIBRARY_PATH]

Thanks a lot again!

gargamel

H_TeXMeX_H 01-21-2007 11:50 AM

Quote:

Just ignore this if I'm off base but: PATH or LIBRARY_PATH? If your
system is like the one H_TeXMeX_H found a solution for (in the thread
you linked), a cleaner approach is:

LIBRARY_PATH=/usr/X11R6/lib ./configure

Don't have a modern Slackware box on hand to check, but gcc definitely
does not search the X11R6 directories by default.

Chris
Ah, well that's much more sane.

As for your current problem:

Did you install the kernel sources for your kernel ? You must, because it is now trying to build a kernel module.

Quote:

Hmm. Would you think the symlinks and LD_LIBRARY_PATH extensions are needed for VirtualBox in order to run properly or only for compilation?
I think they might be, because they are libraries not headers.


All times are GMT -5. The time now is 10:39 PM.