libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why is this library not found?


From: Aljosha Papsch
Subject: Re: Why is this library not found?
Date: Mon, 2 May 2016 00:11:18 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.7.2

On 01.05.2016 21:00, Mike Frysinger wrote:
On 01 May 2016 09:18, Robert Boehne wrote:
Run it under gdb and see why it doesn't find the library.
or use strace -- that'll show quickly all the files/paths that the
program is trying to use
-mike
thanks, I underestimated strace until now. I executed following commands:

* Library name "gneural" and command LD_LIBRARY_PATH=/opt/gneural/lib strace ./dlopen

access("/opt/gneural/lib/gneural", R_OK) = -1 ENOENT (No such file or directory) access("/usr/lib/gneural", R_OK) = -1 ENOENT (No such file or directory) access("/usr/lib32/gneural", R_OK) = -1 ENOENT (No such file or directory) open("/opt/gneural/lib/gneural", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=259355, ...}) = 0
mmap(NULL, 259355, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fc386998000
close(3)                                = 0
open("/usr/lib/tls/x86_64/gneural", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[...]
open("/usr/lib/gneural", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib", {st_mode=S_IFDIR|0755, st_size=169152, ...}) = 0
munmap(0x7fc386998000, 259355)          = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
write(1, "file not found\n", 15file not found
)        = 15
exit_group(0)                           = ?
+++ exited with 0 +++

* Name "gneural" and command LD_LIBRARY_PATH= strace ./dlopen

It doesn't even look in /opt/gneural/lib, even though directory is in /etc/ld.so.conf.d file.

* Name "libgneural.so" and command LD_LIBRARY_PATH=/opt/gneural/lib strace ./dlopen

I tried this name because strace shows that it uses the name verbatim without some magic.

open("/opt/gneural/lib/libgneural.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\30\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=125152, ...}) = 0
mmap(NULL, 2132376, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f55cfd54000
mprotect(0x7f55cfd5d000, 2093056, PROT_NONE) = 0
mmap(0x7f55cff5c000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x7f55cff5c000
close(3)                                = 0
munmap(0x7f55d08ef000, 259355)          = 0
munmap(0x7f55cfd54000, 2132376)         = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
write(1, "file not found\n", 15file not found
)        = 15
exit_group(0)                           = ?
+++ exited with 0 +++

It opens the library but still reports that file is not found. Do you know why? Also, despite Roberts remark about removing lib prefix, I had to specify full name. Why is that?

Best regards



reply via email to

[Prev in Thread] Current Thread [Next in Thread]