Dear maintainer,

I have investigated some more and it looks like a hardcoded library
path is wrong.

strace(1) shows this:

$ strace trickle -u 10 -d 20 ncftp
execve("/usr/bin/trickle", ["trickle", "-u", "10", "-d", "20", "ncftp"], 
0x7ffdd8930748 /* 60 vars */) = 0
brk(NULL)                               = 0x55bd006bc000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7f450db38000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=166299, ...}) = 0
mmap(NULL, 166299, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f450db0f000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\236\2\0\0\0\0\0"..., 
832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 
840, 64) = 840
fstat(3, {st_mode=S_IFREG|0755, st_size=2003408, ...}) = 0
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 
840, 64) = 840
mmap(NULL, 2055800, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f450d919000
mmap(0x7f450d941000, 1462272, PROT_READ|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7f450d941000
mmap(0x7f450daa6000, 352256, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 
0x18d000) = 0x7f450daa6000
mmap(0x7f450dafc000, 24576, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e2000) = 0x7f450dafc000
mmap(0x7f450db02000, 52856, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f450db02000
close(3)                                = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7f450d916000
arch_prctl(ARCH_SET_FS, 0x7f450d916740) = 0
set_tid_address(0x7f450d916a10)         = 749140
set_robust_list(0x7f450d916a20, 24)     = 0
rseq(0x7f450d916680, 0x20, 0, 0x53053053) = 0
mprotect(0x7f450dafc000, 16384, PROT_READ) = 0
mprotect(0x55bcf2423000, 4096, PROT_READ) = 0
mprotect(0x7f450db74000, 8192, PROT_READ) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, 
rlim_max=RLIM64_INFINITY}) = 0
munmap(0x7f450db0f000, 166299)          = 0
newfstatat(AT_FDCWD, "/usr/lib/trickle/trickle-overload.so", 0x7fff34d7efc0, 
AT_SYMLINK_NOFOLLOW) = -1 ENOENT (No such file or directory)
write(2, "trickle: ", 9trickle: )                = 9
write(2, "Could not find overload object", 30Could not find overload object) = 
30
write(2, "\n", 1
)                       = 1
exit_group(1)                           = ?
+++ exited with 1 +++


There is no /usr/lib/trickle/trickle-overload.so on my system:

$ ls -l /usr/lib/trickle/trickle-overload.so
ls: cannot access '/usr/lib/trickle/trickle-overload.so': No such file or 
directory

The real location seems to be arch-dependent:

$ dpkg -L trickle | grep overload
/usr/lib/x86_64-linux-gnu/trickle/trickle-overload.so

I should be able to fix this by manually creating a symlink as a
workaround.

This looks like a bug with the package build.

Regards,
Christian

Reply via email to