Page 2 of 5

Re: Build Virtualbox from source

Posted: 25. Nov 2012, 01:04
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.

Re: Build Virtualbox from source

Posted: 25. Nov 2012, 01:19
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?

Re: Build Virtualbox from source

Posted: 25. Nov 2012, 01:24
by Perryg
What are you doing in root?

Re: Build Virtualbox from source

Posted: 25. Nov 2012, 01:27
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.

Re: Build Virtualbox from source

Posted: 25. Nov 2012, 01:42
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.

Re: Build Virtualbox from source

Posted: 25. Nov 2012, 01:44
by noteirak
Ok, I'm gonna try with a regular user then. Time for another build...

Re: Build Virtualbox from source

Posted: 25. Nov 2012, 02:06
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.

Re: Build Virtualbox from source

Posted: 25. Nov 2012, 02:17
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?

Re: Build Virtualbox from source

Posted: 25. Nov 2012, 02:34
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...

Re: Build Virtualbox from source

Posted: 25. Nov 2012, 02:42
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)

Re: Build Virtualbox from source

Posted: 25. Nov 2012, 02:47
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.

Re: Build Virtualbox from source

Posted: 25. Nov 2012, 02:56
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 :(

Re: Build Virtualbox from source

Posted: 25. Nov 2012, 03:11
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.

Re: Build Virtualbox from source

Posted: 25. Nov 2012, 03:14
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?

Re: Build Virtualbox from source

Posted: 25. Nov 2012, 03:17
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.