VirtualBox

Opened 15 years ago

Closed 15 years ago

#3919 closed defect (fixed)

FreeBSD: Linking VBoxSDLHardened undefined reference to `RTStrPrintf' => fixed in svn

Reported by: Bernhard Fröhlich Owned by:
Component: other Version: VirtualBox 2.2.2
Keywords: FreeBSD VBoxSDLHardened Cc:
Guest type: other Host type: other

Description

Linking VBoxSDLHardened fails on FreeBSD because of an undefined reference to `RTStrPrintf' from src/VBox/HostDrivers/Support/freebsd/SUPLib-freebsd.cpp:88

kBuild: Linking tstInt
kBuild: Linking tstLow
kBuild: Linking tstPin
kBuild: Linking tstGIP-2
kBuild: Linking tstGetPagingMode
kBuild: Linking tstShflSizes
kBuild: Linking tstShflCase
kBuild: Linking tstGuestPropSvc
kBuild: Linking VBoxManage
kBuild: Linking VBoxSDLHardened
/usr/home/decke/.workspace/blueports/blueports/emulators/virtualbox/work/virtualbox-2.2.1r19283/out/freebsd.amd64/release/lib/SUPR3HardenedStatic.a(SUPLib-freebsd.o)(.text+0x65): In function `kBuild: Linking tstSDL
suplibOsInit':
/usr/home/decke/.workspace/blueports/blueports/emulators/virtualbox/work/virtualbox-2.2.1r19283/src/VBox/HostDrivers/Support/freebsd/SUPLib-freebsd.cpp:88: undefined reference to `RTStrPrintf'
kmk[2]: *** [/usr/home/decke/.workspace/blueports/blueports/emulators/virtualbox/work/virtualbox-2.2.1r19283/out/freebsd.amd64/release/obj/VBoxSDLHardened/VBoxSDL] Error 1
The failing command:
@g++                  -m64   -o /usr/home/decke/.workspace/blueports/blueports/emulators/virtualbox/work/virtualbox-2.2.1r19283/out/freebsd.amd64/release/obj/VBoxSDLHardened/VBoxSDL /usr/home/decke/.workspace/blueports/blueports/emulators/virtualbox/work/virtualbox-2.2.1r19283/out/freebsd.amd64/release/obj/VBoxSDLHardened/VBoxSDLHardened.o   -L/usr/lib  -L/usr/local/lib   /usr/home/decke/.workspace/blueports/blueports/emulators/virtualbox/work/virtualbox-2.2.1r19283/out/freebsd.amd64/release/lib/SUPR3HardenedStatic.a   -lpthread 
kmk[2]: *** Waiting for unfinished jobs....
kmk[2]: Leaving directory `/usr/home/decke/.workspace/blueports/blueports/emulators/virtualbox/work/virtualbox-2.2.1r19283'
kmk[2]: Entering directory `/usr/home/decke/.workspace/blueports/blueports/emulators/virtualbox/work/virtualbox-2.2.1r19283'
kmk[2]: *** Exiting with status 2
kmk[1]: *** [pass_binaries_this] Error 2
kmk[1]: Leaving directory `/usr/home/decke/.workspace/blueports/blueports/emulators/virtualbox/work/virtualbox-2.2.1r19283'
kmk: *** [pass_binaries_order] Error 2
*** Error code 2

Stop in /usr/home/decke/.workspace/blueports/blueports/emulators/virtualbox.

Change History (3)

comment:1 by aeichner, 15 years ago

Can you try if passing --disable-hardening to configure and rebuilding works? I didn't tested hardened builds so far because it makes debugging much more difficult.

comment:2 by Frank Mehnert, 15 years ago

Alexander, the problem is indeed related to hardening. Neither RTStrPrintf() nor any other Runtime function must not be used at this place as this piece of software is used in the SUID root stub as well and we don't have the Runtime available at this point.

comment:3 by aeichner, 15 years ago

Resolution: fixed
Status: newclosed
Summary: FreeBSD: Linking VBoxSDLHardened undefined reference to `RTStrPrintf'FreeBSD: Linking VBoxSDLHardened undefined reference to `RTStrPrintf' => fixed in svn

Fixed in svn. Replaced RTStrPrintf with snprintf. VirtualBox builds now with the hardened option. The fix should appear in the public svn soon.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use