Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 05 Jun 2012 15:14:35 +0200
From:      Bernhard Froehlich <decke@FreeBSD.org>
To:        David Morgan <david.morgan@gmail.com>
Cc:        freebsd-emulation@freebsd.org
Subject:   Re: virtualbox-ose-additions broken?
Message-ID:  <0b99207bd9e96c80b84555e883130440@bluelife.at>
In-Reply-To: <b3c745cb4a692a287ca4035b2caa2586@bluelife.at>
References:  <4FCD2657.4030106@pcbsd.org> "<1338874647.15905.2.camel@Nokia-N900-42-11>" <4FCDB195.5010009@FreeBSD.org> <20120605084433.GD909@tomaw.net> <b5002e1e29bae2e764f7d0b40f9a0126@bluelife.at> <b3c745cb4a692a287ca4035b2caa2586@bluelife.at>

next in thread | previous in thread | raw e-mail | index | archive | help
The bug was just fixed by des in HEAD in r236614 [1]. I've created
a patch for 9-STABLE that includes r236177 and r236614 which should
fix the virtualbox-ose-additions compile error.

http://home.bluelife.at/patches/libsupcpp-fix-new-operator-9-STABLE.diff

Feedback would be welcome.

[1] http://svnweb.freebsd.org/base?view=revision&revision=236614

-- 
Bernhard Froehlich
http://www.bluelife.at/


On 05.06.2012 12:56, Bernhard Froehlich wrote:
> We have such an output from 10-current/amd64 now.
>
> http://pastebin.com/cVd8ryxG
>
> It seems that those 5 symbols are missing for amd64:
>
> 00000000000090d0 t _Znam
> 00000000000090b0 t _ZnamRKSt9nothrow_t
> 0000000000009220 t _Znwm
> 00000000000093f0 t _ZnwmPv
> 0000000000009110 t _ZnwmRKSt9nothrow_t
>
> Add them to Version.map like in r236177 and recompile
> libsupc++ or world and try again rebuilding vbox
> additions:
>
> 
> http://svnweb.freebsd.org/base/head/gnu/lib/libsupc%2B%2B/Version.map?r1=236177&r2=236176&pathrev=236177
>
> --
> Bernhard Froehlich
> http://www.bluelife.at/
>
>
>
> On 05.06.2012 12:06, Bernhard Froehlich wrote:
>> That was a good hint! It seems the newly added libsupc++ causes
>> that problems because until very recently the new operator symbols
>> were not included. They have been added on current as of r236177
>>
>> http://svnweb.freebsd.org/base?view=revision&revision=236177
>>
>> On 9-STABLE the situation is that libstdc++/libsupc++ was already
>> MFCd but that fix from head for thew new operator wasn't yet. So
>> it currently fails on 9-STABLE. According to David that fix for
>> the new operator also seems to have no affect on amd64 so the
>> symbols probably have a different name there.
>>
>> I've already talked to DES about that and we need some nm output
>> of latest libsupc++ on HEAD / amd64 to find the symbol names
>> and add them to the map. So who can provide the nm output?
>>
>>
>> --
>> Bernhard Froehlich
>> http://www.bluelife.at/
>>
>>
>> On 05.06.2012 10:44, David Morgan wrote:
>>> On 10:13 Tue 05 Jun     , Andriy Gapon wrote:
>>>> on 05/06/2012 08:37 Bernhard Fröhlich said the following:
>>>> > Shit. I have only seen that compile errors on head yet but was 
>>>> unable to find out what caused it. It seems it was MFCd now. Any 
>>>> hints are very appreciated.
>>>>
>>>> It looks like a C compiler (cc) is used to link C++ code.
>>>> I think that adding -lstdc++ may fix the problem, but a better 
>>>> solution would be
>>>> to use c++  instead of cc.
>>>>
>>>
>>> That's correct - re-running the failing command with gcc gives the 
>>> same
>>> error, with g++ it succeeds. If I recall correctly adding -lstdc++
>>> doesn't fix it.
>>>
>>> A change was made to Version.map for libsupc++ recently, which
>>> apparently made this compile correctly on i386, but didn't solve 
>>> the
>>> problem for me on amd64.
>>>
>>>
>>>> > Creating a PR is probably worthless as I am usually the only one 
>>>> that looks at them. emulation@ covers a wider audience of people 
>>>> that care about vbox and are able to debug and fix bugs. Thanks for 
>>>> the report and getting my attention!
>>>> >
>>>> >
>>>> > On Mo.,   4. Jun. 2012 23:19:19 CEST, Kris Moore 
>>>> <kris@pcbsd.org> wrote:
>>>> >
>>>> >> Before I file a PR, is anybody else experiencing this with the 
>>>> latest VB
>>>> >> on 9-STABLE?
>>>> >>
>>>> >> -------------------------
>>>> >>
>>>> >> kBuild: Linking VBoxClient
>>>> >> kBuild: Pass - Other Stuff
>>>> >> kBuild: Pass - Staging
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/clipboard.o:
>>>> >> In function `VBoxClient::GetClipboardService()':
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/clipboard.cpp:305:
>>>> >> undefined reference to `operator new(unsigned long)'
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/clipboard.o:
>>>> >> In function `~Service':
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/VBoxClient.h:38:
>>>> >> undefined reference to `operator delete(void*)'
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/clipboard.o:
>>>> >> In function `~ClipboardService':
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/clipboard.cpp:282:
>>>> >> undefined reference to `operator delete(void*)'
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/seamless.o:
>>>> >> In function `VBoxClient::GetSeamlessService()':
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/seamless.cpp:58:
>>>> >> undefined reference to `operator new(unsigned long)'
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/seamless.o:
>>>> >> In function `~VBoxGuestThreadFunction':
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/thread.h:33:
>>>> >> undefined reference to `operator delete(void*)'
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/seamless.o:
>>>> >> In function `~VBoxGuestSeamlessObserver':
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/seamless-glue.h:26:
>>>> >> undefined reference to `operator delete(void*)'
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/seamless.o:
>>>> >> In function `VBoxGuestWinCleanup(VBoxGuestWinInfo*, void*)':
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/seamless-x11.h:81:
>>>> >> undefined reference to `operator delete(void*)'
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/seamless.o:
>>>> >> In function `~VBoxGuestSeamlessGuestThread':
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/seamless.h:46:
>>>> >> undefined reference to `operator delete(void*)'
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/seamless.o:
>>>> >> In function `~VBoxGuestSeamlessGuestObserver':
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/seamless.h:111:
>>>> >> undefined reference to `operator delete(void*)'
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/seamless.o:/usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/seamless.h:79
>>>> >> : more undefined references to `operator delete(void*)' follow
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/seamless-x11.o:
>>>> >> In function `VBoxGuestWindowList::addWindow(unsigned long, 
>>>> bool, int,
>>>> >> int, int, int, int, XRectangle*)':
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/seamless-x11.h:135:
>>>> >> undefined reference to `operator new(unsigned long)'
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/seamless-x11.h:135:
>>>> >> undefined reference to `operator new(unsigned long)'
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/display.o:
>>>> >> In function `VBoxClient::GetDisplayService()':
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/display.cpp:243:
>>>> >> undefined reference to `operator new(unsigned long)'
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/display.o:
>>>> >> In function `~DisplayService':
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/display.cpp:218:
>>>> >> undefined reference to `operator delete(void*)'
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/hostversion.o:
>>>> >> In function `VBoxClient::GetHostVersionService()':
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/hostversion.cpp:211:
>>>> >> undefined reference to `operator new(unsigned long)'
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/hostversion.o:
>>>> >> In function `~HostVersionService':
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/src/VBox/Additions/x11/VBoxClient/hostversion.cpp:35:
>>>> >> undefined reference to `operator delete(void*)'
>>>> >> kmk: ***
>>>> >> 
>>>> [/usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/VBoxClient]
>>>> >> Error 1
>>>> >> The failing command:
>>>> >> @cc                                   -m64     -o
>>>> ^^^^^^^^
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/VBoxClient
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd6
>>>> >> 4/release/obj/VBoxClient/main.o
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/src/VBox/GuestHost/SharedClipboard/clipboard-helper.o
>>>> >> /usr/ports/emulators/virtualbox-ose-addit
>>>> >> 
>>>> ions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/src/VBox/GuestHost/SharedClipboard/x11-clipboard.o
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/clipboa
>>>> >> rd.o
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/seamless.o
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/s
>>>> >> eamless-host.o
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/seamless-x11.o
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/ob
>>>> >> j/VBoxClient/thread.o
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/obj/VBoxClient/display.o
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/
>>>> >> obj/VBoxClient/hostversion.o     -L/usr/X11R6/lib32   
>>>> -L/usr/X11R6/lib
>>>> >> -L/usr/lib   -L/usr/X11R6/lib   -L/usr/local/lib     -liconv
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/lib/additions/
>>>> >> RuntimeGuestR3.a
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/release/lib/additions/VBoxGuestR3Lib.a
>>>> >>
>>>> >> 
>>>> /usr/ports/emulators/virtualbox-ose-additions/work/VirtualBox-4.1.16/out/freebsd.amd64/rel
>>>> >> ease/lib/additions/RuntimeGuestR3.a     -lX11     -lXrandr     
>>>> -lXt     -lsupc++
>>>> >>      -lgcc_eh     -lXext     -lXmu     -lpthread     -liconv 
>>>> *** Error code 2
>>>> >>
>>>> >> Stop in /usr/ports/emulators/virtualbox-ose-additions.
>>>>
>>>> --
>>>> Andriy Gapon
>>>> _______________________________________________
>>>> freebsd-emulation@freebsd.org mailing list
>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-emulation
>>>> To unsubscribe, send any mail to 
>>>> "freebsd-emulation-unsubscribe@freebsd.org"
>>> _______________________________________________
>>> freebsd-emulation@freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-emulation
>>> To unsubscribe, send any mail to 
>>> "freebsd-emulation-unsubscribe@freebsd.org"
>> _______________________________________________
>> freebsd-emulation@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-emulation
>> To unsubscribe, send any mail to 
>> "freebsd-emulation-unsubscribe@freebsd.org"
> _______________________________________________
> freebsd-emulation@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-emulation
> To unsubscribe, send any mail to 
> "freebsd-emulation-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0b99207bd9e96c80b84555e883130440>