Dani ha scritto:Tutte e due

dipende dai casi.
Puo' capitare che ci siano pacchetti slackware con dipendenze rotte ma non per questo che non funzionino !
Dipende...Nella 12.2 abbiamo oprofile, con dipendenze rotte, che non funziona proprio. Oppure abbiamo firefox, sempre con dipendenze rotte, ma che funziona correttamente.
Slackyd si limita a leggere tutti i files installati da uno o piu' determinati pacchetti, ad aprirli e "spulciarli" per vedere che librerie richiedono. Una volta che il tool trova una libreria mancante si possono creare diverse situazioni:
1) Il file che richiede la libreria è un programma del pacchetto e non funzionerà, quindi il pacchetto contenente la libreria mancante è una dipendenza del pacchetto che slackyd ha esaminato.
2) Il file che richiede la libreria è a sua volta una libreria, usata solo per abilitare features extra del pacchetto esaminato. In questo caso il pacchetto contenente la libreria mancante è una dipendenza opzionale del pacchetto che slackyd ha verificato, ergo chi rilascia la distro puo' anche non rilasciare la dipendenza.
3) Slackyd non trova una libreria che invece c'è (tipico di java e jre che si installano in path appositi)...In questo caso bisogna controllare /etc/ld.so.conf.
Ho capito. Slackyd fa il lavoro sporco, poi a mano vado a sistemare le cose sbagliate. Mi piace, in pieno stile Slackware

Toranndo al problema delle mie librerie:
g4b0 ha scritto:Codice: Seleziona tutto
Found 7 missing dependencies:
liboctinterp.so required by:
--> Package: libsndfile-1.0.19-i486-1sl (/usr/libexec/octave/3.0.3/site/oct/i486-slackware-linux-gnu/sndfile/sndfile.oct)
liboctave.so required by:
--> Package: libsndfile-1.0.19-i486-1sl (/usr/libexec/octave/3.0.3/site/oct/i486-slackware-linux-gnu/sndfile/sndfile.oct)
libcruft.so required by:
--> Package: libsndfile-1.0.19-i486-1sl (/usr/libexec/octave/3.0.3/site/oct/i486-slackware-linux-gnu/sndfile/sndfile.oct)
Ok, cerco le librerie mancanti e metto il path in /etc/ld.so.conf:
root@slack:/usr# find /usr/ -name liboctinterp.so
/usr/lib/octave-3.0.3/liboctinterp.so
root@slack:/usr# find /usr/ -name liboctave.so
/usr/lib/octave-3.0.3/liboctave.so
root@slack:/usr# find /usr/ -name libcruft.so
/usr/lib/octave-3.0.3/libcruft.so
Per Openoffice dovrebbe bastare un link simbolico alle versioni precedenti di libssl e di libcrypto:
g4b0 ha scritto:Codice: Seleziona tutto
libssl.so.0.9.6 required by:
--> Package: openoffice-it-3.0.1-i586-12sl (/opt/openoffice/basis-link/program/python-core-2.3.4/lib/lib-dynload/_ssl.so)
libcrypto.so.0.9.6 required by:
--> Package: openoffice-it-3.0.1-i586-12sl (/opt/openoffice/basis-link/program/python-core-2.3.4/lib/lib-dynload/_ssl.so)
E eccoli qua:
root@slack:/usr/lib# ls -l libssl* libcrypto*
-rw-r--r-- 1 root root 2353152 2009-01-15 01:02 libcrypto.a
lrwxrwxrwx 1 root root 14 2009-03-23 07:52 libcrypto.so -> libcrypto.so.0
lrwxrwxrwx 1 root root 18 2009-03-23 07:52 libcrypto.so.0 -> libcrypto.so.0.9.8
lrwxrwxrwx 1 root root 18 2009-03-24 09:00 libcrypto.so.0.9.6 -> libcrypto.so.0.9.8
-r-xr-xr-x 1 root root 1295856 2009-01-15 01:02 libcrypto.so.0.9.8
-rw-r--r-- 1 root root 412272 2009-01-15 01:02 libssl.a
lrwxrwxrwx 1 root root 11 2009-03-23 07:52 libssl.so -> libssl.so.0
lrwxrwxrwx 1 root root 15 2009-03-23 07:52 libssl.so.0 -> libssl.so.0.9.8
lrwxrwxrwx 1 root root 15 2009-03-24 09:15 libssl.so.0.9.6 -> libssl.so.0.9.8
-r-xr-xr-x 1 root root 260908 2009-01-15 01:02 libssl.so.0.9.8
Java mette le librerie dove gli pare:
g4b0 ha scritto:Codice: Seleziona tutto
libjawt.so required by:
--> Package: openoffice-it-3.0.1-i586-12sl (/opt/openoffice/basis-link/program/libofficebean.so)
Ma io le vado a stanare!
root@slack:/usr# find /usr -name "libjawt*"
/usr/lib/java/lib/i386/libjawt.so
Qualcuno cerca una versione precedente di libbfd, anche in questo caso dovrebbe bastare un link simbolico:
g4b0 ha scritto:Codice: Seleziona tutto
libbfd-2.17.50.0.17.20070615.so required by:
--> Package: oprofile-0.9.2-i486-5 (/usr/bin/oparchive)
--> Package: oprofile-0.9.2-i486-5 (/usr/bin/opgprof)
--> Package: oprofile-0.9.2-i486-5 (/usr/bin/oprof_start)
--> Package: oprofile-0.9.2-i486-5 (/usr/bin/opannotate)
--> Package: oprofile-0.9.2-i486-5 (/usr/bin/opreport)
Eccolo qua:
root@slack:/usr/lib# ls -l libbfd*
lrwxrwxrwx 1 root root 30 2009-03-24 09:18 libbfd-2.17.50.0.17.20070615.so -> libbfd-2.18.50.0.9.20080822.so
-rwxr-xr-x 1 root root 828348 2008-10-22 06:05 libbfd-2.18.50.0.9.20080822.so
-rw-r--r-- 1 root root 947690 2008-10-22 06:05 libbfd.a
-rwxr-xr-x 1 root root 1040 2008-10-22 06:05 libbfd.la
lrwxrwxrwx 1 root root 30 2009-03-19 19:41 libbfd.so -> libbfd-2.18.50.0.9.20080822.so
A questo punto mi basta modificare /etc/ld.so.conf in questo modo:
root@slack:/usr# more /etc/ld.so.conf
/usr/local/lib
/usr/i486-slackware-linux/lib
/usr/lib/seamonkey
/opt/qt4/lib
/usr/lib/octave-3.0.3
/usr/lib/java/lib/i386
Poi do ldconfig, ma il problema persiste!! Per esempio:
Codice: Seleziona tutto
root@slack:/usr# ldd /opt/openoffice/basis-link/program/libofficebean.so
ldd: warning: you do not have execution permission for `/opt/openoffice/basis-link/program/libofficebean.so'
linux-gate.so.1 => (0xffffe000)
libjawt.so => not found
libstdc++.so.6 => /opt/openoffice/basis-link/program/../ure-link/lib/libstdc++.so.6 (0xb7de7000)
libdl.so.2 => /lib/libdl.so.2 (0xb7de3000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7dcb000)
libm.so.6 => /lib/libm.so.6 (0xb7da5000)
libgcc_s.so.1 => /opt/openoffice/basis-link/program/../ure-link/lib/libgcc_s.so.1 (0xb7d9c000)
libc.so.6 => /lib/libc.so.6 (0xb7c50000)
/lib/ld-linux.so.2 (0xb7ee6000)
Dani ha scritto:
Comunque come mai hai reinstallato la distro !?
Perchè continuava a non boottare, nonostante abbia verificato il lilo e tutto sembrasse a posto. Ho ritenuto più veloce formattare.
Grazie per l'aiuto