... fin du myst�re Bjarne Thomsen a trouv� la cl� de l'�nigme (sur la liste [expert] en anglais) Le topo: si vous avez des ex�cutables qui refusent de fonctionner, avec un message "Aucun fichier ou dossier de ce type", alors m�me que le fichier existe bel et bien, c'est tr�s probablement parce qu'il est li� a l'ancienne libc5, dont le chargeur (traduction de "loader" ?) est bizarrement manquant dans Mandrake 8.0 Pour r�soudre le probl�me: 1) installez le RPM libc-5.3.12-35mdk.i586.rpm si ce n'est pas d�j� fait 2) allez ici: http://home.get2net.dk/bt/ftp/ld-linux/ et t�l�chargez les fichiers ld.so libdl.so.1 ld-linux.so.1 (il est possible que vous n'ayez besoin que de ld-linux.so.1) 3) placez-les dans /lib (il faut �tre root) 4) rendez ld-linux.so.1 ex�cutable: chmod a+x ld-linux.so.1 et voilou. Veuillez noter qu'il n'est pas du tout garanti que cette op�ration n'a pas d'effets secondaire ind�sirables... d'apr�s Bjarne, ce n'est probablement pas pour rien que Mandrake a pris soin de ne pas distribuer ld-linux.so.1 (� la place il y a ld-linux.so.2 qui fait partie de glibc). A moins qu'il ne s'agisse d'une erreur de leur part. Pour ceux qui veulent des pr�cisions, le reste de ce message (en anglais) est la description de la situation par Bjarne Thomsen himself Stef ----------------------------------------------------- pr�cisions: (message re�u sur la liste experts) Hello! This is just to let you know what I have found out regarding the "No such file" error when trying to execute a certain program. The man pages for execve() states: If the executable is a dynamically-linked ELF executable, the interpreter named in the PT_INTERP segment is used to load the needed shared libraries. This interpreter is typically /lib/ld-linux.so.1 for binaries linked with the Linux libc version 5, or /lib/ld-linux.so.2 for binaries linked with the GNU libc version 2. That is interesting considering /lib/ld-linux.so.1 is nowhere to be found on the LM8.0 distribution. It is safe to say that this is our missing file: The Linux loader for programs linked with libc5. Inspection of RH6.2 and LM7.2 boxes shows that they both have the file: /lib/ld-linux.so.1. Furthermore this file belongs to the ld.so package. Inspection of the rpmfind.net database showed that the ld.so packages are RH6.2: ld.so-1.9.5-13.i386.rpm LM7.2: ld.so-1.9.11-4mdk.i386.rpm Now, it turned out that the ld.so-1.9.5-13.i386.rpm package was installed on the RH7.1 box where my idl_lmgrd was working (it did not produce the "no such file" error; I do not have a license file on that box). I am not sure if the ld.so package actually is on the RH7.1 installation CDs, or if it was left over from an upgrade. At this point I certainly felt that I was on the right track. Why should I not just install the LM7.2 ld.so package on my LM8.0 box? This turned out to be quite problematic since ld.so-1.9.11-4mdk.i386.rpm ALSO contains /sbin/ldconfig which is now found in the ldconfig package related to the glibc library. I concluded that it was not safe to install ld.so-1.9.11-4mdk.i386.rpm on LM8.0. The RH ld.so package ld.so-1.9.5-13.i386.rpm does NOT contain /sbin/ldconfig, so I installed that package instead of the LM ld.so package. Now my old license manager works again! I have not seen any problems yet, but there just might be some reasons why Mandrake did not include ld.so in the LM8.0 distribution. ----------------------------------------------------- pr�cisions, bis: (message perso du m�me) Hello St�phane, First of all you need to have libc-5.3.12-35mdk.i586.rpm installed. If libc is installed you should find a directory called /usr/i486-linux-libc5/lib/, containing all the libc5 shared (.so.) libraries. If this is not the case you must to install the RPM package libc-5.3.12-35mdk.i586.rpm: Insert the mdk8.0 installation CD #2 mount /mnt/cdrom cd /mnt/cdrom/Mandrake/RPMS2 su Password:xxxxxxx rpm -Uvh libc-5.3.12-35mdk.i586.rpm CTRL-D cd eject The libc5 library files should now be in place. ld-linux.so.1 is contained in the RedHat 6.2 package ld.so-1.9.5-13.i386.rpm The content of this package is shown by the rpm command: rpm -qlp ld.so-1.9.5-13.i386.rpm Apart from the man files the content is: /lib/ld-linux.so.1 /lib/ld-linux.so.1.9.5 /lib/ld.so /lib/ld.so.1.9.5 /lib/libdl.so.1.9.5 ld-linux.so.1 is a link to ld-linux.so.1.9.5 and ld.so is a link to ld.so.1.9.5 We are interested in ld-linux.so.1, actually the file ld-linux.so.1.9.5, so I have renamed ld-linux.so.1.9.5 to ld-linux.so.1 by mv ld-linux.so.1.9.5 ld-linux.so.1 Then I copied ld-linux.so.1 to /lib by cp ld-linux.so.1 /lib AFTER first having removed the ld.so-1.9.5-13.i386.rpm package by the command rpm -e ld.so It now looks as if my idl_lmgrd program works. I have discovered that the upgrade of the glibc package removes all the files from the ld.so-1.9.5-13.i386.rpm package, INCLUDENG the ld-linux.so.1 and ld-linux.so.1.9.5 files. There is, however, a hope that the manually copy of ld-linux.so.1 will escape the process of a future RPM upgrade of glibc. But be warned there is probably a reason why Mandrake is so careful about removing ld-linux.so.1 when installing the new loader ld-linux.so.2 belonging to the glibc package. You can download ld-linux.so.1 from http://home.get2net.dk/bt/ftp/ld-linux/ Remember: You must make ld-linux.so.1 executable with chmod a+x ld-linux.so.1 And then you should copy it to /lib as root. Please, let me know if it works for you. -- Bjarne
