1

Bonjour,

Nouveau venu dans la communauté Linux, je rencontre quelques difficultés à compiler un logiciel de maillage pour permettre la résolution d'équations mathématiques selon la méthode des éléments finis. Le logiciel fait appel à de nombreuses bibliothèques, dont X11 et Motif.
La compilation échoue sur un message d'erreur de type Segmentation fault. Voici les messages obtenus lors de l'installation des codes sources et une recherche sous gdb des causes du problème.

make -k
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o main.o main.c
sh newvers.sh
gcc -g -O0 -D_POSIX_SOURCE -c vers.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o xmgredit.o xmgredit.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o gridwin.o gridwin.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o fileswin.o fileswin.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o cedit.o cedit.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o events.o events.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o strwin.o strwin.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o objutils.o objutils.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o find.o find.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o allogrid.o allogrid.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o gridio.o gridio.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o gridutils.o gridutils.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o buildio.o buildio.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o boundio.o boundio.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o drawobjs.o drawobjs.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o drawgrid.o drawgrid.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o isol.o isol.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o stubs.o stubs.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o utils.o utils.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o io.o io.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o params.o params.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o malerts.o malerts.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o motifutils.o motifutils.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o vedglist.o vedglist.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o vgeometry.o vgeometry.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o vheap.o vheap.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o vmemory.o vmemory.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o voronoi.o voronoi.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o voutput.o voutput.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o vtriang.o vtriang.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o chersh.o chersh.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o draw.o draw.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o ps.o ps.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o xvlib.o xvlib.c
yacc pars.y
mv -f y.tab.c pars.c
gcc -g -O0 -D_POSIX_SOURCE -I/usr/X11R6/include -c -o pars.o pars.c
gcc -g -O0 -D_POSIX_SOURCE main.o vers.o xmgredit.o gridwin.o fileswin.o
statuswin.o propwin.o pomwin.o editwin.o modwin.o qualwin.o timerwin.o
slicewin.o graphwin.o isolwin.o buildwin.o printwin.o locatewin.o wvwin.o
imagewin.o monwin.o helpwin.o scalewin.o cedit.o events.o strwin.o
objutils.o find.o allogrid.o allobound.o allobuild.o gridio.o gridutils.o
buildio.o buildutils.o boundio.o boundutils.o drawobjs.o drawgrid.o
drawbound.o isol.o isolutils.o stubs.o utils.o io.o params.o malerts.o
motifutils.o vedglist.o vgeometry.o vheap.o vmemory.o voronoi.o voutput.o
vtriang.o chersh.o draw.o image_f_io.o ps.o xvlib.o pars.o -o
xmgredit5 -L/usr/X11R6/lib -static -lXm -shared -lXt -lXext -lXpm -lX11 -lm
rm pars.c

./xmgredit5
Erreur de segmentation (core dumped)
gdb xmgredit5 core
Program terminated with signal 11, segmentation fault
#0 0x00000001 in ?? ()
(gdb) where
#0 0x00000001 in ?? ()
Cannot access memory at address 0x0

La compilation semble s'effectuer convenablement (pas de message warning ou error) et l'appel des différentes bibliothèques est effectué correctement. Cependant, l'exécution se plante lamentablement.
Je fais appel aux adeptes de la compilation sous Linux. Quelqu'un peut il me donner une direction, une explication des causes de plantage et des conseils pour compiler avec succès cette application ?

Merci pour vos suggestions.
.J. LEFEVRE

2

A première vue, je dirais taille RAM+swap insufisante. T'as quoi comme quantité de mémoire ?
Mon site perso : http://www.xwing.info

3

lefevre2
a écrit : Quelqu'un peut il me donner une direction, une explication des causes de plantage

Quelques causes possibles (de la plus probable à la moins probable):
- bogue du logiciel que tu viens de compiler
- bogue de GCC
- bogue de yacc (YACC?! J'espère que c'est un symlink vers bison, sinon on est déjà mal partis!)
- bogue d'une des librairies utilisées (XFree86, Motif/LessTif, glibc, ...)
- bogue du kernel Linux
- défaut matériel
et des conseils pour compiler avec succès cette application ?

Quelques idées qui me viennent à l'esprit:
- mettre à jour le logiciel que tu viens de compiler s'il existe une version plus récente
- mettre à jour GCC
- vérifier que ton yacc est GNU Bison et pas un vieux yacc
- mettre à jour GNU Bison
- vérifier si tu utilises OpenMotif ou LessTif, et essayer d'utiliser l'autre
- mettre à jour LessTif ou OpenMotif
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

4

Merci pour les pistes. Je ne dispose pas du système pour vous apporter les précisions nécessaires. Je sais par contre que la taille mémoire est 1 Go (900 Ram + 100 swap), que la distri est mandrake 8.2 et les biblio pour au moins LessTif sont les plus récentes.

Je vérifierai tous vos suggestions point par point et vous tiendrai au courant de l'évolution.
Merci pour votre aide

5

eek 900 de RAM !!!!!

Perso, d*sous MDK 8.2, j'ai jamais eu de probleme pour compiler quoi que ce soit... Donc parmis les pistes que Kevin propose, je pencherai plutot pour ton logiciel buggé.
Mon site perso : http://www.xwing.info