Installation logiciel en ligne de commande (problème de make) [Résolu/Fermé]

Signaler
Messages postés
52
Date d'inscription
mardi 26 juin 2012
Statut
Membre
Dernière intervention
18 juillet 2019
-
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
-
Bonjour tout le monde,
je souhaite installer le logiciel surface evolver sur ubuntu 14.04, mais la logithèque ubuntu ne propose que la version 2.3 qui est trop ancienne pour mes besoins au travail. Donc j'ai téléchargé "evolver-2.70.tar.gz" et procédé aux instructions, mais impossible de l'installer.
Au make, j'obtiens

avec le choix "Start of system choices"
<
:src$ make
gcc -O3 -DGENERIC calcforc.o variable.o trirevis.o stringl.o stringq.o model.o fixvol.o query.o matrix.o grapher.o painter.o filml.o filmq.o torvol.o lexinit.o graphgen.o modify.o userio.o boundary.o curtest.o display.o yexparse.o lexyy.o ytab.o hessian.o evaltree.o cnstrnt.o verpopst.o popfilm.o machine.o veravg.o pixgraph.o tmain.o tordup.o wulff.o help.o psgraph.o check.o utility.o skeleton.o storage.o dump.o iterate.o filgraph.o zoom.o softimag.o mvgraph.o diffuse.o sqcurve.o klein.o command.o hidim.o simplex.o metric.o torus.o quotient.o alice.o sdrv.o odrv.o userfunc.o kusner.o simequi2.o geomgraph.o symtable.o exprint.o quantity.o meanint.o mindeg.o dodecGroup.o registry.o khyp.o gauss.o knot1.o eval_all.o lexinit2.o evalmore.o knot2.o knot3.o teix.o sqcurve2.o hessian2.o hessian3.o method1.o method2.o method3.o bk.o method4.o method5.o eval_sec.o sqcurve3.o metis.o lagrange.o nulgraph.o -o evolver -lm
evalmore.o: dans la fonction « more_other_stuff »:
evalmore.c:(.text+0x87f7): référence indéfinie vers « set_graphics_title »
evalmore.c:(.text+0x89e0): référence indéfinie vers « set_graphics_title »
evalmore.c:(.text+0x89f4): référence indéfinie vers « set_graphics_title »
collect2: error: ld returned 1 exit status
make: *** [evolver] Erreur 1
>

avec le choix "Generic Unix"
<:src$ make
gcc -O3 -DGENERIC -c xgraph.c
xgraph.c:56:22: fatal error: X11/Xlib.h: Aucun fichier ou dossier de ce type
#include <X11/Xlib.h>
^
compilation terminated.
make: *** [xgraph.o] Erreur 1
>

Pouvez vous m'aider à l'installer svp, j'en ai besoin pour mon travail.
Sinon, y a t-il un moyen de faire remonter l'info à la logithèque Ubuntu, afin qu'une version plus récente soit disponible?

Dans l'attente de votre aide.
Merci par avance.

indie

3 réponses

Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
936
Au vu du message
xgraph.c:56:22: fatal error: X11/Xlib.h: Aucun fichier ou dossier de ce type
#include <X11/Xlib.h>

installe déjà les fichiers en-tête de X11:
Sous ma Debian :
johand@bata:~/www/data/sqlite$ dpkg -S $(locate X11/Xlib.h)
libx11-dev:amd64: /usr/include/X11/Xlib.h


Sous Ubuntu, tu installeras donc libx11-dev avec une commande du genre:
 sudo apt-get install libx11-dev
. Ceci ne garantissant bien entendu aucunement l'absence d'autres packages de développement.
Notons que sous ma Debian Stretch , une recherche me donne ceci:
johand@bata:~/www/data/sqlite$ apt-cache show evolver
Package: evolver
Version: 2.30c.dfsg-3
...

Essaye de trouver un dépôt qui contient une version debianisée du logiciel adaptée à tes besoins(backports...).

Si j'ai le temps , je compilerai depuis les sources afin d'examiner les besoins pour la compilation.
man apt-cache; man dpkg
Gates gave ^W sold you the windows.
GNU gave us the whole house.(Alexandrin)
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
936
J'examine la situation avec les options "Linux Xwindows"

J'ai eu une erreur concernant un membre non défini de lstruct webstruct. Jai ajouté à tout hasard un int hide_flag dans web.h.
johand@bata:~/src/evolver-2.70/src$ diff web.h web_org.h
199,200c199
< int hide_flag;
< };
---
> }
;

J'obtiens en fin de make l'erreur suivante:

make -k
gcc -O3 -DLINUX -DOOGL calcforc.o variable.o trirevis.o stringl.o stringq.o model.o fixvol.o query.o matrix.o grapher.o painter.o filml.o filmq.o torvol.o lexinit.o graphgen.o modify.o userio.o boundary.o curtest.o display.o yexparse.o lexyy.o ytab.o hessian.o evaltree.o cnstrnt.o verpopst.o popfilm.o machine.o veravg.o pixgraph.o tmain.o tordup.o wulff.o help.o psgraph.o check.o utility.o skeleton.o storage.o dump.o iterate.o filgraph.o zoom.o softimag.o mvgraph.o diffuse.o sqcurve.o klein.o command.o hidim.o simplex.o metric.o torus.o quotient.o alice.o sdrv.o odrv.o userfunc.o kusner.o simequi2.o geomgraph.o symtable.o exprint.o quantity.o meanint.o mindeg.o dodecGroup.o registry.o khyp.o gauss.o knot1.o eval_all.o lexinit2.o evalmore.o knot2.o knot3.o teix.o sqcurve2.o hessian2.o hessian3.o method1.o method2.o method3.o bk.o method4.o method5.o eval_sec.o sqcurve3.o metis.o lagrange.o xgraph.o -L/usr/X11R6/lib -lX11 -o evolver -lm
evalmore.o: dans la fonction « more_other_stuff »:
evalmore.c:(.text+0x852e): référence indéfinie vers « set_graphics_title »
evalmore.c:(.text+0x856a): référence indéfinie vers « set_graphics_title »
evalmore.c:(.text+0x857e): référence indéfinie vers « set_graphics_title »
collect2: error: ld returned 1 exit status
Makefile:233: recipe for target 'evolver' failed
make: *** [evolver] Error 1


set_graphics est défini dans glutgraph.c. Je l'ajoute donc glutgraph.o dans la liste OBJ
Ce qui donne:make -k
gcc -O3 -DLINUX -DOOGL -c glutgraph.c
glutgraph.c: In function `glut_catcher':
glutgraph.c:2066:11: error: `SIGKICK' undeclared (first use in this function)
signal(SIGKICK,glut_catcher);
^
glutgraph.c:2066:11: note: each undeclared identifier is reported only once for each function it appears in
glutgraph.c: In function `draw_thread':
glutgraph.c:2100:20: warning: implicit declaration of function `pthread_self' [-Wimplicit-function-declaration]
draw_thread_id = pthread_self(); /* get thread id */
^
glutgraph.c:2103:3: warning: implicit declaration of function `pthread_setspecific' [-Wimplicit-function-declaration]
pthread_setspecific(thread_data_key,(void*)&glutgraph_thread_data);
^
glutgraph.c:2103:23: error: `thread_data_key' undeclared (first use in this function)
pthread_setspecific(thread_data_key,(void*)&glutgraph_thread_data);
^
glutgraph.c:2288:11: error: `SIGKICK' undeclared (first use in this function)
signal(SIGKICK,glut_catcher);
^
glutgraph.c: In function `display':
glutgraph.c:3405:22: error: `SIGKICK' undeclared (first use in this function)
kill(draw_pid,SIGKICK); /* unix version of kick */
^
Makefile:244: recipe for target 'glutgraph.o' failed
make: *** [glutgraph.o] Error 1
make: Target 'evolver' not remade because of errors


A ce point, il faut commencer une recherche sur le fond. Il y a des SIG* que je ne connais pas et qui ne sont pas référencés sur le net.
Un conseil :installe et lis la documentation de apt-file, mets la base de données associée à jour.

N'as-tu pas trouvé un rapport de compilation/constuction de cette version ?
Je continue mes recherches.

Bon amusement.
Messages postés
52
Date d'inscription
mardi 26 juin 2012
Statut
Membre
Dernière intervention
18 juillet 2019

Merci pour ta réponse.

En effet, entre temps j'avais installé la librairie, mais ca ne marche toujours pas:

:src$ make
gcc -O3 -DGENERIC -I/usr/include/X11 -c xgraph.c
xgraph.c: In function `xgraph_facet':
xgraph.c:247:11: error: `struct webstruct' has no member named `hide_flag'
if ( web.hide_flag && (t->color != CLEAR) && (t->color != UNSHOWN) )
^
make: *** [xgraph.o] Erreur 1


une idée?
Messages postés
52
Date d'inscription
mardi 26 juin 2012
Statut
Membre
Dernière intervention
18 juillet 2019

Merci beaucoup pour toute votre aide.

J'ai contacté le développeur, problème résolu!

En compilant avec Linux OpenGL, il faut d'abord supprimer les *.o qui sont liés à l'option -DPTHREADS.

Voilà :)
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
936
Content pour toi. Comme mathématicien je vais étudier cela en détail.
Du coup merci !!!