# Cross-Compiling - Problema con GLIB

## Budus

Dunque: ho un x86_32 e la necessità di compilare per x86_64.

Cercando e leggendo in giro, ho come prima cosa installato crossdev e l'ho usato per installare l'ambiente base, con questo comando:

```
crossdev -t x86_64-unknown-linux-gnu
```

Direi che il tutto si è installato bene perché, provando a compilare il classico "hello world" e dando il comando:

```
file hello
```

ottengo:

```
hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
```

Bene, ora iniziano le grane.

Il programma che devo compilare io è un plug-in per un client che utilizza GTK+ (X-Chat); sempre dagli HOWTO letti, apprendo che occorre avere il cross-wrapper anche per pkg-config. Qui, non so se ho operato bene, ma ho ottenuto la cosa con:

```
emerge crossdev-wrapper
```

che effettivamente mi ha creato il comando x86_64-unknown-linux-gnu-pkg-config.

Non riesco ancora a compilare, perché mi manca GTK+; provo ad installarla e mi dice che manca GLIB. Provo ad installare GLIB e mi dice che manca libiconv. Per installare quest'ultima ho tribolato parecchio, perché risultava mascherata ma "senza maschera". Dopo varie ricerche - senza esito - ho avuto una strana intuizione e sono riuscito - non chiedetemi perché va - a risolvere il problema in questo modo:

```
ACCEPT_KEYWORDS="**" xemerge virtual/libiconv
```

(scrivo queste cose perché magari possono essere di aiuto ad altri anche per problemi diversi)

Ok, a questo punto, provo di nuovo con GLIB, dando un

```
xmerge glib
```

(xmerge è uno script che mi sono creato copiandolo dagli HOWTO, come ad esempio http://www.gentoo.org/proj/en/base/embedded/cross-development.xml, che funziona dopo aver opportunamente configurato la variabile SYSROOT, nel mio caso ho usato export SYSROOT=/usr/x86_64-unknown-linux-gnu)

Purtroppo ottengo questo errore:

```

checking for posix getpwuid_r... configure: error: in `/usr/x86_64-unknown-linux-gnu/tmp/portage/dev-libs/glib-2.22.3/work/glib-2.22.3':

configure: error: cannot run test program while cross compiling

```

Avete un qualche suggerimento da darmi ?

----------

## Budus

mmm, nessuna idea eh ?  :Confused: 

Secondo voi può valer la pena segnalarlo come bug ?

----------

## Budus

RISOLTO

Dunque, con questo comando:

```
EXTRA_ECONF='--cache-file=/tmp/glib.cache --with-libiconv=gnu' xmerge glib 
```

alla fine sono riuscito a compilare GLIB.

Inizialmente mi dava errore, non ho capito se, dopo avere tentato di installare gettext (ad un certo punto mi ha dato errore, non si installava e, dalla disperazione, ho riprovato GLIB), sia partito o sia frutto del parametro "gnu" di "--with-libiconv" (prima avevo usato "no") dato come ultimo tentativo.

----------

