Hi,
I have what appears to be a bizarre problem with ldconfig. For some reason it seems to have taken against a library which I installed. This first happened in /usr/local, but I switched to /usr/devel just in case there was something odd going on with that directory.
# rpm -qf /sbin/ldconfig glibc-2.3.4-2.fc3
# ldconfig -n /usr/devel/lib ldconfig: Input file /usr/devel/lib/libnhproxy.so.0.0.0 not found.
# ls -al /usr/devel/lib
total 572
drwxr-xr-x 3 root root 4096 Dec 23 06:57 .
drwxr-xr-x 5 root root 4096 Dec 23 06:57 ..
-rw-r--r-- 1 root root 302660 Dec 23 06:57 libnhproxy.a
-rwxr-xr-x 1 root root 811 Dec 23 06:57 libnhproxy.la
lrwxrwxrwx 1 root root 19 Dec 23 06:57 libnhproxy.so -> libnhproxy.so.0.0.0lrwxrwxrwx 1 root root 19 Dec 23 06:57 libnhproxy.so.0 -> libnhproxy.so.0.0.0
-rwxr-xr-x 1 root root 223798 Dec 23 06:57 libnhproxy.so.0.0.0
drwxr-xr-x 2 root root 4096 Dec 23 06:57 pkgconfig
# strace -o /tmp/ldconfig.trace ldconfig -n /usr/devel/lib ldconfig: Input file /usr/devel/lib/libnhproxy.so.0.0.0 not found.
# strace -o /tmp/dd.trace dd if=/usr/devel/lib/libnhproxy.so.0.0.0 of=/ dev/null count=1
1+0 records in
1+0 records out
I attach the two traces. This has completely stumped me and I would be very grateful for any help. I believe that glibc was upgraded overnight by up2date, but unless there's a bug in the syscall interface I can't see how that can explain the problem. I have rebooted since then just in case that might have helped.
Many thanks,
Ali.
execve("/sbin/ldconfig", ["ldconfig", "-n", "/usr/devel/lib"], [/* 23 vars */]) = 0 uname({sys="Linux", node="percy.juiblex.co.uk", ...}) = 0 brk(0) = 0x8550000 brk(0x8571000) = 0x8571000 stat64("/usr/devel/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/dev/null", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOTDIR (Not a directory) open("/usr/devel/lib", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3 fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 getdents64(3, /* 8 entries */, 4096) = 272 stat64("/usr/devel/lib/libnhproxy.so", 0xfeef13cc) = -1 EACCES (Permission denied) stat64("/usr/devel/lib/libnhproxy.so.0", 0xfeef13cc) = -1 EACCES (Permission denied) unlink("/usr/devel/lib/libnhproxy.so.0") = -1 EACCES (Permission denied) open("/usr/devel/lib/libnhproxy.so.0.0.0", O_RDONLY) = -1 EACCES (Permission denied) write(2, "ldconfig: ", 10) = 10 write(2, "Input file /usr/devel/lib/libnhp"..., 57) = 57 write(2, "\n", 1) = 1 getdents64(3, /* 0 entries */, 4096) = 0 close(3) = 0 exit_group(0) = ?
execve("/bin/dd", ["dd", "if=/usr/devel/lib/libnhproxy.so.0.0.0", "of=/dev/null", "count=1"], [/* 23 vars */]) = 0 uname({sys="Linux", node="percy.juiblex.co.uk", ...}) = 0 brk(0) = 0x869f000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=131145, ...}) = 0 old_mmap(NULL, 131145, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf6fdf000 close(3) = 0 open("/lib/tls/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 _\215\000"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1524828, ...}) = 0 old_mmap(0x8c1000, 1219740, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x8c1000 mprotect(0x9e4000, 27804, PROT_NONE) = 0 old_mmap(0x9e5000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x123000) = 0x9e5000 old_mmap(0x9e9000, 7324, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x9e9000 close(3) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf6fde000 mprotect(0x9e5000, 8192, PROT_READ) = 0 mprotect(0x8bd000, 4096, PROT_READ) = 0 set_thread_area({entry_number:-1 -> 6, base_addr:0xf6fde8e0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 munmap(0xf6fdf000, 131145) = 0 brk(0) = 0x869f000 brk(0x86c0000) = 0x86c0000 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=39554480, ...}) = 0 mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf6dde000 close(3) = 0 close(0) = 0 open("/usr/devel/lib/libnhproxy.so.0.0.0", O_RDONLY|O_LARGEFILE) = 0 close(1) = 0 open("/dev/null", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 1 rt_sigaction(SIGINT, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGINT, {0x8049549, [], SA_RESTORER, 0x8e8a48}, NULL, 8) = 0 rt_sigaction(SIGQUIT, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGQUIT, {0x8049549, [], SA_RESTORER, 0x8e8a48}, NULL, 8) = 0 rt_sigaction(SIGPIPE, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGPIPE, {0x8049549, [], SA_RESTORER, 0x8e8a48}, NULL, 8) = 0 rt_sigaction(SIGUSR1, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGUSR1, {0x80495b4, [], SA_RESTORER, 0x8e8a48}, NULL, 8) = 0 read(0, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\230D\0"..., 512) = 512 write(1, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\230D\0"..., 512) = 512 open("/usr/share/locale/locale.alias", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=2528, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf6ddd000 read(3, "# Locale name alias data base.\n#"..., 4096) = 2528 read(3, "", 4096) = 0 close(3) = 0 munmap(0xf6ddd000, 4096) = 0 open("/usr/share/locale/en_GB.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_GB.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_GB/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, "1+0 records in\n", 15) = 15 write(2, "1+0 records out\n", 16) = 16 close(0) = 0 close(1) = 0 exit_group(0) = ?