Page 1 of 1

Unable to build VirtualBox on Ubuntu 7.10

Posted: 21. Dec 2008, 22:03
by the[V]oid
I have been trying the whole day to get VirtualBox up and running. First I tried out the binaries from the ubuntu repositories: I installed the packages named virtualbox-ose and virtualbox-ose-modules-2.6.22-14-generic. But I wasn't able to load the kernel module:

Code: Select all

user@host # sudo modprobe vboxdrv
FATAL: Module vboxdrv not found.
However, I wasn't very surprised that this didn't work, because it seems like I am using kernel version 2.6.22-15:

Code: Select all

user@host # uname -a
Linux leningrad 2.6.22-15-generic #1 SMP Tue Oct 21 23:47:12 GMT 2008 i686 GNU/Linux
There is no kernel module for this kernel version in the ubuntu repositories. So I decided to build VirtualBox on my own while using a guideline from the german ubuntu wiki. While following the instructions I always stucked at a point where the build procedure fails with an error, that, as far as I can tell, is produced by the linker:

Code: Select all

user@host # fakeroot debian/rules binary
dh_testdir
. debian/env.sh && kmk -C /tmp/VirtualBox-2.1.0 --no-print-directory   \
             \
            AUTOCFG=/tmp/VirtualBox-2.1.0/debian/AutoConfig.kmk \
            LOCALCFG=/tmp/VirtualBox-2.1.0/debian/LocalConfig.kmk \
            PATH_OUT=/tmp/VirtualBox-2.1.0/debian/builddir \
            VBOX_DO_STRIP= VBOX_DO_STRIP_MODULES= \
            VBOX_PATH_PACKAGE_DOCS="\"/usr/share/doc/virtualbox-ose\"" \
            all
kmk[2]: Nothing to be done for `pass_bldprogs_doit'.
kmk[2]: Nothing to be done for `pass_libraries'.
kmk[2]: Nothing to be done for `pass_libraries_doit'.
kmk[2]: Nothing to be done for `pass_dlls_doit'.
  LD      VBoxSVC
  CXX     tstVMStructSize - {C}/src/VBox/VMM/testcase/tstVMStructSize.cpp
/tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/linux/HostHardwareLinux.o: In function `std::vector<VBoxMainUSBDeviceInfo::USBDeviceInfo, std::allocator<VBoxMainUSBDeviceInfo::USBDeviceInfo> >::push_back(VBoxMainUSBDeviceInfo::USBDeviceInfo const&)':
/tmp/VirtualBox-2.1.0/src/VBox/Main/include/HostHardwareLinux.h:131: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
/tmp/VirtualBox-2.1.0/src/VBox/Main/include/HostHardwareLinux.h:131: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
/tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/linux/HostHardwareLinux.o: In function `_Destroy<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >':
/usr/include/c++/4.1.3/bits/stl_construct.h:107: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
/tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/linux/HostHardwareLinux.o: In function `std::vector<VBoxMainDriveInfo::DriveInfo, std::allocator<VBoxMainDriveInfo::DriveInfo> >::push_back(VBoxMainDriveInfo::DriveInfo const&)':
/tmp/VirtualBox-2.1.0/src/VBox/Main/include/HostHardwareLinux.h:48: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
/tmp/VirtualBox-2.1.0/src/VBox/Main/include/HostHardwareLinux.h:48: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
/tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/linux/HostHardwareLinux.o:/tmp/VirtualBox-2.1.0/src/VBox/Main/include/HostHardwareLinux.h:131: more undefined references to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' follow
/usr/bin/ld: /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/VBoxSVC: hidden symbol `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' isn't defined
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1
kmk[2]: *** [/tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/VBoxSVC] Error 1
The failing command:
@g++               '-Wl,-rpath,/usr/lib/virtualbox'  -Wl,--as-needed -m32   -o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/VBoxSVC /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/Global.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/Logging.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/AutoLock.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/Matching.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/VirtualBoxBase.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/VirtualBoxErrorInfoImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/VirtualBoxImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/VirtualBoxImplExtra.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/MachineImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/SnapshotImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/MediumImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/HardDisk2Impl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/HardDiskAttachmentImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/HardDiskFormatImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/ProgressImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/DVDDriveImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/FloppyDriveImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/HostImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/HostDVDDriveImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/HostFloppyDriveImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/HostNetworkInterfaceImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/GuestOSTypeImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/NetworkAdapterImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/SerialPortImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/ParallelPortImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/USBControllerImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/SATAControllerImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/AudioAdapterImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/SharedFolderImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/SystemPropertiesImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/BIOSSettingsImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/Version.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/HostPower.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/xpcom/server.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/gen/Main/SchemaDefs.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/PerformanceImpl.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/Performance.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/linux/HostHardwareLinux.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/linux/vbox-dbus.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/linux/PerformanceLinux.o /tmp/VirtualBox-2.1.0/debian/builddir/obj/VBoxSVC/linux/NetIfList-linux.o     /tmp/VirtualBox-2.1.0/debian/builddir/bin/VBoxDDU.so   /tmp/VirtualBox-2.1.0/debian/builddir/bin/VBoxSettings.so   -lpthread   -lm   -lrt   /tmp/VirtualBox-2.1.0/debian/builddir/bin/VBoxRT.so   /tmp/VirtualBox-2.1.0/debian/builddir/lib/VBoxCOM.a   /tmp/VirtualBox-2.1.0/debian/builddir/bin/VBoxXPCOM.so 
kmk[2]: *** Waiting for unfinished jobs....
kmk[1]: *** [pass_binaries_this] Error 2
kmk: *** [pass_binaries_order] Error 2
make: *** [debian/build-stamp] Fehler 2
I don't get the point of this error. I've tried this whole thing with sources from SVN as well as with sources from the download section (2.1.0).

Please help!
Many thanks in advance.

Posted: 22. Dec 2008, 00:13
by Sasquatch
Did you also try to follow the build instructions found on the webpage? See http://www.virtualbox.org/wiki/Build_instructions for them.

Didn't you consider to use the PUEL version instead? It has some more features too, like USB support.

Posted: 22. Dec 2008, 01:12
by the[V]oid
Yes, I also tried that and it didn't work either. Doesn't metter, by now I've had success with the Ubuntu 7.10 binary from the download section. I simply missed it previously.