VirtualBox

Ticket #473 (closed defect: wontfix)

Opened 7 years ago

Last modified 2 years ago

Cannot compile Feisty AMD64 (incompatible libXt.so)

Reported by: boltronics Owned by:
Priority: minor Component: other
Version: VirtualBox 1.4.0 Keywords: compile amd64 ubuntu libXt.so
Cc: Guest type: other
Host type: Linux

Description

Following the instructions ( http://virtualbox.org/wiki/Linux%20build%20instructions), compilation always fails on the AMD64 Feisty distribution (using a Intel C2D 2Ghz CPU). Subversion and source for 1.4.0 produce the same result.

abolte@sphinx:~/downloads/applications/virtualbox-ose-svn/vbox$ ./configure --with-gcc=/usr/bin/gcc-3.4 --with-g++=/usr/bin/g++-3.4
Checking for environment: Determined linux.amd64, OK.
Checking for kBuild: found, OK.
Checking for gcc: found version 3.4.6, OK.
Checking for as86: found version 0.16.14, OK.
Checking for bcc: found version 0.16.14, OK.
Checking for iasl: found version 20060912, OK.
Checking for xslt: found, OK.
Checking for pthread: 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.7, OK.
Checking for zlib: found version 1.2.3, OK.
Checking for SDL: found version 1.2.11, OK.
Checking for X libraries: found, OK.
Checking for Xcursor: found, OK.
Checking for Qt: found version 3.3.7, OK.
Checking for Qt devtools: found version 3.3.7, OK.
Checking for Linux kernel sources: found version 2.6.20, OK.
Checking for ALSA: found version 1.0.13, OK.
Checking for compiler.h: compiler.h not found, OK.
Checking for libhal: found version 0.5.8.1, OK.

Successfully generated 'AutoConfig.kmk' and 'env.sh'.
Source 'env.sh' once before you start to build VBox:

  source env.sh
  kmk

To compile the kernel module, do:

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

Enjoy!
abolte@sphinx:~/downloads/applications/virtualbox-ose-svn/vbox$ source env.sh
abolte@sphinx:~/downloads/applications/virtualbox-ose-svn/vbox$ kmk
...
kBuild: Linking vboxadd-xclient
/usr/bin/ld: skipping incompatible /usr/bin/../lib/libXt.so when searching for -lXt
/usr/bin/ld: skipping incompatible /usr/bin/../lib/libXt.a when searching for -lXt
/usr/bin/ld: skipping incompatible /usr/lib/libXt.so when searching for -lXt
/usr/bin/ld: skipping incompatible /usr/lib/libXt.a when searching for -lXt
/usr/bin/ld: cannot find -lXt
collect2: ld returned 1 exit status
kmk[5]: *** [/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/out/linux.amd64/release/obj/src/VBox/Additions/linux/xclient/vboxadd-xclient/vboxadd-xclient] Error 1
The failing command:
        @g++ -m32                   -o /home/abolte/downloads/applications/virtualbox-ose-svn/vbox/out/linux.amd64/release/obj/src/VBox/Additions/linux/xclient/vboxadd-xclient/vboxadd-xclient  /home/abolte/downloads/applications/virtualbox-ose-svn/vbox/out/linux.amd64/release/obj/src/VBox/Additions/linux/xclient/vboxadd-xclient/clipboard.o  -L/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/out/linux.amd64/release/obj/src/VBox/Additions/linux/xclient/vboxadd-xclient  -L/usr/X11R6/lib32  -L/usr/X11R6/lib   /home/abolte/downloads/applications/virtualbox-ose-svn/vbox/out/linux.amd64/release/lib/RuntimeLnx32GuestR3.a   -lpthread   -lrt   -lXt   -lX11 -Wl,-Map -Wl,/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/out/linux.amd64/release/obj/src/VBox/Additions/linux/xclient/vboxadd-xclient/vboxadd-xclient.map -Wl,--cref
kmk[5]: Leaving directory `/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/src/VBox/Additions/linux/xclient'
kmk[4]: *** [pass_binaries_before] Error 2
kmk[4]: Leaving directory `/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/src/VBox/Additions/linux'
kmk[3]: *** [pass_binaries_before] Error 2
kmk[3]: Leaving directory `/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/src/VBox/Additions'
kmk[2]: *** [pass_binaries_before] Error 2
kmk[2]: Leaving directory `/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/src/VBox'
kmk[1]: *** [pass_binaries_before] Error 2
kmk[1]: Leaving directory `/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/src'
kmk: *** [pass_binaries_before] Error 2
 abolte@sphinx:~/downloads/applications/virtualbox-ose-svn/vbox$ uname -a
Linux sphinx 2.6.20-16-generic #2 SMP Thu Jun 7 19:00:28 UTC 2007 x86_64 GNU/Linux
abolte@sphinx:~/downloads/applications/virtualbox-ose-svn/vbox$ 

Attachments

compile_output.log Download (9.8 KB) - added by boltronics 7 years ago.

Change History

Changed 7 years ago by boltronics

comment:1 Changed 7 years ago by boltronics

I have also tested without the --with-gcc/gxx options (which uses gcc version 4.1.2 by default). Although the build instructions mention not to use gcc4, the error when used is the same. Tested again on both SVN 3302 and 1.4.0.

comment:2 Changed 7 years ago by boltronics

Details regarding the incompatible version of libxt-dev used:

abolte@sphinx:~$ apt-cache show libxt-dev | head -n 16
Package: libxt-dev
Priority: optional
Section: libdevel
Installed-Size: 1500
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
Architecture: amd64
Source: libxt
Version: 1:1.0.5-1
Depends: libc6 (>= 2.5-0ubuntu1), libxt6 (= 1:1.0.5-1), libx11-dev, x11proto-core-dev, libsm-dev
Pre-Depends: x11-common (>= 1:7.0.0)
Filename: pool/main/libx/libxt/libxt-dev_1.0.5-1_amd64.deb
Size: 513060
MD5sum: 345c16e2a1b5c95bd8dee2b818fcb338
SHA1: ed055e4a6f228b680622fe01a944fa811f09102c
SHA256: 5a46cdd824c750257c00869bc4b0cccfbd95ebac5936c3383c9e8d61120e9fe4
abolte@sphinx:~$ 

comment:3 Changed 7 years ago by boltronics

Also tested with the --with-gcc=/usr/bin/gcc-3.3 and --with-gcc=/usr/bin/g++-3.3 options (which uses gcc 3.3.6 for Ubuntu). The errors (again the same for both 1.4.0 and SVN 3302) are:

kBuild: Linking RuntimeR3NoCRTGCC
kBuild: Installing RuntimeR3NoCRTGCC => /home/abolte/downloads/applications/virtualbox-ose-svn/vbox/out/linux.amd64/release/lib/RuntimeR3NoCRTGCC.a
kBuild: Compiling RuntimeR0Drv - misc/sanity-c.c
cc1: error: unrecognized option `-Wdeclaration-after-statement'
cc1: error: unrecognized option `-funit-at-a-time'
kmk[3]: *** [/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/out/linux.amd64/release/obj/src/VBox/Runtime/RuntimeR0Drv/misc/sanity-c.o] Error 1
The failing command:
        @/usr/bin/gcc-3.3 -c -O2 -nostdinc -iwithprefix include -Wall -Wstrict-prototypes -Wno-trigraphs   -O2  -fno-omit-frame-pointer -fno-strict-aliasing -fno-common -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-reorder-blocks -ffreestanding -fno-asynchronous-unwind-tables -funit-at-a-time -Wno-sign-compare -Wdeclaration-after-statement -Ir0drv/linux -I/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/src/VBox/Runtime -I/lib/modules/2.6.20-16-generic/build/include -I/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/include -I/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/out/linux.amd64/release -Iinclude -DVBOX -DVBOX_OSE -D__LINUX__ -D_FILE_OFFSET_BITS=64 -D__AMD64__ -D__KERNEL__ -DMODULE -DIN_RING0 -DIN_RT_R0 -DIN_RT_R0 -DRT_WITH_VBOX -DRT_WITHOUT_NOCRT_WRAPPERS -DMODULE -DKBUILD_MODNAME=KBUILD_STR\(vboxdrv\) -DKBUILD_BASENAME=KBUILD_STR\(vboxdrv\) -DIN_SUP_R0 -Wp,-MD,/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/out/linux.amd64/release/obj/src/VBox/Runtime/RuntimeR0Drv/misc/sanity-c.o.dep -Wp,-MT,/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/out/linux.amd64/release/obj/src/VBox/Runtime/RuntimeR0Drv/misc/sanity-c.o -Wp,-MP -o /home/abolte/downloads/applications/virtualbox-ose-svn/vbox/out/linux.amd64/release/obj/src/VBox/Runtime/RuntimeR0Drv/misc/sanity-c.o /home/abolte/downloads/applications/virtualbox-ose-svn/vbox/src/VBox/Runtime/misc/sanity-c.c
kmk[3]: Leaving directory `/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/src/VBox/Runtime'
kmk[2]: *** [pass_libraries_before] Error 2
kmk[2]: Leaving directory `/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/src/VBox'
kmk[1]: *** [pass_libraries_before] Error 2
kmk[1]: Leaving directory `/home/abolte/downloads/applications/virtualbox-ose-svn/vbox/src'
kmk: *** [pass_libraries_before] Error 2
abolte@sphinx:~/downloads/applications/virtualbox-ose-svn/vbox$ 

A different compilation error, but the gcc version should be compatible according to the build instructions ("3.2.3 or later").

comment:4 Changed 7 years ago by michael

As a workaround for the libXt problem, create a symlink from libXt.so.6.0.0 to libXt.so. You will have to do the same for libX11.so.

comment:5 Changed 7 years ago by frank

No! Please install the package ia32-libs. I will add an appropriate check to configure.

comment:6 Changed 7 years ago by boltronics

Howdy!

Some useful output:

abolte@sphinx:/usr/lib$ sudo apt-get install ia32-libs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ia32-libs is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
abolte@sphinx:/usr/lib$ apt-cache show ia32-libs | head -n 8
Package: ia32-libs
Priority: optional
Section: libs
Installed-Size: 47668
Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Bdale Garbee <bdale@gag.com>
Architecture: amd64
Version: 1.5ubuntu9
abolte@sphinx:/usr/lib$ ls -l libXt.so*
lrwxrwxrwx 1 root root     14 2007-04-25 10:41 libXt.so -> libXt.so.6.0.0
lrwxrwxrwx 1 root root     14 2007-04-21 13:58 libXt.so.6 -> libXt.so.6.0.0
-rw-r--r-- 1 root root 396376 2007-02-17 04:44 libXt.so.6.0.0
abolte@sphinx:/usr/lib$ cd ../lib32/
abolte@sphinx:/usr/lib32$ ls -l libXt.so*
lrwxrwxrwx 1 root root     14 2007-05-03 14:29 libXt.so.6 -> libXt.so.6.0.0
-rw-r--r-- 1 root root 326500 2007-02-17 04:42 libXt.so.6.0.0
abolte@sphinx:/usr/lib32$ 

So it sounds like the ia32-libs version is being used, but ia32-libs does not include the system link you expect. I'll add the system link in /usr/lib32 to libXt.so and see how I go. Thanks guys.

comment:7 Changed 7 years ago by boltronics

I also created a system link for libX11.so, and the thing compiled. Thanks again!

comment:8 Changed 7 years ago by frank

Michael is right, the link is mandatory. I have no idea why the ia32-libs package does not contain that link.

comment:9 Changed 7 years ago by sandervl73

  • Priority changed from blocker to minor

comment:10 Changed 6 years ago by sandervl73

  • Status changed from new to closed
  • Resolution set to fixed

comment:11 Changed 6 years ago by fernando

  • Status changed from closed to reopened
  • Resolution fixed deleted

I'm building VirtualBox-1.5.4_OSE in a Gutsy AMD64 and had the same problem. This ticket led me to the error (missing symlinks) and I've to add two of them manually to complet the build without errors:

root@<my_server>:/usr/lib32# ln -s libX11.so.6.2.0 libX11.so root@<my_server>:/usr/lib32# ln -s libXTrap.so.6.4.0 libXTrap.so

You're doing a good work - thanks!

Fernando

comment:12 Changed 6 years ago by fernando

Actually I forgot to mention two other necessary symlinks. Here's the complet list :

ln -s libX11.so.6.2.0 libX11.so

ln -s libXTrap.so.6.4.0 libXTrap.so

ln -s libXt.so.6.0.0 libXt.so

ln -s libXtst.so.6.1.0 libXtst.so

comment:13 Changed 6 years ago by bvassche

Creating the soft links mentioned above is a bad practice. There is a very good reason why shared objects have a version number suffix: this allows multiple binary incompatible shared objects to coexist on the same system. The problem is in the VirtualBox OSE makefiles: these makefiles should link on libX11.so.6 instead of libX11.so.

comment:14 Changed 6 years ago by frank

I don't agree. Every normal shared library for x86_64 on Ubuntu has these links installed. Linking is normally done with -lX11 and this works well if the link exists. And the version dependency for the library the link is pointing to is added by ld when doing this as well.

comment:15 Changed 6 years ago by frank

  • Host type changed from other to Linux

comment:16 Changed 2 years ago by frank

  • Status changed from reopened to closed
  • Resolution set to wontfix

Obsolete.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use