Build Virtualbox from source

Discussions related to using the OSE version of VirtualBox.
noteirak
Site Moderator
Posts: 5229
Joined: 13. Jan 2012, 11:14
Primary OS: Debian other
VBox Version: OSE Debian
Guest OSses: Debian, Win 2k8, Win 7
Contact:

Re: Build Virtualbox from source

Post by noteirak »

I saw your post and followed it, but as you saw, it wasn't working. Steps are missing or not documented for someone who's building it for the first time.
Also, I cannot edit or post there, so I will do my own post regardless.
Hyperbox - Virtual Infrastructure Manager - https://apps.kamax.lu/hyperbox/
Manage your VirtualBox infrastructure the free way!
noteirak
Site Moderator
Posts: 5229
Joined: 13. Jan 2012, 11:14
Primary OS: Debian other
VBox Version: OSE Debian
Guest OSses: Debian, Win 2k8, Win 7
Contact:

Re: Build Virtualbox from source

Post by noteirak »

Code: Select all

root@debian:~# strace -o strace.txt -f java -Dvbox.home=/root/vbox/out/linux.amd64/release/bin -cp vboxjxpcom.jar:sample.jar rrr
Exception in thread "main" java.lang.UnsatisfiedLinkError: no vboxjxpcom in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        at java.lang.System.loadLibrary(System.java:1028)
        at org.mozilla.xpcom.internal.JavaXPCOMMethods.registerJavaXPCOMMethods(JavaXPCOMMethods.java:66)
        at org.mozilla.xpcom.internal.MozillaImpl.initialize(MozillaImpl.java:48)
        at org.mozilla.xpcom.Mozilla.initialize(Mozilla.java:669)
        at org.virtualbox_4_3.VirtualBoxManager.createInstance(VirtualBoxManager.java:110)
        at rrr.main(rrr.java:6)
root@debian:~#

Code: Select all

root@debian:~# grep -i vboxjxpcom strace.txt
5340  execve("/usr/bin/java", ["java", "-Dvbox.home=/root/vbox/out/linux"..., "-cp", "vboxjxpcom.jar:sample.jar", "rrr"], [/* 24 vars */]) = 0
5340  execve("/usr/lib/jvm/jdk1.6.0_37-amd64/bin/java", ["java", "-Dvbox.home=/root/vbox/out/linux"..., "-cp", "vboxjxpcom.jar:sample.jar", "rrr"], [/* 25 vars */]) = 0
5341  lstat("/root/vboxjxpcom.jar", {st_mode=S_IFREG|0644, st_size=387021, ...}) = 0
5341  stat("/root/vboxjxpcom.jar", {st_mode=S_IFREG|0644, st_size=387021, ...}) = 0
5341  stat("/root/vboxjxpcom.jar", {st_mode=S_IFREG|0644, st_size=387021, ...}) = 0
5341  stat("/root/vboxjxpcom.jar", {st_mode=S_IFREG|0644, st_size=387021, ...}) = 0
5341  open("/root/vboxjxpcom.jar", O_RDONLY) = 4
5341  stat("/root/vbox/out/linux.amd64/release/bin/vboxjxpcom.jar", 0x7fe5e40b9650) = -1 ENOENT (No such file or directory)
5341  stat("/root/vboxjxpcom.jar", {st_mode=S_IFREG|0644, st_size=387021, ...}) = 0
5341  stat("/root/vboxjxpcom.jar", {st_mode=S_IFREG|0644, st_size=387021, ...}) = 0
5341  stat("/root/vbox/out/linux.amd64/release/bin/libvboxjxpcom.so", {st_mode=S_IFREG|0755, st_size=1219601, ...}) = 0
5341  lstat("/root/vbox/out/linux.amd64/release/bin/libvboxjxpcom.so", {st_mode=S_IFREG|0755, st_size=1219601, ...}) = 0
5341  open("/root/vbox/out/linux.amd64/release/bin/libvboxjxpcom.so", O_RDONLY) = 6
5341  open("/root/vbox/out/linux.amd64/release/bin/libvboxjxpcom.so", O_RDONLY|O_NONBLOCK) = 6
5341  stat("/usr/lib/jvm/jdk1.6.0_37-amd64/jre/lib/amd64/libvboxjxpcom.so",  <unfinished ...>
5341  stat("/usr/lib/jvm/jdk1.6.0_37-amd64/jre/lib/amd64/server/libvboxjxpcom.so", 0x7fe5e40b8c20) = -1 ENOENT (No such file or directory)
5341  stat("/usr/lib/jvm/jdk1.6.0_37-amd64/jre/lib/amd64/libvboxjxpcom.so", 0x7fe5e40b8c20) = -1 ENOENT (No such file or directory)
5341  stat("/usr/lib/jvm/jdk1.6.0_37-amd64/jre/../lib/amd64/libvboxjxpcom.so", 0x7fe5e40b8c20) = -1 ENOENT (No such file or directory)
5341  stat("/usr/java/packages/lib/amd64/libvboxjxpcom.so", 0x7fe5e40b8c20) = -1 ENOENT (No such file or directory)
5341  stat("/usr/lib64/libvboxjxpcom.so", 0x7fe5e40b8c20) = -1 ENOENT (No such file or directory)
5341  stat("/lib64/libvboxjxpcom.so", 0x7fe5e40b8c20) = -1 ENOENT (No such file or directory)
5341  stat("/lib/libvboxjxpcom.so", 0x7fe5e40b8c20) = -1 ENOENT (No such file or directory)
5341  stat("/usr/lib/libvboxjxpcom.so", 0x7fe5e40b8c20) = -1 ENOENT (No such file or directory)
root@debian:~#

Code: Select all

root@debian:~# find / -name libvboxjxpcom.so
/root/vbox/out/linux.amd64/release/obj/VBoxJXpcom/libvboxjxpcom.so
/root/vbox/out/linux.amd64/release/bin/libvboxjxpcom.so
root@debian:~#

Code: Select all

root@debian:~# find / -name vboxjxpcom.jar
/root/vbox/out/linux.amd64/release/obj/VBoxJXpcom-inst-jar/vboxjxpcom.jar
/root/vbox/out/linux.amd64/release/bin/sdk/bindings/xpcom/java/vboxjxpcom.jar
/root/vboxjxpcom.jar
root@debian:~#
Any ideas?
Hyperbox - Virtual Infrastructure Manager - https://apps.kamax.lu/hyperbox/
Manage your VirtualBox infrastructure the free way!
Perryg
Site Moderator
Posts: 34369
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: Build Virtualbox from source

Post by Perryg »

What are you doing in root?
noteirak
Site Moderator
Posts: 5229
Joined: 13. Jan 2012, 11:14
Primary OS: Debian other
VBox Version: OSE Debian
Guest OSses: Debian, Win 2k8, Win 7
Contact:

Re: Build Virtualbox from source

Post by noteirak »

Trying to make this work without having to worry about any permissions issues and not being frustrated of forgetting sudo every 3 commands.
Hyperbox - Virtual Infrastructure Manager - https://apps.kamax.lu/hyperbox/
Manage your VirtualBox infrastructure the free way!
Perryg
Site Moderator
Posts: 34369
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: Build Virtualbox from source

Post by Perryg »

Well not a good idea from any concept, but I have seen it cause a lot of other issues. sudo isn't even needed until you get to make install. Open another terminal to install from and use sudo -i to keep elevated while the terminal is active. The build environment should be a normal user as well and not on root. You can create a build directory and chown it or create one in your user space.
noteirak
Site Moderator
Posts: 5229
Joined: 13. Jan 2012, 11:14
Primary OS: Debian other
VBox Version: OSE Debian
Guest OSses: Debian, Win 2k8, Win 7
Contact:

Re: Build Virtualbox from source

Post by noteirak »

Ok, I'm gonna try with a regular user then. Time for another build...
Hyperbox - Virtual Infrastructure Manager - https://apps.kamax.lu/hyperbox/
Manage your VirtualBox infrastructure the free way!
noteirak
Site Moderator
Posts: 5229
Joined: 13. Jan 2012, 11:14
Primary OS: Debian other
VBox Version: OSE Debian
Guest OSses: Debian, Win 2k8, Win 7
Contact:

Re: Build Virtualbox from source

Post by noteirak »

Code: Select all

noteirak@debian:~$ strace -o strace.txt -f java -Dvbox.home=/home/noteirak/vbox/out/linux.amd64/release/bin -cp vboxjxpcom.jar:sample.jar rrr
Exception in thread "main" java.lang.UnsatisfiedLinkError: no vboxjxpcom in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        at java.lang.System.loadLibrary(System.java:1028)
        at org.mozilla.xpcom.internal.JavaXPCOMMethods.registerJavaXPCOMMethods(JavaXPCOMMethods.java:66)
        at org.mozilla.xpcom.internal.MozillaImpl.initialize(MozillaImpl.java:48)
        at org.mozilla.xpcom.Mozilla.initialize(Mozilla.java:669)
        at org.virtualbox_4_3.VirtualBoxManager.createInstance(VirtualBoxManager.java:110)
        at rrr.main(rrr.java:6)
noteirak@debian:~$

Code: Select all

noteirak@debian:~$ grep -i vboxjxpcom strace.txt
17245 execve("/usr/bin/java", ["java", "-Dvbox.home=/home/noteirak/vbox/"..., "-cp", "vboxjxpcom.jar:sample.jar", "rrr"], [/* 26 vars */]) = 0
17245 execve("/usr/lib/jvm/jdk1.6.0_37-amd64/bin/java", ["java", "-Dvbox.home=/home/noteirak/vbox/"..., "-cp", "vboxjxpcom.jar:sample.jar", "rrr"], [/* 27 vars */]) = 0
17246 lstat("/home/noteirak/vboxjxpcom.jar", {st_mode=S_IFREG|0644, st_size=387021, ...}) = 0
17246 stat("/home/noteirak/vboxjxpcom.jar", {st_mode=S_IFREG|0644, st_size=387021, ...}) = 0
17246 stat("/home/noteirak/vboxjxpcom.jar", {st_mode=S_IFREG|0644, st_size=387021, ...}) = 0
17246 stat("/home/noteirak/vboxjxpcom.jar", {st_mode=S_IFREG|0644, st_size=387021, ...}) = 0
17246 open("/home/noteirak/vboxjxpcom.jar", O_RDONLY) = 4
17246 stat("/home/noteirak/vbox/out/linux.amd64/release/bin/vboxjxpcom.jar",  <unfinished ...>
17246 stat("/home/noteirak/vboxjxpcom.jar", {st_mode=S_IFREG|0644, st_size=387021, ...}) = 0
17246 stat("/home/noteirak/vboxjxpcom.jar", {st_mode=S_IFREG|0644, st_size=387021, ...}) = 0
17246 stat("/home/noteirak/vbox/out/linux.amd64/release/bin/libvboxjxpcom.so", {st_mode=S_IFREG|0755, st_size=1220561, ...}) = 0
17246 lstat("/home/noteirak/vbox/out/linux.amd64/release/bin/libvboxjxpcom.so", {st_mode=S_IFREG|0755, st_size=1220561, ...}) = 0
17246 open("/home/noteirak/vbox/out/linux.amd64/release/bin/libvboxjxpcom.so", O_RDONLY) = 6
17246 open("/home/noteirak/vbox/out/linux.amd64/release/bin/libvboxjxpcom.so", O_RDONLY|O_NONBLOCK) = 6
17246 stat("/usr/lib/jvm/jdk1.6.0_37-amd64/jre/lib/amd64/libvboxjxpcom.so", 0x7f4a54f2ec20) = -1 ENOENT (No such file or directory)
17246 stat("/usr/lib/jvm/jdk1.6.0_37-amd64/jre/lib/amd64/server/libvboxjxpcom.so", 0x7f4a54f2ec20) = -1 ENOENT (No such file or directory)
17246 stat("/usr/lib/jvm/jdk1.6.0_37-amd64/jre/lib/amd64/libvboxjxpcom.so", 0x7f4a54f2ec20) = -1 ENOENT (No such file or directory)
17246 stat("/usr/lib/jvm/jdk1.6.0_37-amd64/jre/../lib/amd64/libvboxjxpcom.so", 0x7f4a54f2ec20) = -1 ENOENT (No such file or directory)
17246 stat("/usr/java/packages/lib/amd64/libvboxjxpcom.so", 0x7f4a54f2ec20) = -1 ENOENT (No such file or directory)
17246 stat("/usr/lib64/libvboxjxpcom.so", 0x7f4a54f2ec20) = -1 ENOENT (No such file or directory)
17246 stat("/lib64/libvboxjxpcom.so", 0x7f4a54f2ec20) = -1 ENOENT (No such file or directory)
17246 stat("/lib/libvboxjxpcom.so", 0x7f4a54f2ec20) = -1 ENOENT (No such file or directory)
17246 stat("/usr/lib/libvboxjxpcom.so", 0x7f4a54f2ec20) = -1 ENOENT (No such file or directory)
noteirak@debian:~$
No improvement. The SVN was checked out and the build were both done under the user without using sudo or root.
Both files are found but still not recognized.
Hyperbox - Virtual Infrastructure Manager - https://apps.kamax.lu/hyperbox/
Manage your VirtualBox infrastructure the free way!
Perryg
Site Moderator
Posts: 34369
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: Build Virtualbox from source

Post by Perryg »

So do the builds complete without errors and installed?
Is this the issue that you were trying to determine if it worked or not?
noteirak
Site Moderator
Posts: 5229
Joined: 13. Jan 2012, 11:14
Primary OS: Debian other
VBox Version: OSE Debian
Guest OSses: Debian, Win 2k8, Win 7
Contact:

Re: Build Virtualbox from source

Post by noteirak »

The build complete yes, everything is there and I can use the different front-ends.

This issue is not the one, it is after.
For this one, it only happens when the xpcom .so lib is not found or not in the path, which it is in this case, you can see in the strace log.
But possible some other .so or vbox files are required, and not found. The executables are not copied into /usr/lib/virtualbox, which normaly are. But everything else is the same.

I am currently doing a hardened build, maybe more luck...
Hyperbox - Virtual Infrastructure Manager - https://apps.kamax.lu/hyperbox/
Manage your VirtualBox infrastructure the free way!
Perryg
Site Moderator
Posts: 34369
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: Build Virtualbox from source

Post by Perryg »

It should be hardened and installed. If you don't specify the following in LocalConfig.kmk your build will be installed in /opt

Code: Select all

# required for VBOX_WITH_RUNPATH
VBOX_WITH_ORIGIN           :=

VBOX_DOCBOOK_WITH_LATEX    := 1
KBUILD_MSG_STYLE           := brief
VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib/virtualbox
VBOX_PATH_SHARED_LIBS      := $(VBOX_PATH_APP_PRIVATE_ARCH)
VBOX_WITH_RUNPATH          := $(VBOX_PATH_APP_PRIVATE_ARCH)
VBOX_PATH_APP_PRIVATE      := /usr/share/virtualbox
VBOX_PATH_APP_DOCS          = $(VBOX_PATH_PACKAGE_DOCS)
noteirak
Site Moderator
Posts: 5229
Joined: 13. Jan 2012, 11:14
Primary OS: Debian other
VBox Version: OSE Debian
Guest OSses: Debian, Win 2k8, Win 7
Contact:

Re: Build Virtualbox from source

Post by noteirak »

Thank you, I've added these already, looking at the master build instructions.
At the moment, it is building, I will let you know if there is improvement as soon as it's done & installed, not too long from now.
Hyperbox - Virtual Infrastructure Manager - https://apps.kamax.lu/hyperbox/
Manage your VirtualBox infrastructure the free way!
noteirak
Site Moderator
Posts: 5229
Joined: 13. Jan 2012, 11:14
Primary OS: Debian other
VBox Version: OSE Debian
Guest OSses: Debian, Win 2k8, Win 7
Contact:

Re: Build Virtualbox from source

Post by noteirak »

Code: Select all

noteirak@debian:~/vbox/src/VBox$ kmk packing
/home/noteirak/vbox/src/VBox/Main/webservice/Makefile.kmk:105: VBOX_PATH_GSOAP not found...
... <lots of compiling lines> ...
kmk: *** No rule to make target `/home/noteirak/vbox/out/linux.amd64/release/bin/vboxwebsrv', needed by `/home/noteirak/vbox/out/linux.amd64/release/obj/Installer/linux/archive/vboxwebsrv'.  Stop.
kmk: *** Waiting for unfinished jobs....
kmk: *** Exiting with status 2
Mmmm SOAP :) This will never end :(
Hyperbox - Virtual Infrastructure Manager - https://apps.kamax.lu/hyperbox/
Manage your VirtualBox infrastructure the free way!
Perryg
Site Moderator
Posts: 34369
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: Build Virtualbox from source

Post by Perryg »

Yes and is listed in the build instructions I sent you. You could have cp/pasted in a terminal and then added the two extra I told you about.
noteirak
Site Moderator
Posts: 5229
Joined: 13. Jan 2012, 11:14
Primary OS: Debian other
VBox Version: OSE Debian
Guest OSses: Debian, Win 2k8, Win 7
Contact:

Re: Build Virtualbox from source

Post by noteirak »

I already did that... I've tried your instructions and copied/paste everything, one line at the time when the step was finished but it never worked, and this is the further I got.
I am trying to put back together the missing steps here. So which lib should I get for SOAP? and do I have to rebuild the whole after?
Hyperbox - Virtual Infrastructure Manager - https://apps.kamax.lu/hyperbox/
Manage your VirtualBox infrastructure the free way!
Perryg
Site Moderator
Posts: 34369
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: Build Virtualbox from source

Post by Perryg »

gsoap

You should have selected all of the packages at once. I use that to install from all the time and created the list to do just that. No cr, just wrapped text.
Post Reply