tantalum <[email protected]> writes:
> I found out that the libraries which do not work contain a different
> kind of content:
> for example (complete file):
> /* GNU ld script
> Use the shared library, but some functions are only in
> the static library, so try that secondarily. */
> OUTPUT_FORMAT(elf32-i386)
> GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED (
> /lib/ld-linux.so.2 ) )
>
> or
>
> INPUT ( %{_libdir}/libopcodes.a -lbfd )
Guile's dynamic-link just uses libltdl (part of libtool), so the
question becomes whether libltdl supports this kind of "GNU ld
script".
>From a quick google it seems these scripts have been around for a
while, so it would be surprising if libltdl didn't support them. But
so far I haven't found out any more than that.
> I ran a script containing only the dynamic-link call, as root.
> following is output of strace:
>
> access("/lib/libc.so", R_OK) = -1 ENOENT (No such file or
> directory)
> access("/usr/lib/libc.so", R_OK) = 0
> futex(0xb7c0106c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
> open("/usr/lib/libc.so", O_RDONLY) = 6
> read(6, "/* GNU ld script\n Use the share"..., 512) = 238
> close(6) = 0
It looks as though libltdl just chokes and gives up on that format...
Regards,
Neil