Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Debian 3r1 : gcc 3.0.4 crashe tout le temps.

8 réponses
Avatar
Jeannot Lelapin
Bonjour à toutes à tous,

Après avoir installé Debian Woody, le kernel 2.4.21 pour un Athlon
XP1800+, je recommence mes développements C++.

Mes sources C++ compile avec MSVC++6 et gcc3.2.2 sous cygwin 1.3.
Mais maintenant, à moi la belle vie sous linux.

Par défaut, Debian Woody installe gcc 2.95 et gcc 3.0.4. Tel que je l'ai
compris, des liens symboliques sont crées pour passé d'une version à une
autre.

Les liens pour la version 2.95 sont les suivants :
/usr/bin/cpp -> /usr/bin/cpp-2.95
/usr/bin/g++ -> /usr/bin/g++-2.95
/usr/bin/g77 -> /usr/bin/g77-2.95
/usr/bin/gcc -> /usr/bin/gcc-2.95
/usr/bin/gcov -> /usr/bin/gcov-2.95

Avec g++2.95, j'arrive à compiler les librairies dont je me sers (
Xerces pour le XML, log4cpp pour générer des fichiers de log, ACE pour
les threads, les sockects, les timers,...)
Mais avec g++2.95, mes sources compilent sans problèmes mais ne link
plus du tout avec la librairie ACE.

Alors je décide de changer de version de g++, puisqu'avec g++3.2.2 sous
cygwin ça compile et ça link finger in the nose. Les liens sont
maintenants les suivants :
/usr/bin/cpp -> /usr/bin/cpp-3.0
/usr/bin/g++ -> /usr/bin/g++-3.0
/usr/bin/g77 -> /usr/bin/g77-3.0
/usr/bin/gcc -> /usr/bin/gcc-3.0
/usr/bin/gcov -> /usr/bin/gcov-3.0

Alors là, même la compilation des librairies ne passe pas. g++
n'arrêtent pas de planter. Example de plantage lors de la compilation de
la librairie ACE :
Log_Msg_IPC.cpp: In destructor `ACE_Log_Msg_IPC::~ACE_Log_Msg_IPC()':
Log_Msg_IPC.cpp:15: Internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

Je relance le make, ca repart et ca replante un peu plus loin.
Etc, etc,...

En ce qui concerne mon code, même topo.

Pourquoi donc que gcc3.0 plante ?
Dans le doute le réinstalle les paquets suivants :
apt-get --reinstall install libstdc++2.10-dbg libg++2.8.1.3-dbg
g77-2.95-doc gcc-3.0-doc gcc-2.95-doc cpp-2.95-doc libg++2.8.1.3-dev
libg++2.8.1.3-glibc2.2 gccchecker colorgcc cxref cpp gcc g77 cpp-2.95
g++-2.95 gcc-2.95 libstdc++2.10-dev libstdc++2.10-glibc2.2 g77-2.95
cpp-3.0 gcc-3.0 gcc-3.0-base libgcc1 g77-3.0 g++-3.0

Et bien ca ne marche pas mieux !

Qu'est-ce que j'ai oublié ?

Comment peut-on se servir de gcc3.0, voir même d'une version plus
récente sans désinstaller gcc2.95 ( si j'essaye d'enlever ce paquet, apt
veut enlever un très grand nombre de paquet que je veux garder) ?

Idées, conseils,... bienvenus

Cordialement,

Jeannot Lelapin

8 réponses

Avatar
J. Mayer
On Sat, 06 Sep 2003 19:32:08 +0200, Jeannot Lelapin wrote:

Bonjour à toutes à tous,

Bonsoir,


Alors là, même la compilation des librairies ne passe pas. g++
n'arrêtent pas de planter. Example de plantage lors de la compilation de
la librairie ACE :
Log_Msg_IPC.cpp: In destructor `ACE_Log_Msg_IPC::~ACE_Log_Msg_IPC()':
Log_Msg_IPC.cpp:15: Internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

Pourquoi donc que gcc3.0 plante ?


Gcc qui plante avec une segmentation fault, c'est toujours un probleme
matériel. Les suspects sont, dans l'ordre:
- la mémoire
- le CPU (particulièrement, le cache)
- le chipset.
Essayes déjà de tester ta RAM pendant une journée avec memtest86,
si ça passe (c'est douteux), la RAM et le cache CPU sont OK.
Dernière chose: si ton CPU est overclocké, revient à la fréquence
d'origine. Pour info, j'ai un Athlon 1700+ que j'avais configuré
comme un 1800+. J'ai eu des problèmes dès que la chaleur est
monté, au mois d'aout. Depuis que je suis revenu en config 1700+
je n'ai plus eu aucun pb...

Avatar
T'aZ
On Sun, 07 Sep 2003 00:35:24 +0200, J. Mayer wrote:


Pourquoi donc que gcc3.0 plante ?


Gcc qui plante avec une segmentation fault, c'est toujours un probleme
matériel. Les suspects sont, dans l'ordre:


heu, non pas toujours
gcc n'est pas parfait , et il se pourait que ca soit un bug, encore plus
avec la version 3.0 , voir le site pour les problemes connus

--
T'aZ |Jabber:|GPG keyID:E051925D|http://taz.prout.be
*They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety.* Benjamin Franklin 1759
Faq TCPA|Palladium|DRM http://www.cl.cam.ac.uk/~rja14/tcpa-faq.html


Avatar
J. Mayer
On Sun, 07 Sep 2003 00:42:05 +0200, T'aZ wrote:

On Sun, 07 Sep 2003 00:35:24 +0200, J. Mayer wrote:


Pourquoi donc que gcc3.0 plante ?


Gcc qui plante avec une segmentation fault, c'est toujours un probleme
matériel. Les suspects sont, dans l'ordre:


heu, non pas toujours
gcc n'est pas parfait , et il se pourait que ca soit un bug, encore plus
avec la version 3.0 , voir le site pour les problemes connus


Qu'il n'arrive pas à compiler dans certaines situations, OK,
qu'il fasse des segfaults sans problème matériel: non.
google: gcc signal 11
le résultat est éloquant (segfault = signal 11).



Avatar
Jeannot Lelapin
J'ai testé ma mémoire avec memtest86. Tout est ok.
Je vais changer mon code et voir ce qui peut bloquer avec gcc2.95. La
librairie ACE compile, ainsi que ces exemples avec cette version de gcc.

Merci.

Jeannot Lelapin



Jeannot Lelapin wrote:
Bonjour à toutes à tous,

Après avoir installé Debian Woody, le kernel 2.4.21 pour un Athlon
XP1800+, je recommence mes développements C++.

Mes sources C++ compile avec MSVC++6 et gcc3.2.2 sous cygwin 1.3.
Mais maintenant, à moi la belle vie sous linux.

Par défaut, Debian Woody installe gcc 2.95 et gcc 3.0.4. Tel que je l'ai
compris, des liens symboliques sont crées pour passé d'une version à une
autre.

Les liens pour la version 2.95 sont les suivants :
/usr/bin/cpp -> /usr/bin/cpp-2.95
/usr/bin/g++ -> /usr/bin/g++-2.95
/usr/bin/g77 -> /usr/bin/g77-2.95
/usr/bin/gcc -> /usr/bin/gcc-2.95
/usr/bin/gcov -> /usr/bin/gcov-2.95

Avec g++2.95, j'arrive à compiler les librairies dont je me sers (
Xerces pour le XML, log4cpp pour générer des fichiers de log, ACE pour
les threads, les sockects, les timers,...)
Mais avec g++2.95, mes sources compilent sans problèmes mais ne link
plus du tout avec la librairie ACE.

Alors je décide de changer de version de g++, puisqu'avec g++3.2.2 sous
cygwin ça compile et ça link finger in the nose. Les liens sont
maintenants les suivants :
/usr/bin/cpp -> /usr/bin/cpp-3.0
/usr/bin/g++ -> /usr/bin/g++-3.0
/usr/bin/g77 -> /usr/bin/g77-3.0
/usr/bin/gcc -> /usr/bin/gcc-3.0
/usr/bin/gcov -> /usr/bin/gcov-3.0

Alors là, même la compilation des librairies ne passe pas. g++
n'arrêtent pas de planter. Example de plantage lors de la compilation de
la librairie ACE :
Log_Msg_IPC.cpp: In destructor `ACE_Log_Msg_IPC::~ACE_Log_Msg_IPC()':
Log_Msg_IPC.cpp:15: Internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

Je relance le make, ca repart et ca replante un peu plus loin.
Etc, etc,...

En ce qui concerne mon code, même topo.

Pourquoi donc que gcc3.0 plante ?
Dans le doute le réinstalle les paquets suivants :
apt-get --reinstall install libstdc++2.10-dbg libg++2.8.1.3-dbg
g77-2.95-doc gcc-3.0-doc gcc-2.95-doc cpp-2.95-doc libg++2.8.1.3-dev
libg++2.8.1.3-glibc2.2 gccchecker colorgcc cxref cpp gcc g77 cpp-2.95
g++-2.95 gcc-2.95 libstdc++2.10-dev libstdc++2.10-glibc2.2 g77-2.95
cpp-3.0 gcc-3.0 gcc-3.0-base libgcc1 g77-3.0 g++-3.0

Et bien ca ne marche pas mieux !

Qu'est-ce que j'ai oublié ?

Comment peut-on se servir de gcc3.0, voir même d'une version plus
récente sans désinstaller gcc2.95 ( si j'essaye d'enlever ce paquet, apt
veut enlever un très grand nombre de paquet que je veux garder) ?

Idées, conseils,... bienvenus

Cordialement,

Jeannot Lelapin



Avatar
J. Mayer
On Wed, 10 Sep 2003 19:12:31 +0200, Jeannot Lelapin wrote:

J'ai testé ma mémoire avec memtest86. Tout est ok.
Je vais changer mon code et voir ce qui peut bloquer avec gcc2.95. La
librairie ACE compile, ainsi que ces exemples avec cette version de gcc.


Au moins, tu es sur que ta RAM est bonne :=)
Essaye d'updater gcc avec une version plus récente (gcc 3.3...)...
Si ça passe, mea culpa, c'est bien un bug de gcc...
Sinon, si tes sources sont open, met les quelques part accessible,
et envoies moi le lien, j'essaierai avec des gcc récents...

Avatar
Jeannot Lelapin
Merci pour ton aide.
Je viens de modifier mon code, maintenant ca link avec ACE 5.3.3 avec
gcc 2.95.
Donc ça marche, mon code tourne.

Je vais installer des versions plus récentes de gcc pour continuer mes
tests. Je voudrais essayer de faire cohabiter pacifiquement gcc2.95 avec
lequel j'arrive à développer et une version beaucoup plus récente genre
3.3 avec le système de paquet debian plutot que de compiler.
Pour changer de version de gcc, il suffit de changer les liens comme je
l'ai décrit dans le premier mail ou y-a-t-il des scripts de
configuration ou que sais-je encore ?

Jeannot Lelapin

J. Mayer wrote:
On Wed, 10 Sep 2003 19:12:31 +0200, Jeannot Lelapin wrote:


J'ai testé ma mémoire avec memtest86. Tout est ok.
Je vais changer mon code et voir ce qui peut bloquer avec gcc2.95. La
librairie ACE compile, ainsi que ces exemples avec cette version de gcc.



Au moins, tu es sur que ta RAM est bonne :=)
Essaye d'updater gcc avec une version plus récente (gcc 3.3...)...
Si ça passe, mea culpa, c'est bien un bug de gcc...
Sinon, si tes sources sont open, met les quelques part accessible,
et envoies moi le lien, j'essaierai avec des gcc récents...




Avatar
J. Mayer
On Thu, 11 Sep 2003 19:38:18 +0200, Jeannot Lelapin wrote:

Merci pour ton aide.
Je viens de modifier mon code, maintenant ca link avec ACE 5.3.3 avec
gcc 2.95.
Donc ça marche, mon code tourne.

Je vais installer des versions plus récentes de gcc pour continuer mes
tests. Je voudrais essayer de faire cohabiter pacifiquement gcc2.95 avec
lequel j'arrive à développer et une version beaucoup plus récente genre
3.3 avec le système de paquet debian plutot que de compiler.
Pour changer de version de gcc, il suffit de changer les liens comme je
l'ai décrit dans le premier mail ou y-a-t-il des scripts de
configuration ou que sais-je encore ?

Il suffit de déclarer:

export CC='gcc -V 2.95.3'
pour compiler avec gcc 2.95.3
et
export CC='gcc -V 3.3'
pour utiliser gcc 3.3...
Si ça ne marche pas bien, il faut revoir les Makefile...
...Ils devraient contenir quelque chose du style:
CC?=gcc
Si il y a CC:=gcc, ou quelque chose du style, il faut intervenir :=)

Avatar
Jeannot Lelapin
Merci J. Mayer.

Jeannot