В 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

Répondre à