Ho dei strani problemi (almeno io non li capisco!) con le librerie del C++ relative ad un programma (un simulatore di robot). Non ho piu' le idee molto chiare a questo punto. Qualcuno sa "illuminarmi" o darmi qualche suggerimento?
Gli errori che ricevo sono del tipo: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory E in effetti io ho (ldconfig -v) una: libstdc++-libc6.0-1.so.2 => libstdc++-2-libc6.0-1-2.9.0.so solo non capisco perche' richieda la libc6.1-1, dato che la documentazione del prg dice che il prg funziona per RH 6.0 e Debian 2.1! (una domanda per inciso: la Debian 2.1 [la mia distrib.] ha solo la libc6.0-1? Io non ho trovato altro nei miei 2 Cd, ma mi viene qualche dubbio!). Come se non bastasse, a complicarmi la "visione" del problema, c'e' che se compilo alcuni programmi a manina (make, con Makefile fornito dal package), quello che ottengo e' una sfilza di errori del tipo: .../libController.so: undefined reference to `fopen@@GLIBC_2.1' .../libController.so: undefined reference to `sprintf@@GLIBC_2.0' .../libController.so: undefined reference to `shmat@@GLIBC_2.0' ed altri ancora; come si vede, alcuni errori fanno riferimento alla glibc_2.1 e altri alla 2.0. In particolare quelli relativi a comandi [p,f]close / [p,f]open sono relativi alla 2.1... Se pero' eseguo: ldd libController.so libc.so.6 => /lib/libc.so.6 (0x4003d000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) Quindi nessuna dipendenza mancante! Ma non basta, perche' se eseguo il comando make su una distro RH 6.2, o Mandrake 7.1 o altre... la compilazione termina correttamente. C'e' bisogno della Debian 2.2? Non sembrerebbe pero', dato che ogni programma che ho provato con "ldd" sembra non richiedere nuove glibc! Infine, un programma che quando ricompilato non vuole saperne, mi da': << cc -o finder finder.o -L/home/angus/ig/webots/lib -l.... -L/usr/X11R6/lib -lX11 -lpng -lm -lz -lstdc++ ld: cannot open -lstdc++: No such file or directory >> Cioe' non troverrebbe la stdc++, che e' installata (vedi ldconfig -v...): libstdc++.so.2.9 => libstdc++.so.2.9 libstdc++-libc6.0-1.so.2 => libstdc++-2-libc6.0-1-2.9.0.so E naturalmente se eseguo: ldd finder libController.so => libController.so (0x4000f000) .... libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40059000) ... libstdc++-libc6.1-1.so.2 => not found <########### NOTA quella di prima! libc.so.6 => /lib/libc.so.6 (0x40150000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) Mah! Grazie a tutti quelli che si sono letti questo papiro e che sapranno (spero) capirci qualcosa :)) Bye, -- --------------------------------------------------------------------------- Peace cannot be kept by force. It can only be achieved by understanding. Albert Einstein ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Marco Mililotti email: [EMAIL PROTECTED] web : http://www.dadacasa.com/yah/ ----------------------------------------------------------------------------