On Mon, Nov 10, 2003 at 11:36:54AM -0800, Alan Coopersmith wrote:
>David Dawes wrote:
>> I've noticed that the reference to in6addr_any in xtrans has broken
>> libICE.so compatibility, at least on FreeBSD 4.3.  This shows up a
>> runtime loader error when attempting to run applications built against
>> an older version of the library:
>> 
>> /usr/libexec/ld-elf.so.1: /usr/X11R6/lib/libICE.so.6: Undefined symbol "in6addr_any"
>> 
>> It is almost certainly related to in6addr_any being a const.
>> 
>> I'm not sure if this is a localised problem, or if it affects a
>> wider range of platforms.  I'm committing a workaround that makes
>> use of IN6ADDR_ANY_INIT when available, and that works here.
>> 
>> Has anyone seen this to be a problem on other platforms?
>
>We have no problem like that on Solaris - but on Solaris in6addr_any
>is defined in libsocket.so, which libICE.so is linked with, so it
>always automatically gets resolved at runtime.  I haven't seen any
>problem reports on other platforms either.

On FreeBSD it is in libc.so.  I thought that since 'cc' is used to
create libICE.so, it was implicitly linked against -lc, based on the
comment in bsdLib.rules:

#ifndef BaseShLibReqs
#define BaseShLibReqs           /* -lc implied by $(CC) */
#endif

If I add it explicitly it solves the problem.

Maybe it needs to be added explicitly in OpenBSDLib.rules too?

David
-- 
David Dawes
developer/release engineer                      The XFree86 Project
www.XFree86.org/~dawes
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to