compilation avec un gcc externe au systeme

compilation avec un gcc externe au systeme - Installation - Linux et OS Alternatifs

Marsh Posté le 08-01-2010 à 17:46:49    

Pour des raisons un peu complexes, je souhaite utiliser une version récente de GCC (au moins 4.2, bon tant qu'a faire autant prendre la derniere, la 4.4.2).
L'admin a gentillement compilé et installé dans un path externe GCC 4.4.2, lisible sur réseau (montage NFS genre /usr/local/opt/gcc442)
Je compile mon soft comme suit :  
 
LD_LIBRARY_PATH=/usr/local/lib/
g++=/usr/local/opt/gcc442/bin/g++
 
Ca compile et les features (OpenMP) sont bien compilees, cool !
Sauf qu'il y a un probleme avec la glibc. Lors de l'execution de mon soft, j'obtiens ceci :
 
./Routing/routing: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./Routing/routing)
./Routing/routing: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./Routing/routing)
 
routing est le nom de mon executable. J'imagine qu'il y a moyen de preciser le path vers la bonne glibc ? Mais comment, j'ai beau chercher, je suis un peu limite la...
Merci !


---------------
Un blog qu'il est bien
Reply

Marsh Posté le 08-01-2010 à 17:46:49   

Reply

Marsh Posté le 08-01-2010 à 18:21:09    

Solution temporaire pas pratique : compiler avec gcc 4.4.2 les fichiers qui utilisent OpenMP. Linker avec le gcc systeme. Ensuite on peut meme compiler tout _sauf_ les fichiers utilisant openMP avec le compilo systeme (comme il est local c'est beaucoup plus rapide chez moi)...
 
Mais bon, c'est pas genial.


---------------
Un blog qu'il est bien
Reply

Marsh Posté le 08-01-2010 à 19:19:58    

un LD_LIBRARY_PATH=chemin/vers/la/glibc/qui/va//bien avant de lancer ton binaire devrait résoudre ton soucis.


Message édité par Mjules le 08-01-2010 à 19:20:14

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed