Puoi ricavare quell'informazione dal file "Manifest" presente nei repositories della tua versione di slackware.
Questo file è presente anche nel repo di slacky.eu.
Però dipende dal repository che ospita il pacchetto:
se il pacchetto c'è nel repo ufficiale, quasi sicuramente non vi è in slacky.eu... pertanto devi consultare sia il Manifest del repo slacky che quello ufficiale.
Tempo fa avevo scaricato un Manifest dal repo slacky.eu non ricordo per che versione di slack (potrebbe essere di slack-12.1), è un file di testo che riporta tutti i files che contengono tutti i pacchetti ospitati nel repo. Ora l'ho aperto semplicemente cone "less" e ho cercato "libstdc++", ecco il risultato:
Codice: Seleziona tutto
++========================================
||
|| Package: ./development/gcc34/3.4.6/gcc34-3.4.6-i486-2mch.tgz
||
++========================================
drwxr-xr-x root/root 0 2008-12-30 10:01 ./
drwxr-xr-x root/root 0 2008-12-30 10:01 lib/
drwxr-xr-x root/root 0 2008-12-30 10:00 opt/
drwxr-xr-x root/root 0 2008-12-30 10:00 opt/gcc34/
drwxr-xr-x root/root 0 2008-12-30 10:01 opt/gcc34/lib/
-rw-r--r-- root/root 1688694 2008-12-30 10:00 opt/gcc34/lib/libstdc++.a
-rwxr-xr-x root/root 32152 2008-12-30 10:00 opt/gcc34/lib/libgcc_s.so.1
Come vedi nel file viene mostrato ogni pacchetto presente sul repo, seguito dai files che il pacchetto contiene.
Cercando libstdc++ e tornandoun po' su si vede che:
-rwxr-xr-x root/root 859260 2008-12-30 10:00 opt/gcc34/lib/libstdc++.so.6.0.3
appartiene al pacchetto:
./development/gcc34/3.4.6/gcc34-3.4.6-i486-2mch.tgz
In pratica quella libreria potrebbe essere parte del pacchetto gcc (il compilatore?) o glibc.
Hai un problema di versione delle librerie:
ovvero potrebbe essere che il programma che hai installato è stato compilato "contro" una libreria di versione differente da quella che monta il tuo sistema.
Per verificare quale versione della libreria hai, fai:
Codice: Seleziona tutto
]# find /usr/lib -iname *libstdc++*
/usr/lib/libstdc++.a
/usr/lib/libstdc++.so.6.0.9
/usr/lib/libstdc++.so.6
/usr/lib/libstdc++.la
/usr/lib/libstdc++.so
Come vedi nel mio caso quella libreria ce l'ho, almeno penso sia quella lì sopra.
Facciamo un'altra ricerca, avendo ora più indizi:
Codice: Seleziona tutto
# grep libstdc++ /var/log/packages/*gcc*
/var/log/packages/gcc-4.2.3-i486-1:usr/share/locale/de/LC_MESSAGES/libstdc++.mo
/var/log/packages/gcc-4.2.3-i486-1:usr/share/locale/fr/LC_MESSAGES/libstdc++.mo
/var/log/packages/gcc-g++-4.2.3-i486-1:usr/doc/gcc-4.2.3/libstdc++-v3/
/var/log/packages/gcc-g++-4.2.3-i486-1:usr/doc/gcc-4.2.3/libstdc++-v3/ChangeLog
/var/log/packages/gcc-g++-4.2.3-i486-1:usr/doc/gcc-4.2.3/libstdc++-v3/README
/var/log/packages/gcc-g++-4.2.3-i486-1:usr/doc/gcc-4.2.3/libstdc++-v3/faq/
/var/log/packages/gcc-g++-4.2.3-i486-1:usr/doc/gcc-4.2.3/libstdc++-v3/faq/index.html
/var/log/packages/gcc-g++-4.2.3-i486-1:usr/doc/gcc-4.2.3/libstdc++-v3/faq/index.txt
/var/log/packages/gcc-g++-4.2.3-i486-1:usr/lib/libstdc++.a
/var/log/packages/gcc-g++-4.2.3-i486-1:usr/lib/libstdc++.la
/var/log/packages/gcc-g++-4.2.3-i486-1:usr/lib/libstdc++.so.6.0.9
Per cui, la libreria incriminata, sul mio sistema è parte del pacchetto
"gcc-g++" e io ne ho la versione
"4.2.3".
Quindi, verifica la versione del pacchetto "gcc-g++" che monta il tuo sistema. E verifica anche il nome della libreria mancante che tale pacchetto contiene, come ho fatto sopra anche io: un semplice "grep" del file /var/log/packages/gcc-g++-tuaversione-ecc-ecc cercando il pattern libstdc++.
Si tratta anche di capire (e io lo ignoro) cosa sia kbuildsycoca4, da dove lo hai preso ecc ecc.
Perchè o ti manca il pacchetto di cui sopra, o lo hai, ma nella versione sbagliata.
Nel primo caso ti basta installare tale pacchetto, ma nel secondo significa che hai installato kbuildsycoca4 per una versione diversa della tua distribuzione immagino.