* error messages of "dynamic-link"
@ 2009-05-14 18:07 tantalum
2009-05-16 10:53 ` Neil Jerram
0 siblings, 1 reply; 4+ messages in thread
From: tantalum @ 2009-05-14 18:07 UTC (permalink / raw)
To: bug-guile
Hi,
while experimenting with using "dynamic-link" with guile 1.8.6, I
noticed that some libraries can not be loaded.
same location ("/usr/lib"), same filename extension (".so").
for example "libc.so", "libopcodes.so".
the error message always says "File not Found", which is irritating.
i believe this is a bug, or there is a missing feature.
Regards,
Julian
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: error messages of "dynamic-link"
2009-05-14 18:07 error messages of "dynamic-link" tantalum
@ 2009-05-16 10:53 ` Neil Jerram
0 siblings, 0 replies; 4+ messages in thread
From: Neil Jerram @ 2009-05-16 10:53 UTC (permalink / raw)
To: mail; +Cc: bug-guile
tantalum <mail@thaseph.de> writes:
> Hi,
>
> while experimenting with using "dynamic-link" with guile 1.8.6, I
> noticed that some libraries can not be loaded.
> same location ("/usr/lib"), same filename extension (".so").
> for example "libc.so", "libopcodes.so".
> the error message always says "File not Found", which is irritating.
> i believe this is a bug, or there is a missing feature.
Hi Julian,
A couple of ideas to try:
1. Rerun under strace, to find out exactly where Guile is looking for
the library that you want.
2. Check that permissions on the library files will allow the user
running Guile to read them.
If that doesn't solve the problem, please post the part of the strace
output which covers looking for the problematic library.
Regards,
Neil
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: error messages of "dynamic-link"
@ 2009-05-18 20:03 tantalum
2009-05-20 22:07 ` Neil Jerram
0 siblings, 1 reply; 4+ messages in thread
From: tantalum @ 2009-05-18 20:03 UTC (permalink / raw)
To: bug-guile
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 )
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
write(2, "ERROR"..., 5ERROR) = 5
write(2, ": "..., 2: ) = 2
write(2, "In procedure "..., 13In procedure ) = 13
write(2, "dynamic-link"..., 12dynamic-link) = 12
write(2, ":\n"..., 2:
) = 2
write(2, "ERROR"..., 5ERROR) = 5
write(2, ": "..., 2: ) = 2
write(2, "file: "..., 6file: ) = 6
write(2, "\""..., 1") = 1
write(2, "libc"..., 4libc) = 4
write(2, "\""..., 1") = 1
write(2, ", message: "..., 11, message: ) = 11
write(2, "\""..., 1") = 1
write(2, "file not found"..., 14file not found) = 14
write(2, "\""..., 1") = 1
write(2, "\n"..., 1
) = 1
exit_group(1)
Julian.
----
tantalum <mail@thaseph.de> writes:
> Hi,
>
> while experimenting with using "dynamic-link" with guile 1.8.6, I
> noticed that some libraries can not be loaded.
> same location ("/usr/lib"), same filename extension (".so").
> for example "libc.so", "libopcodes.so".
> the error message always says "File not Found", which is irritating.
> i believe this is a bug, or there is a missing feature.
Hi Julian,
A couple of ideas to try:
1. Rerun under strace, to find out exactly where Guile is looking for
the library that you want.
2. Check that permissions on the library files will allow the user
running Guile to read them.
If that doesn't solve the problem, please post the part of the strace
output which covers looking for the problematic library.
Regards,
Neil
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: error messages of "dynamic-link"
2009-05-18 20:03 tantalum
@ 2009-05-20 22:07 ` Neil Jerram
0 siblings, 0 replies; 4+ messages in thread
From: Neil Jerram @ 2009-05-20 22:07 UTC (permalink / raw)
To: mail; +Cc: bug-guile
tantalum <mail@thaseph.de> 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
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-05-20 22:07 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-14 18:07 error messages of "dynamic-link" tantalum
2009-05-16 10:53 ` Neil Jerram
-- strict thread matches above, loose matches on Subject: below --
2009-05-18 20:03 tantalum
2009-05-20 22:07 ` Neil Jerram
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).