Bug 2240 – Phobos unittest fails to compile

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
phobos
Product
D
Version
D2
Platform
Other
OS
Linux
Creation time
2008-07-22T06:34:00Z
Last change time
2015-06-09T01:19:59Z
Assigned to
andrei
Creator
devurandom

Comments

Comment #0 by devurandom — 2008-07-22T06:34:48Z
The Phobos buildsystem tries to compile the unittest, which is apparently C++, using GCC and thus fails with linking errors: gcc -m32 -pipe -O2 -march=athlon64 -O -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common -Wl,--as-needed -oobj/linux/release/unittest obj/linux/release/unittest.o obj/linux/release/all_std_modules_generated.o obj/linux/release/libphobos2.a -lpthread -lm -g -ldl obj/linux/release/libphobos2.a(dmain2.o): In function `main': internal/dmain2.d:(.text.main+0x10e): undefined reference to `__monitor_staticdtor' obj/linux/release/libphobos2.a(object.o):(.data+0x778): undefined reference to `_D8internal7monitor12__ModuleInfoZ' obj/linux/release/libphobos2.a(object.o): In function `_D6object6Object14notifyRegisterMFDFC6ObjectZvZv': internal/object.d:(.text._D6object6Object14notifyRegisterMFDFC6ObjectZvZv+0x8): undefined reference to `_D8internal7monitor10GetFatLockFC6ObjectZPS8internal7monitor7FatLock' internal/object.d:(.text._D6object6Object14notifyRegisterMFDFC6ObjectZvZv+0x14): undefined reference to `_D8internal7monitor12escalateLockFC6ObjectZv' internal/object.d:(.text._D6object6Object14notifyRegisterMFDFC6ObjectZvZv+0x27): undefined reference to `_D8internal7monitor10GetFatLockFC6ObjectZPS8internal7monitor7FatLock' internal/object.d:(.text._D6object6Object14notifyRegisterMFDFC6ObjectZvZv+0x36): undefined reference to `_D8internal7monitor7FatLock11SetDelegateMFDFC6ObjectZvZv' obj/linux/release/libphobos2.a(object.o): In function `_D6object6Object16notifyUnRegisterMFDFC6ObjectZvZv': internal/object.d:(.text._D6object6Object16notifyUnRegisterMFDFC6ObjectZvZv+0x14): undefined reference to `_D8internal7monitor10GetFatLockFC6ObjectZPS8internal7monitor7FatLock' internal/object.d:(.text._D6object6Object16notifyUnRegisterMFDFC6ObjectZvZv+0x23): undefined reference to `_D8internal7monitor7FatLock14RemoveDelegateMFDFC6ObjectZvZv' obj/linux/release/libphobos2.a(object.o): In function `_d_notify_release': internal/object.d:(.text._d_notify_release+0x8): undefined reference to `_D8internal7monitor10GetFatLockFC6ObjectZPS8internal7monitor7FatLock' internal/object.d:(.text._d_notify_release+0x10): undefined reference to `_D8internal7monitor7FatLock12HasDelegatesMFZb' internal/object.d:(.text._d_notify_release+0x1f): undefined reference to `_D8internal7monitor7FatLock17FinalizeDelegatesMFC6ObjectZv' obj/linux/release/libphobos2.a(synchro.o): In function `_D3std7synchro5Mutex5_ctorMFZC3std7synchro5Mutex': std/synchro.d:(.text._D3std7synchro5Mutex5_ctorMFZC3std7synchro5Mutex+0xa): undefined reference to `_monitors_attr' collect2: ld returned 1 exit status make: *** [obj/linux/release/unittest] Error 1
Comment #1 by andrei — 2010-09-26T11:15:18Z
This has been fixed a long time ago.