# [GCC Compilation] Erreur pendant la compilation de GCC

## the_nicam

Bonjours.

Je viens de faire l'acquisition d'un serveur, J'ai installé Gentoo 2007 64Bit

Détails du CPU: 

 *Quote:*   

> 
> 
> processor       : 7
> 
> vendor_id       : GenuineIntel
> ...

 

Version de GCC Actuelle et update:

 *Quote:*   

> 
> 
> sys-devel/gcc
> 
>       Latest version available: 4.4.1
> ...

 

Kernel

 *Quote:*   

> 
> 
> 2.6.27.10-64 x86_64 Intel(R) Xeon(R) CPU X3360 @ 2.83GHz GenuineIntel GNU/Linux
> 
> 

 

Erreur pendant la compilation de GCC

 *Quote:*   

> 
> 
> make[5]: entrant dans le répertoire « /var/tmp/portage/sys-devel/gcc-4.4.1/work/build/x86_64-pc-linux-gnu/32/libgcc »
> 
> # If this is the top-level multilib, build all the other
> ...

 

Make.conf

 *Quote:*   

> 
> 
> cat /etc/make.conf
> 
> CFLAGS="-O2 -pipe -march=nocona"
> ...

 

Profile

 *Quote:*   

> 
> 
> /etc/make.profile -> portage/profiles/default/linux/amd64/2008.0/server/
> 
> 

 

J'ai pensé à une erreur de profile ou de march mais après quelques test je ne trouve pas

----------

## netfab

 *Quote:*   

> 
> 
> > /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or
> 
> > directory
> ...

 

http://gcc.gnu.org/ml/fortran/2008-09/msg00118.html

----------

## the_nicam

Merci beaucoup je comprend enfin l'erreur.

Peut-tu me dire où se place le "--disable-multilib" ou comment installer les "32 bit glibc headers"

----------

## netfab

Il faut prendre le problème dans l'autre sens :

 *https://bugs.gentoo.org/show_bug.cgi?id=246446#c2 wrote:*   

> 
> 
> gnu/stubs-32.h is provided by glibc.  if yours isnt providing it, you dont have
> 
> a multilib glibc.  that means your gcc wont build with multilib support, so you
> ...

 

Donc :

 *Quote:*   

> 
> 
> $ ls -l /usr/portage/profiles/default/linux/amd64/10.0/
> 
> total 24
> ...

 

----------

## the_nicam

OK, donc je ne comprend plus rien maintenant  :Sad:  je dois faire quoi avec ça ?

----------

## Leander256

Tu n'aurais pas changé de profil en cours d'installation par hasard? Est-ce que tu peux donner le résultat de la commande:

```
emerge -vp glibc gcc
```

Je ne sais pas si ça a changé depuis mais la dernière fois que j'ai voulu passer d'un profil no-multilib à un profil multilib, ça a été assez laborieux.

----------

## the_nicam

 *Quote:*   

> 
> 
> [ebuild   R   ] sys-libs/glibc-2.9_p20081201-r2  USE="(multilib) nls -debug -gd -glibc-omitfp (-hardened) -profile (-selinux) -vanilla" 0 kB
> 
> [ebuild   R   ] sys-devel/gcc-4.3.2-r3 [4.1.2] USE="fortran mudflap (multilib) nls nptl openmp (-altivec) -bootstrap -build -doc (-fixed-point) -gcj -gtk (-hardened) -ip28 -ip32r10k -libffi -multislot (-n32) (-n64) -nocxx -nopie -objc -objc++ -objc-gc -test -vanilla" 0 kB
> ...

 

Même après la remise a neuf du serveur par le fournisseur des que je veux emerger GCC sa me refais l'erreur...

Il doit y avoir un problème ailleurs...

----------

## the_nicam

Après quelques essais, je suis enfin parvenu à compiler GCC.

J'ai fait:

 *Quote:*   

> 
> 
> emerge glibc -1
> 
> emerge gcc -1
> ...

 

Et voila, plus d'erreur... je n'ai pas compris pourquoi.

----------

## netfab

Probablement que ta glibc au départ était compilée en no-multilib.

Et comme tu es sur un profil amd64/2008.0/server, qui je suppose est un profil multilib, une incompatibilité apparait.

Vu que tu recompiles la glibc en premier, elle passe en multilib, les headers glibc 32-bit pointent le bout de leur nez, et gcc se recompile comme il faut.

Une autre solution aurait été de passer ton profil à amd64/2008.0/no-multilib pour être en pur 64-bit.

Tout ceci n'est que spéculation, je n'ai jamais encore joué avec l'amd64.

----------

## the_nicam

Le problème est que j'ai besoin du support 32bit car quelques programmes (serveurs de jeux) ne sont qu'expérimentaux en 64bit.

----------

## Pixys

 *the_nicam wrote:*   

> Je viens de faire l'acquisition d'un serveur, J'ai installé Gentoo 2007 64Bit

 

Pourquoi une 2007 ? Ça sent le serveur OVH/kimsufi, non ?

----------

