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