В Sat, 12 Jan 2008 15:19:18 +0100, Quentin Mathé написа:
> AZSwitch specifies LIBRARIES_DEPEND_UPON += -lm -lEtoileFoundation;
> that's why you shouldn't need it.
This is not sufficient when symbol resolution is enforced at build time,
which is becoming more and more common in Debian (for very good
reasons). The problem here is that libEtoileUI.so is not linked with
libEtoileFoundation.so.
> $(FND_LIBS) $(GUI_LIBS) $(OBJC_LIBS) are private variables managed by
> gnustep-make iirc, so they shouldn't be used.
No, they are just a convenient way to link to link with -base, -gui and
libobjc, with the advantage that the package will still continue to link
with the right libs if the namespec changes. It is the recommended way,
rather than specifying -lgnustep-base, etc. EtoileUI uses symbols from
all these libs, so it has to link with them, just like any other binary
should.
Without this line:
$ ldd -r Build/libEtoileUI.so
undefined symbol: __objc_class_name_NSConstantString (Build/libEtoileUI.so)
undefined symbol: __objc_class_name_NSImage (Build/libEtoileUI.so)
undefined symbol: __objc_class_name_UKPluginsRegistry (Build/libEtoileUI.so)
undefined symbol: __objc_class_name_NSBezierPath (Build/libEtoileUI.so)
undefined symbol: __objc_class_name_NSColor (Build/libEtoileUI.so)
undefined symbol: __objc_class_name_NSGraphicsContext (Build/libEtoileUI.so)
undefined symbol: __objc_class_name_NSAssertionHandler (Build/libEtoileUI.so)
undefined symbol: __objc_class_name_NSString (Build/libEtoileUI.so)
undefined symbol: __objc_class_name_NSDictionary (Build/libEtoileUI.so)
undefined symbol: __objc_class_name_NSBundle (Build/libEtoileUI.so)
undefined symbol: __objc_class_name_NSObject (Build/libEtoileUI.so)
undefined symbol: __gnu_objc_personality_v0 (Build/libEtoileUI.so)
undefined symbol: NSStringFromClass (Build/libEtoileUI.so)
undefined symbol: objc_get_class (Build/libEtoileUI.so)
undefined symbol: NSLog (Build/libEtoileUI.so)
undefined symbol: objc_msg_lookup (Build/libEtoileUI.so)
undefined symbol: __objc_exec_class (Build/libEtoileUI.so)
undefined symbol: objc_msg_lookup_super (Build/libEtoileUI.so)
linux-gate.so.1 => (0xffffe000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7f1f000)
libc.so.6 => /lib/libc.so.6 (0xb7dd2000)
/lib/ld-linux.so.2 (0x80000000)
_______________________________________________
Etoile-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-discuss