[Linuxtrent] Re: Errore linkinh libsqlite3

  • From: Antonio Galea <antonio.galea@xxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Mon, 7 Nov 2011 23:36:23 +0100

2011/11/7 Mario Alexandro Santini <alexmario74@xxxxxxxxx>:
>
> Ora vedrai una magia:
>  $ nm /usr/lib/i386-linux-gnu/libsqlite3.a | grep sqlite3_open
> 0006fda0 T sqlite3_open
> 0006fdc0 T sqlite3_open16
> 0006fd80 T sqlite3_open_v2
> Mi pare che sia a posto, sotto questo aspetto.

Sì, così è a posto.

> Qui le cose continuano ad essere strane:
>
> $ sudo dpkg -i libsqlite3-0_3.7.7-2ubuntu2_amd64.deb
> [sudo] password for mario:
> dpkg: errore nell'elaborare libsqlite3-0_3.7.7-2ubuntu2_amd64.deb (--install):
>  l'architettura del pacchetto (amd64) non corrisponde a quella del sistema 
> (i386)
> Si sono verificati degli errori nell'elaborazione:
>  libsqlite3-0_3.7.7-2ubuntu2_amd64.deb

Mh, qui qualcosa mi sfugge: il tuo sistema pensa di essere a
32bit, ma il compilatore è a 64?

Puoi forzare con

sudo dpkg --force-architecture -i libsqlite3-0_3.7.7-2ubuntu2_amd64.deb

(prima rimuovi il pacchetto dev per i386, però).

> $ uname -a
> Linux drako 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:50:42 UTC 2011 i686 
> athlon i386 GNU/Linux
> Deve essere rimasto metà sistema a 32....

Argh! Questo fa casino di sicuro sia al gcc che al resto. Se
non altro metterlo a posto non è difficile: dovrebbe bastarti
installare un kernel amd64 e riavviare con quello.

> Mi pare che questo comprenda solo gli header files e quindi sono
> "indipendenti" dall'architettura.

I library archives (.a e .la) che servono al linker sono proprio
in libsqlite3-dev: una volta che la tua distro ha capito di essere
a 64bit, dovresti riuscire ad avere quelli giusti senza forzarli.

> Ho l'impressione di dover risolvere un problema più impegnativo con la mia
> distribuzione...

Comincia col kernel, forse il grosso va a posto.

Vedi un po', a fare dei piccoli test ci fai imparare tutti ;-)

Antonio
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: