# libX11.so.6 scomparsa[Risolto]

## Artifex2754

Salve a tutti, sono appena arrivato nel mondo Gentoo e nonostante alcuni problemi iniziali, come ad esempio il fatto che dopo

una  ricompilazione del kernel nè il server X e nè le interfacce di rete davano segnali di vita,  mi ci trovo molto bene   con 

questa distribuzione anche se forse  è un pochino ostica per i neofiti come il sottoscritto.  Ma bando alle ciance e ciancio alle bande 

vi espongo subito il mio problema.

Quando cerco  di installare un programma che sfrutta le librerie di X questo è l'errore che mi appare:

```
error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
```

In particolare questo errore si è verificato tentando di installare il salvaschermo Open-GL di Matrix e DevC++(ambiente 

di sviluppo per la programmazzione in C\C++) che appunto richiedono quelle librerie.

Questo è il mio /etc/ld.so.conf:

```

/usr/local/lib

/usr/lib32/opengl/nvidia/lib

/usr/lib64/opengl/nvidia/lib

/lib

/usr/lib

/usr/local/lib

/lib32

/usr/lib32

/usr/local/lib32

/lib64

/usr/lib64

/usr/local/lib64

/usr/x86_64-pc-linux-gnu/lib

/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4

/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/32

/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3

/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/32

/usr/lib64/mozilla-firefox

/usr/lib

/usr/kde/3.5/lib

/usr/kde/3.5/lib32

/usr/kde/3.5/lib64

/usr/qt/3/lib

/usr/qt/3/lib32

/usr/qt/3/lib64

/usr/kde/3.4/lib

/usr/kde/3.4/lib32

/usr/kde/3.4/lib64

/usr/lib/libstdc++-v3/

```

Ho una scheda video Nvidia e installati i driver instabili(~amd64) che sono alla versione 1.0-8174

Inoltre il mio kde è alla versione 3.4.3 installato con "emerge kde-meta".

C'è qualcuno che mi può aiutare? grazie a tutti in anticipoLast edited by Artifex2754 on Sat Dec 17, 2005 9:19 pm; edited 1 time in total

----------

## CarloJekko

prova a lanciare questo comando

```
revdep rebuild 
```

oppure

```
revdep rebuild --soname libX11.so.6
```

----------

## cloc3

Dai un occhio qui.

E' un problema tipico quando viene cambiato il compilatore.

Ci sono anche howto specifici nella documetnazione.

Per esempio

----------

## gutter

 *CarloJekko wrote:*   

> prova a lanciare questo comando
> 
> ```
> revdep rebuild 
> ```
> ...

 

Solo per dovere di cronaca, il comando corretto è:

```
revdep-rebuild
```

mancava un "-"  :Wink: 

----------

## Artifex2754

Ciao grazie mille per il vostro aiuto ma purtroppo non sono ancora riuscito a risolvere l'errore.

Ho provato a lanciare 

```
revdep-rebuild
```

 e poi, dopo aver visto che non funzionava, a lanciare 

```
revdep-rebuild  --soname libX11.so.6
```

 ma anche così non ho risolto niente.

Ho seguito alla lettera i link di cloc3 , senza però riuscire a risolvere il problema.

Intanto sto ricompilando completamente il sistema con

```
 emerge -e system 
```

e poi con 

```
emerge -e world
```

sperando in questo mdo di risolvere il problema.

----------

## cloc3

 *Artifex2754 wrote:*   

> ... ma anche così non ho risolto niente.
> 
> Ho seguito alla lettera i link di cloc3 , senza però riuscire a risolvere il problema.
> 
> Intanto sto ricompilando completamente il sistema 

 

Forse oramai è tardi per riprendere la via breve. Ricompilando il sistema dovrebbe andare tutto a posto.

In realtà, il fenomeno che ti è accaduto dipende dal cambiamento di gcc.

Non è vero che le librerie sono sparite, ma le cerca in un posto sbagliato.

Se guardi qui:

```

cloc3@gentoo-amd ~ $ ls /usr/lib/gcc/i686-pc-linux-gnu/

3.3.4/  3.4.4/

```

Ci trovi le cartelle dove gcc cerca le librerie. Se per le cercasse all'indirizzo del vecchio compilatore, ad esempio, in ../3.4.3 farebbe cilecca.

Leggendo bene il messaggio di errore del compilatore, questo si capisce molte bene.

Allora dovrei dare questo comando:

```

fix_libtool_files.sh 3.4.3

```

Osserva bene che ho indicato il nome della liberia vecchia, oramai dismessa e non di quella nuova, come qui è spiegato da GhePeU

----------

## CarloJekko

 *cloc3 wrote:*   

> 
> 
> ```
> 
> fix_libtool_files.sh 3.4.3
> ...

 

```
fix_libtool_files.sh x.y.z

```

dove x.y.z. dovrebbero essere i valori del vecchio compilatore... non del nuovo... in questo caso

```
fix_libtool_files.sh 3.3.4 

```

oppure (3.3.5 o 3.3.5-r2 ecc...)

----------

## Artifex2754

Mi sono ricompilato tutto il sistema(circa 2 giorni con il computer sempre acceso!), ma anche così non ho risolto.

Comunque in precedenza avevo già provato a dare 

```
fix_libtool_files.sh 3.4.3 
```

senza però risolvere niente.

Inoltre 

```
 artifex@localhost / $  ls /usr/lib/gcc/x86_64-pc-linux-gnu/

3.4.4

```

Dove è andata a finire la cartella del mio vecchio compilatore?

----------

## gutter

Posta il risultato dei seguenti comandi:

```
# emerge info
```

```
# emerge -pv xorg-x11
```

```
# equery belongs /usr/lib/libX11.so.6
```

P.S.: equery lo trovi in:

```

*  app-portage/gentoolkit

      Latest version available: 0.2.1_rc3

      Latest version installed: 0.2.1_rc3

      Size of downloaded files: 80 kB

      Homepage:    http://www.gentoo.org/proj/en/portage/tools/index.xml

      Description: Collection of administration scripts for Gentoo

      License:     GPL-2
```

----------

## Artifex2754

Grazie ancora per l'aiuto   :Very Happy: 

```
 localhost ~ # emerge info

Portage 2.0.51.22-r3 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.14-gentoo-r2 x86_64)

=================================================================

System uname: 2.6.14-gentoo-r2 x86_64 AMD Athlon(tm) 64 Processor 3500+

Gentoo Base System version 1.6.13

dev-lang/python:     2.3.5-r2, 2.4.2

sys-apps/sandbox:    1.2.12

sys-devel/autoconf:  2.13, 2.59-r6

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1

sys-devel/binutils:  2.16.1

sys-devel/libtool:   1.5.20

virtual/os-headers:  2.6.11-r2

ACCEPT_KEYWORDS="amd64"

AUTOCLEAN="yes"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=k8 -pipe -O2"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control"

CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"

CXXFLAGS="-march=k8 -pipe -O2"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoconfig distlocks sandbox sfperms strict"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo"

LINGUAS="it"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="amd64 X alsa arts audiofile avi berkdb bitmap-fonts bzip2 cdr crypt cups curl dts dvd eds emboss encode expat fam ffmpeg flac foomaticdb fortran gif glut gnome gpm gstreamer gtk gtk2 idn imlib ipv6 jpeg kde lcms lzw lzw-tiff mad matroska mng mp3 mpeg ncurses nls nvidia ogg opengl pam pcre pdflib perl png python qt quicktime readline sdl spell ssl tcpd tiff truetype truetype-fonts type1-fonts udev usb userlocales vorbis wx-window xine xml2 xmms xpm xv zlib linguas_it userland_GNU kernel_linux elibc_glibc"

Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY

```

```
 localhost ~ # emerge -pv xorg-x11

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild   R   ] x11-base/xorg-x11-6.8.2-r6  (-3dfx) (-3dnow) +bitmap-fonts -cjk -debug -dlloader -dmx -doc -font-server -insecure-drivers +ipv6 -minimal (-mmx) +nls -nocxx +opengl +pam -sdk (-sse) -static +truetype-fonts +type1-fonts (-uclibc) -xprint +xv 0 kB

Total size of downloads: 0 kB

```

```
localhost ~ # equery belongs /usr/lib/libX11.so.6

[ Searching for file(s) /usr/lib/libX11.so.6 in *... ]

```

----------

## gutter

Prova a forzare l'installazione della:

```
xorg-x11-6.8.2-r4 
```

se va posta un bugreport per la r6.

----------

## Artifex2754

Ho provato a fare come dici tu gutter, ma anche così nulla è cambiato.

Per installare xorg-x11-6.8.2-r4 ho fatto così:

```
emerge unmerge =xorg-x11-6.8.2-r6
```

e poi

```
emerge =xorg-x11-6.8.2-r4
```

Avete qualche altra idea? Sono veramente disperatoooooo!

----------

## CarloJekko

vedi se hai questi files  e dove sono

libX11.so.0

libX11.so.6.2

libX11.so.6

libX11.a

controlla che siano in /usr/lib

o in /usr/lib/X11R6 se no hai le LD_PATH sbagliate...

vedi un pò

----------

## Artifex2754

Per cercare la prima libreria ho fatto:

```
localhost lib64 # locate libX11.so.0
```

 che non ha prodotto nessun output facendomi capire che la libX11.so.0  non esiste nel mio sistema, anche se non riesco a capire il perchè.

Poi 

```
localhost lib64 # locate libX11.so.6

/usr/lib64/libX11.so.6

/usr/lib64/libX11.so.6.2

```

e

```
localhost lib64 # locate libX11.a

/usr/lib64/libX11.a

```

A questo punto ho editato il file /etc/env.d/10xorg agguingendo  a LDPATH /usr/lib64.

Quindi il file finale è 

```
localhost env.d # cat 10xorg

LDPATH="/usr/lib:/usr/lib64"

XINITRC=/etc/X11/xinit/xinitrc

CONFIG_PROTECT=/usr/lib/X11/xkb
```

Poi ho fatto env-update && source /etc/profile , e ho riavviato il server X.

Tutto ciò però non ha ancora risolto nulla. Ho sbagliato qualcosa?

Spero proprio di sì almeno c'è qualche possibilità di risolvere il problema!

----------

## cloc3

Sembra proprio difficile da capire.

Io ho la stessa configurazione tua, e non ho problemi.

Forse, rispetto a te, ho anche le librerie di emulazione:

```

s939 ~ # slocate libX11.so.6

/mnt/hda6/usr/lib64/libX11.so.6

/mnt/hda6/usr/lib64/libX11.so.6.2

/usr/lib64/libX11.so.6

/usr/lib64/libX11.so.6.2

/emul/linux/x86/usr/lib/libX11.so.6

/emul/linux/x86/usr/lib/libX11.so.6.2

```

Ma non credo che, ad installarle, cambieresti gran che.

Al limite, puoi mettere un link vedere se se la beve:

```

ln -sfn  /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4  /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3

```

Se funziona, prendila come soluzione provvisoria, perché alla lunga, può creare un sistema incoerente.

----------

## Artifex2754

Ho dat o il comando che tu mi hai suggerito ed in effeti l'errore 

```
error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory

```

 è scomparso ma al suo posto c'è un bel 

```
error while loading shared libraries: libqt.so.2: cannot open shared object file: No such file or directory

```

Inoltre mi sembra molto strano che il sistema ricerchi le librerie ancora in /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3 nonstonte abbia seguito

tutti i passaggi per la migrazione al nuovo gcc.

----------

## cloc3

 *Artifex2754 wrote:*   

> ... ed in effeti l'errore 
> 
> ```
> error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
> 
> ...

 

A questo punto ridarei ad oltranza il fix_libtool_files.sh 3.4.3, perché da quello che dici sembra che sia proprio quello l'indirizzo giusto. Non so spiegare, ma capita talvolta che capisca il comando alla seconda ripetizione   :Shocked:  .

In ogni caso, alla fine dovresti riuscire a creare una condizione stabile, che ti permetta di togliere il link.

Per il qt, dovrebbe essere sufficiente ricompilarle. Anzi, revdep-rebuild -pv te lo dovrebbe suggerire spontaneamente.

a proposito. digitare i comandi con le dita incrociate sotto il sedere.

----------

## Artifex2754

Incrocio le dita, le metto sotto il sedere dico 3 ave maria e un padre nostro e poi do

```
localhost ~ # fix_libtool_files.sh 3.4.3

 * Scanning libtool files for hardcoded gcc library paths...

 *   [1/22] Scanning /lib ...

 *   [2/22] Scanning /usr/lib ...

 *   [3/22] Scanning /emul/linux/x86/lib ...

 *   [4/22] Scanning /emul/linux/x86/usr/lib ...

 *   [5/22] Scanning /lib32 ...

 *   [6/22] Scanning /lib64 ...

 *   [7/22] Scanning /usr/games/lib ...

 *   [8/22] Scanning /usr/kde/3.4/lib ...

 *   [9/22] Scanning /usr/kde/3.4/lib32 ...

 *   [10/22] Scanning /usr/kde/3.4/lib64 ...

 *   [11/22] Scanning /usr/kde/3.5/lib ...

 *   [12/22] Scanning /usr/kde/3.5/lib32 ...

 *   [13/22] Scanning /usr/kde/3.5/lib64 ...

 *   [14/22] Scanning /usr/lib32 ...

 *   [15/22] Scanning /usr/lib64 ...

 *   [16/22] Scanning /usr/local/lib ...

 *   [17/22] Scanning /usr/local/lib32 ...

 *   [18/22] Scanning /usr/local/lib64 ...

 *   [19/22] Scanning /usr/qt/3/lib ...

 *   [20/22] Scanning /usr/qt/3/lib32 ...

 *   [21/22] Scanning /usr/qt/3/lib64 ...

 *   [22/22] Scanning /usr/x86_64-pc-linux-gnu/lib ...

```

 Ma nonostante tutte le mie precauzioni mi viene sempre restituito un bel 

```
error while loading shared libraries: libqt.so.2: cannot open shared object file: No such file or directory

```

Per quanto riguarda revdep-rebuild esculdo che possa risolvere il problema perchè mi sono ricompilato con gcc 3.4.4, con i comandi emerge -e system e emerge -e world,

tutto il mio sistema mettendoci all'incirca 2 giorni. Comunque per scrupolo ho fatto 

```
localhost dev-c++ # revdep-rebuild -pv

Checking reverse dependencies...

Packages containing binaries and libraries broken by any package update,

will be recompiled.

Collecting system binaries and libraries... done.

  (/root/.revdep-rebuild.1_files)

Collecting complete LD_LIBRARY_PATH... done.

  (/root/.revdep-rebuild.2_ldpath)

Checking dynamic linking consistency...

 done.

  (/root/.revdep-rebuild.3_rebuild)

Assigning files to ebuilds... Nothing to rebuild

Evaluating package order... done.

  (/root/.revdep-rebuild.5_order)

Dynamic linking on your system is consistent... All done.
```

che non mi suggerisce affatto di ricompilare le librerire qt.

Inoltre revdep-rebuild l'avrò eseguito  una decina di volta proprio per essere sicuro 

di aver ricompilato tutto con il nuovo compilatore.

Comunque alla fine mi da sempre

```
rror while loading shared libraries: libqt.so.2: cannot open shared object file: No such file or directory

```

E se mi reinstallassi gentoo?

----------

## cloc3

 *Artifex2754 wrote:*   

> 
> 
> E se mi reinstallassi gentoo?

 

Funzionerebbe. Ma poi, cosa impari?

Secondo me, adesso il problema 1 è risolto.

Io compilerei le qt.

Se va bene, dopo, proverei a togliere il link e vedere se regge.

----------

## Artifex2754

Allora mi sono ricompilato le qt per l'ennesima volta dando il comando

```
emerge x11-libs/qt
```

ma l'errore ancora persiste.

----------

## Artifex2754

Inoltre ho notato che eliminando il link prima creato l'errore che si verifica è soltanto quello relativo alle qt e non quello di 

libX11.so.6.. Quindi è possibile pensare che la configurazione dei percorsi delle librerie di xorg dovrebbe essere corretta da sola(anche se non immaggino come), al contrario invece di quella delle librerie qt.

----------

## cloc3

 *Artifex2754 wrote:*   

> Inoltre ho notato che eliminando il link prima creato l'errore che si verifica è soltanto quello relativo alle qt 

 

Il problema qt è doppio strano.

Guarda un po':

```

linux99 ~ # equery b libqt.so.2

[ Searching for file(s) libqt.so.2 in *... ]

linux99 ~ # equery b libqt.so

[ Searching for file(s) libqt.so in *... ]

x11-libs/qt-3.3.4-r8 (/usr/qt/3/lib/libqt.so -> libqt-mt.so)

```

Io proprio non ho le qt - 2, ma ho le 3. E sto usando un'installazione senza tilde.

Sei sicuro che si tratti ancora di un comportamento generalizzato e non di un singolo pacchetto scemo, che blocca tutti gli altri?

Alla peggio, cosa succede se piazzi un link imbroglione - come prima?

----------

## Artifex2754

Anch'io ho la stessa tua situazione 

```
localhost ~ # equery b libqt.so.2

[ Searching for file(s) libqt.so.2 in *... ]

localhost ~ # equery b libqt.so

[ Searching for file(s) libqt.so in *... ]

x11-libs/qt-3.3.4-r8 (/usr/qt/3/lib64/libqt.so -> libqt-mt.so)

```

Inoltre se con un link imbroglione intendi creare un link a /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3 che punti a /usr/qt/3/lib64/ l'ho fatto

ma con esito nullo. 

 *cloc3 wrote:*   

> Sei sicuro che si tratti ancora di un comportamento generalizzato e non di un singolo pacchetto scemo, che blocca tutti gli altri?

 

Scusa ma non ho capito che vuoi dire.

Comunque tutti questi errori riscontrati fino adesso, quello della libX11.so.6 e delle qt, si verificano durante il mio tentativo di installazzione di matrix-GL e Devcpp.Nel primo caso una volta fatto il

link simbolico come da te suggerito il salvaschermo si installa anche se  con degli errori perchè non riesce a trovare qualcosa, ma questa è un'altra cosa. Invece Devcpp anche dopo aver fatto il link

e quindi dopo aver trovato correttamente la libX11.so.6 cerca anche la libqt.so.2  che a quanto pare non ho installato sul mio sistema. 

Scusami se ho detto cavolate ma questo problema mi sta facendo davvero impazzire!!!   :Confused: 

----------

## cloc3

 *Artifex2754 wrote:*   

> 
> 
> Comunque tutti questi errori riscontrati fino adesso, quello della libX11.so.6 e delle qt, si verificano durante il mio tentativo di installazione di matrix-GL e Devcpp

 

Ok. Ma alllora questi sono pacchetti secondari.

Almeno, io non li conosco. Tanto che non li trovo neppure con 'eix matrix' o 'eix Devcpp'. Fai un emerge sync e un 'emerge -uDpv world' .

Il problema principale, che ti bloccava totalmente l'installazione, mi sembra risolto con un fix_libtool_files. Pur se al secondo o terzo tentativo.

Io metterei risolto e posterei eventualmente il nuovo problema delle qt in un topic separato.

----------

## Artifex2754

Va bene farò come dici te. Comunque adesso, anche se non so come e perchè, non fa più neanche l'errore delle qt nonstante abbia cancellato

il vecchio link. L'errore che invece mi da adesso è 

```
symbol lookup error: /lib/libqtintf.so: undefined symbol: __ti10QDropEvent
```

Cosa potrebbe essere secondo te?

----------

