I did a prelink of my system with the default prelink.conf avoiding to prelinking full /usr/bin because of: prelink: /usr/lib/libk5crypto.so.3: Library without dependencies prelink: /usr/lib/libcom_err.so.3: Library without dependencies prelink: dso.c:306: fdopen_dso: Assertion `j == k' failed. Aborted So i removed /usr/bin from my /etc/prelink.conf and i ran the prelink again... and it worked... but hours later i realized my ftp server was not working neither locally nor remotely. I use as ftp server GLFTPD with XINETD... and when i prelink the port is open but if i telnet it does not work... That server has an own /etc and /lib directories and xinetd chroots /usr/.../glftpd so i think it should have worked. I also tried to reinstalling the server after the prelinking... What should i do? I have also tried prelinking only some bins and for example if i do: prelink -vfmRn /bin/ls my ftp server also does not work. After that i do: prelink -au and it works. Furthermore is only my ftp server. Other services of xinetd works properly after relinking... Should i have to search which libs xinetd uses to try to avoid prelink them?
stefan: i think you might want to add to the defaults to *not* prelink /opt/ ...
I didn't prelink /opt/*... Masking /opt/* is set by default... But my problem is anytime i prelink something also prelinking only a simple binary and some libs my ftp server does not work. Example: alba root # ftp localhost Connected to localhost. 220 Name (localhost:root): ... alba root # prelink -vfRm /bin/cp Laying out 2 libraries in virtual address space 41000000-50000000 Assigned virtual address space slots for libraries: /lib/ld-linux.so.2 4e686000-4e69c000 /lib/libc.so.6 4e69c000-4e7cb000 /lib/libpthread-0.10.so 47064000-470b6000 /lib/libncurses.so.5.3 4c13c000-4c189000 /lib/libcrypt-2.3.1.so 4c141000-4c170000 /lib/libm-2.3.1.so 4c1a1000-4c1c6000 /lib/libext2fs.so.2.4 4c13c000-4c158000 /lib/librt-2.3.1.so 470b6000-470c9000 /lib/libproc.so.2.0.10 4c13c000-4c14c000 /usr/lib/libcrack.so.2.7 4c170000-4c17d000 /lib/libpam.so.0.75 4c17d000-4c188000 /lib/libe2p.so.2.3 4c158000-4c160000 /lib/libuuid.so.1.2 4c13c000-4c142000 /lib/libdl-2.3.1.so 4c13c000-4c141000 /lib/libpam_misc.so.0.75 4c188000-4c18d000 /lib/libcom_err.so.2.0 4c160000-4c164000 Prelinking /lib/ld-2.3.1.so Prelinking /lib/libc-2.3.1.so Prelinking /bin/cp alba root # ftp localhost Connected to localhost. 421 Service not available, remote server has closed connection ftp> quit alba root # prelink -au /bin/cp alba root # ftp localhost Connected to localhost. 220 Name (localhost:root): ... So what can i do? Ok, i know, not prelinking or changing my ftp server... but i want to do both... so?
Do you have the JAIL option enabled? My guess the ftpd is using some glibc trickery for the chroot type jail. Try disabling the jail at compile time (I think you have to set the env varable JAIL to something, read the ebuild) This is really an upstream bug, so I cannot do anything here. (ps. excluding some dirs will not help, unless you exclude /lib as most binaries use libc.so, and if the binary gets prelinked libc.so gets modified) You cannot have everything! Stefan
Ok! When i have time i will try again... Thanks! I will tell you if i success!
Any news from anyone??
Dead bug, closing