HeeksCAD Rev 1392
HeeksCAD Rev 1392
Bonjour,
La révision 1392, qui concerne la version 0.15.1 de HeeksCAD contient une nouveauté : l'appel à cmake pour la compilation et non plus à make.
Ce n'est pas gagné, j'ai dû batailler pour arriver à quelque chose.
D'abord, cmake, qui va créer le Makefile par la commande cmake CMakeLists.txt se heurte à une difficulté. Il ne trouve pas les bibliothèques OpenCascade. Il va donc falloir l'aider un peu.
Pour cela, éditer le fichier : /heekcad-read-only/cmake/Module/FindOpenCASCAD.cmake
Chercher la ligne : set( _libsearchpath /usr/lib /opt/occ/lib $ENV{CASROOT}/lib )
et remplacer les chemins de recherche par celui où se trouvent vos bibliothèques OpenCascade.
Pour la Mandriva 2010 64 bits, la ligne devient :
set( _libsearchpath /usr/lib64 $ENV{CASROOT}/lib )
Sauvegarder, puis revenir dans /heekcad-read-only/ et lancer cmake CMakeLists.txt
Makefile étant créé, lancer la commande make (avec les options que vous voulez)
La compilation est longue, beaucoup plus qu'avec make et le Makefile fourni avec les anciennes sources de HeeksCAD.
La première chose que l'on constate, c'est la division de l'exécutable. Jusqu'ici, HeeksCAD se résumait à un seul binaire.
Maitenant, cmake produit 3 bibliothèques et un exécutable:
- libheeksintf.so (l'interface)
- libsketchsolve.so (le solver d'esquisse paramétrique)
- libtinyxml.so (le parser XML pour les fichiers 3D produits)
- heekscad (exécutable).
Hélas, trois fois hélas, l'opération finale de linkage se heurte à des erreurs fatales et l'exécutable n'est pas produit (mais les trois bibliothèques : oui)
Or, avec l'ancien Makefile récupéré, la compilation s'effectue normalement, en ne génrant qu'un fichier exécutable.
Quelqu'un a-t-il réussi la compilation avec CMake?
Merci
André
La révision 1392, qui concerne la version 0.15.1 de HeeksCAD contient une nouveauté : l'appel à cmake pour la compilation et non plus à make.
Ce n'est pas gagné, j'ai dû batailler pour arriver à quelque chose.
D'abord, cmake, qui va créer le Makefile par la commande cmake CMakeLists.txt se heurte à une difficulté. Il ne trouve pas les bibliothèques OpenCascade. Il va donc falloir l'aider un peu.
Pour cela, éditer le fichier : /heekcad-read-only/cmake/Module/FindOpenCASCAD.cmake
Chercher la ligne : set( _libsearchpath /usr/lib /opt/occ/lib $ENV{CASROOT}/lib )
et remplacer les chemins de recherche par celui où se trouvent vos bibliothèques OpenCascade.
Pour la Mandriva 2010 64 bits, la ligne devient :
set( _libsearchpath /usr/lib64 $ENV{CASROOT}/lib )
Sauvegarder, puis revenir dans /heekcad-read-only/ et lancer cmake CMakeLists.txt
Makefile étant créé, lancer la commande make (avec les options que vous voulez)
La compilation est longue, beaucoup plus qu'avec make et le Makefile fourni avec les anciennes sources de HeeksCAD.
La première chose que l'on constate, c'est la division de l'exécutable. Jusqu'ici, HeeksCAD se résumait à un seul binaire.
Maitenant, cmake produit 3 bibliothèques et un exécutable:
- libheeksintf.so (l'interface)
- libsketchsolve.so (le solver d'esquisse paramétrique)
- libtinyxml.so (le parser XML pour les fichiers 3D produits)
- heekscad (exécutable).
Hélas, trois fois hélas, l'opération finale de linkage se heurte à des erreurs fatales et l'exécutable n'est pas produit (mais les trois bibliothèques : oui)
Or, avec l'ancien Makefile récupéré, la compilation s'effectue normalement, en ne génrant qu'un fichier exécutable.
Quelqu'un a-t-il réussi la compilation avec CMake?
Merci
André
Re: HeeksCAD Rev 1392
Bonjour André,
Je suis en train de compiler HeeksCAD sur Ubuntu avec ce script : http://code.google.com/p/heekscad/wiki/ ... keOnUbuntu
(le premier sur la page).
Tu dois pouvoir l'adapter à Mandriva avec quelque chose du genre :
En fait j'ai juste pris la première partie du script en enlevant ce qui est spécifique à Ubuntu ou autre distribution debian-like.
Test ca et poste les éventuels erreurs.
Je vais tester aussi sur une Fedora, avec un système de package RPM pour modifier un peu le script. Je reposterai le résultat un peu plus tard dans l'après-midi.
Gilles
PS : J'utilise la révision svn 1407
Je suis en train de compiler HeeksCAD sur Ubuntu avec ce script : http://code.google.com/p/heekscad/wiki/ ... keOnUbuntu
(le premier sur la page).
Tu dois pouvoir l'adapter à Mandriva avec quelque chose du genre :
Code : Tout sélectionner
#!/bin/sh
# heekscad-install.sh -- Downloads, builds and installs HeeksCAD from svn
BUILDPATH=~ # Location of HeeksCAD build dir
cd $BUILDPATH
if [ -d HeeksCAD ]; then
cd HeeksCAD
svn update
else
svn checkout http://heekscad.googlecode.com/svn/trunk/ HeeksCAD
fi
cd ${BUILDPATH}/HeeksCAD/
cmake .
Test ca et poste les éventuels erreurs.

Je vais tester aussi sur une Fedora, avec un système de package RPM pour modifier un peu le script. Je reposterai le résultat un peu plus tard dans l'après-midi.
Gilles
PS : J'utilise la révision svn 1407
Re: HeeksCAD Rev 1392
Bon finalement pas plus de succès avec ma fedora 12.
Dans le fichier CMakeLists.txt, j'ai changé :
en :
Là la commande 'make package' génère un RPM (en théorie).
En pratique j'ai du retravailler le fichier .spec sans succès au final...
Je soupconne des problèmes sur l'outil 'rpmbuild' mais je n'ai pas assez investigué pour le savoir.
Je vais mettre à jour fedora vers la dernière version en espérant pouvoir générer un RPM viable.
Peut-être que tu auras plus de succès en effectuant la même modification que moi dur Mandriva.
Bonne chance,
Gilles
Dans le fichier CMakeLists.txt, j'ai changé :
Code : Tout sélectionner
set(CPACK_GENERATOR "DEB")
Code : Tout sélectionner
set(CPACK_GENERATOR "RPM")
En pratique j'ai du retravailler le fichier .spec sans succès au final...
Je soupconne des problèmes sur l'outil 'rpmbuild' mais je n'ai pas assez investigué pour le savoir.
Je vais mettre à jour fedora vers la dernière version en espérant pouvoir générer un RPM viable.
Peut-être que tu auras plus de succès en effectuant la même modification que moi dur Mandriva.
Bonne chance,
Gilles
Re: HeeksCAD Rev 1392
Hello,
Or, comme je l'ai déjà dit, le Makefile produit par cmake, ne permet pas le linkage final avec les erreurs suivantes :
[andre@pixator heekscad-read-only]$ make -i
[ 18%] Built target heeksintf
[ 21%] Built target tinyxml
[ 23%] Built target sketchsolve
Linking CXX executable ../bin/heekscad
/usr/bin/ld: Dwarf Error: Offset (29297) greater than or equal to .debug_str size (17150).
CMakeFiles/heekscad.dir/GraphicsCanvas.cpp.o: In function `CGraphicsCanvas::OnPaint(wxPaintEvent&)':
/home/andre/heekscad-read-only/src/GraphicsCanvas.cpp:75: undefined reference to `gluOrtho2D'
/usr/bin/ld: Dwarf Error: Offset (29604) greater than or equal to .debug_str size (1704).
CMakeFiles/heekscad.dir/HDimension.cpp.o: In function `HDimension::glCommands(bool, bool, bool)':
/home/andre/heekscad-read-only/src/HDimension.cpp:167: undefined reference to `gluProject'
/usr/bin/ld: Dwarf Error: Offset (23928) greater than or equal to .debug_str size (602).
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::SetProjection2(bool)':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:261: undefined reference to `gluPerspective'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::SetPickProjection(wxRect&)':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:293: undefined reference to `gluPickMatrix'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::SetModelview()':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:300: undefined reference to `gluLookAt'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::glUnproject(gp_Pnt const&) const':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:320: undefined reference to `gluUnProject'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::glProject(gp_Pnt const&) const':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:328: undefined reference to `gluProject'
collect2: ld a retourné 1 code d'état d'exécution
[100%] Built target heekscad
[andre@pixator heekscad-read-only]$
Les erreurs fatales concerneraient directement le code du programme que make première manière signalait sans interrompre la compilation.
Peut-être existe-t-il des options propres à cmake pour ignorer ce genre d'erreurs?
En tout cas, je viens de compiler à l'instant avec succès la révision 1407, mais avec make et l'ancien Makefile. Bizarre, bizarre...
André
Je ne cherche pas à générer de paquetage, donc il me suffit d'obtenir un Makefile, puis de lancer make et make install.gdo a écrit : Là la commande 'make package' génère un RPM (en théorie).
Or, comme je l'ai déjà dit, le Makefile produit par cmake, ne permet pas le linkage final avec les erreurs suivantes :
[andre@pixator heekscad-read-only]$ make -i
[ 18%] Built target heeksintf
[ 21%] Built target tinyxml
[ 23%] Built target sketchsolve
Linking CXX executable ../bin/heekscad
/usr/bin/ld: Dwarf Error: Offset (29297) greater than or equal to .debug_str size (17150).
CMakeFiles/heekscad.dir/GraphicsCanvas.cpp.o: In function `CGraphicsCanvas::OnPaint(wxPaintEvent&)':
/home/andre/heekscad-read-only/src/GraphicsCanvas.cpp:75: undefined reference to `gluOrtho2D'
/usr/bin/ld: Dwarf Error: Offset (29604) greater than or equal to .debug_str size (1704).
CMakeFiles/heekscad.dir/HDimension.cpp.o: In function `HDimension::glCommands(bool, bool, bool)':
/home/andre/heekscad-read-only/src/HDimension.cpp:167: undefined reference to `gluProject'
/usr/bin/ld: Dwarf Error: Offset (23928) greater than or equal to .debug_str size (602).
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::SetProjection2(bool)':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:261: undefined reference to `gluPerspective'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::SetPickProjection(wxRect&)':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:293: undefined reference to `gluPickMatrix'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::SetModelview()':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:300: undefined reference to `gluLookAt'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::glUnproject(gp_Pnt const&) const':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:320: undefined reference to `gluUnProject'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::glProject(gp_Pnt const&) const':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:328: undefined reference to `gluProject'
collect2: ld a retourné 1 code d'état d'exécution
[100%] Built target heekscad
[andre@pixator heekscad-read-only]$
Les erreurs fatales concerneraient directement le code du programme que make première manière signalait sans interrompre la compilation.
Peut-être existe-t-il des options propres à cmake pour ignorer ce genre d'erreurs?
En tout cas, je viens de compiler à l'instant avec succès la révision 1407, mais avec make et l'ancien Makefile. Bizarre, bizarre...
André
Re: HeeksCAD Rev 1392
Bonjour,
Ok, au temps pour moi.
De toutes facons pour faire le RPM, il serait passé par une compil.
Que donne en root les commandes suivantes :
[edit]Es-tu toujours avec la révision 1392 ou as-tu updaté à la dernière révision ?[/edit]
Gilles
Ok, au temps pour moi.

De toutes facons pour faire le RPM, il serait passé par une compil.

Que donne en root les commandes suivantes :
Code : Tout sélectionner
$ updatedb
$ locate libGLU
Gilles
Re: HeeksCAD Rev 1392
Bonjour, Gilles
Ça donne ceci :
[root@pixator andre]# updatedb
[root@pixator andre]# locate libGLU
/home/andre/opt/google-earth/libGLU.so.1
/usr/lib/libGLU.so.1
/usr/lib/libGLU.so.1.3.070502
/usr/lib64/libGLU.so
/usr/lib64/libGLU.so.1
/usr/lib64/libGLU.so.1.3.070502
[root@pixator andre]#
Je suis en révision 1407
André
Ça donne ceci :
[root@pixator andre]# updatedb
[root@pixator andre]# locate libGLU
/home/andre/opt/google-earth/libGLU.so.1
/usr/lib/libGLU.so.1
/usr/lib/libGLU.so.1.3.070502
/usr/lib64/libGLU.so
/usr/lib64/libGLU.so.1
/usr/lib64/libGLU.so.1.3.070502
[root@pixator andre]#
Je suis en révision 1407
André
Re: HeeksCAD Rev 1392
Bonjour André :
Je surligne en rouge ce qui me choque dans le résultat de la commande que je t'ai demandé d'éxécuter :
[root@pixator andre]# updatedb
[root@pixator andre]# locate libGLU
/home/andre/opt/google-earth/libGLU.so.1
/usr/lib/libGLU.so.1
/usr/lib/libGLU.so.1.3.070502
/usr/lib64/libGLU.so
/usr/lib64/libGLU.so.1
/usr/lib64/libGLU.so.1.3.070502
[root@pixator andre]#
Je soupçonne fortement cette libGLU provenant de google-earth d'être à l'origine de ton problème. En effet je ne serais pas surpris de voir qu'elle ait une taille différente à celle située dans /usr/lib64, donc qu'elle soit fondamentalement différente de celle nécessaire à HeeksCAD.
Que donne la commande :
Pour aller plus loin de suite et valider ou infirmer cette théorie il serait judicieux de forcer l'utilisation des libs natives de ta Mandriva. Je tenterais donc ceci au moment du make :
[edit]
En relisant ton premier post, je veux bien aussi connaitre la valeur de la variable d'environnement CASROOT avec un :[/edit]
En espérant que ca fonctionne
Gilles
Je surligne en rouge ce qui me choque dans le résultat de la commande que je t'ai demandé d'éxécuter :
[root@pixator andre]# updatedb
[root@pixator andre]# locate libGLU
/home/andre/opt/google-earth/libGLU.so.1
/usr/lib/libGLU.so.1
/usr/lib/libGLU.so.1.3.070502
/usr/lib64/libGLU.so
/usr/lib64/libGLU.so.1
/usr/lib64/libGLU.so.1.3.070502
[root@pixator andre]#
Je soupçonne fortement cette libGLU provenant de google-earth d'être à l'origine de ton problème. En effet je ne serais pas surpris de voir qu'elle ait une taille différente à celle située dans /usr/lib64, donc qu'elle soit fondamentalement différente de celle nécessaire à HeeksCAD.
Que donne la commande :
Code : Tout sélectionner
$ ls -lh /usr/lib/libGLU.so.1 /home/andre/opt/google-earth/libGLU.so.1
Code : Tout sélectionner
$ LD_LIBRARY_PATH=/usr/lib64:/usr/lib make
En relisant ton premier post, je veux bien aussi connaitre la valeur de la variable d'environnement CASROOT avec un :
Code : Tout sélectionner
$ echo $CASROOT
En espérant que ca fonctionne

Gilles
Re: HeeksCAD Rev 1392
Bonjpur, Gilles
D'abord, je suis surpris d'avoir autant de LibGLU, 3é et 64 bits.
Ensuite, j'ai effectué la commande sur les 3 biblioyjèques présentes.
Voilà le résultat : aucune n'a la même taille.
[andre@pixator ~]$ ls -lh /usr/lib/libGLU.so.1.3.070502 /usr/lib64/libGLU.so.1.3.070502 /home/andre/opt/google-earth/libGLU.so.1
-rwxr-xr-x 1 andre andre 505K 2010-01-05 18:26 /home/andre/opt/google-earth/libGLU.so.1*
-rwxr-xr-x 1 root root 423K 2009-10-05 17:31 /usr/lib64/libGLU.so.1.3.070502*
-rwxr-xr-x 1 root root 446K 2009-10-05 17:19 /usr/lib/libGLU.so.1.3.070502*
[andre@pixator ~]$
La variable CASROOT est vide. Elle n'est donc pas définie
[andre@pixator ~]$ echo $CASROOT
[andre@pixator ~]$
Quant à forcer l'utilisation de /usr/lib64/libGLU, voici ce que ça donne :
[andre@pixator heekscad-read-only] $LD_LIBRARY_PATH=/usr/lib64:/usr/lib make
[ 18%] Buit target heeksintf
[ 21%] Built target tinyxml
[ 23%] Built target sketchsolve
Linking CXX executable ../bin/heekscad
/usr/bin/ld: Dwarf Error: Offset (29297) greater than or equal to .debug_str size (17150).
CMakeFiles/heekscad.dir/GraphicsCanvas.cpp.o: In function `CGraphicsCanvas::OnPaint(wxPaintEvent&)':
/home/andre/heekscad-read-only/src/GraphicsCanvas.cpp:75: undefined reference to `gluOrtho2D'
/usr/bin/ld: Dwarf Error: Offset (29604) greater than or equal to .debug_str size (1704).
CMakeFiles/heekscad.dir/HDimension.cpp.o: In function `HDimension::glCommands(bool, bool, bool)':
/home/andre/heekscad-read-only/src/HDimension.cpp:167: undefined reference to `gluProject'
/usr/bin/ld: Dwarf Error: Offset (23928) greater than or equal to .debug_str size (602).
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::SetProjection2(bool)':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:261: undefined reference to `gluPerspective'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::SetPickProjection(wxRect&)':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:293: undefined reference to `gluPickMatrix'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::SetModelview()':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:300: undefined reference to `gluLookAt'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::glUnproject(gp_Pnt const&) const':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:320: undefined reference to `gluUnProject'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::glProject(gp_Pnt const&) const':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:328: undefined reference to `gluProject'
collect2: ld a retourné 1 code d'état d'exécution
make[2]: *** [bin/heekscad-0.15.1] Erreur 1
make[1]: *** [src/CMakeFiles/heekscad.dir/all] Erreur 2
make: *** [all] Erreur 2
[andre@pixator heekscad-read-only]$
Ça ne change donc rien.
Je suppose qu'il faudrait déjà résoudre la première erreur :
/usr/bin/ld: Dwarf Error: Offset (29297) greater than or equal to .debug_str size (17150)
J'ai vu sur internet que c'était une erreur courante, et qu'elle se résolvait avec des options de compilation. Mais à ce niveau, ça me dépasse.
André
D'abord, je suis surpris d'avoir autant de LibGLU, 3é et 64 bits.
Ensuite, j'ai effectué la commande sur les 3 biblioyjèques présentes.
Voilà le résultat : aucune n'a la même taille.
[andre@pixator ~]$ ls -lh /usr/lib/libGLU.so.1.3.070502 /usr/lib64/libGLU.so.1.3.070502 /home/andre/opt/google-earth/libGLU.so.1
-rwxr-xr-x 1 andre andre 505K 2010-01-05 18:26 /home/andre/opt/google-earth/libGLU.so.1*
-rwxr-xr-x 1 root root 423K 2009-10-05 17:31 /usr/lib64/libGLU.so.1.3.070502*
-rwxr-xr-x 1 root root 446K 2009-10-05 17:19 /usr/lib/libGLU.so.1.3.070502*
[andre@pixator ~]$
La variable CASROOT est vide. Elle n'est donc pas définie
[andre@pixator ~]$ echo $CASROOT
[andre@pixator ~]$
Quant à forcer l'utilisation de /usr/lib64/libGLU, voici ce que ça donne :
[andre@pixator heekscad-read-only] $LD_LIBRARY_PATH=/usr/lib64:/usr/lib make
[ 18%] Buit target heeksintf
[ 21%] Built target tinyxml
[ 23%] Built target sketchsolve
Linking CXX executable ../bin/heekscad
/usr/bin/ld: Dwarf Error: Offset (29297) greater than or equal to .debug_str size (17150).
CMakeFiles/heekscad.dir/GraphicsCanvas.cpp.o: In function `CGraphicsCanvas::OnPaint(wxPaintEvent&)':
/home/andre/heekscad-read-only/src/GraphicsCanvas.cpp:75: undefined reference to `gluOrtho2D'
/usr/bin/ld: Dwarf Error: Offset (29604) greater than or equal to .debug_str size (1704).
CMakeFiles/heekscad.dir/HDimension.cpp.o: In function `HDimension::glCommands(bool, bool, bool)':
/home/andre/heekscad-read-only/src/HDimension.cpp:167: undefined reference to `gluProject'
/usr/bin/ld: Dwarf Error: Offset (23928) greater than or equal to .debug_str size (602).
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::SetProjection2(bool)':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:261: undefined reference to `gluPerspective'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::SetPickProjection(wxRect&)':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:293: undefined reference to `gluPickMatrix'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::SetModelview()':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:300: undefined reference to `gluLookAt'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::glUnproject(gp_Pnt const&) const':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:320: undefined reference to `gluUnProject'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::glProject(gp_Pnt const&) const':
/home/andre/heekscad-read-only/src/ViewPoint.cpp:328: undefined reference to `gluProject'
collect2: ld a retourné 1 code d'état d'exécution
make[2]: *** [bin/heekscad-0.15.1] Erreur 1
make[1]: *** [src/CMakeFiles/heekscad.dir/all] Erreur 2
make: *** [all] Erreur 2
[andre@pixator heekscad-read-only]$
Ça ne change donc rien.
Je suppose qu'il faudrait déjà résoudre la première erreur :
/usr/bin/ld: Dwarf Error: Offset (29297) greater than or equal to .debug_str size (17150)
J'ai vu sur internet que c'était une erreur courante, et qu'elle se résolvait avec des options de compilation. Mais à ce niveau, ça me dépasse.
André
Re: HeeksCAD Rev 1392
Bonjour André,
Ok, ce que je vais faire c'est essayer de reproduire ton problème.
Je vais installer une machine virtuelle sous Mandriva 2010 64bits et installer opencascade et HeeksCAD.
Je te tiens au courant des résultats au plus vite.
A+
Gilles
Ok, ce que je vais faire c'est essayer de reproduire ton problème.
Je vais installer une machine virtuelle sous Mandriva 2010 64bits et installer opencascade et HeeksCAD.
Je te tiens au courant des résultats au plus vite.
A+
Gilles
Re: HeeksCAD Rev 1392
Bonjour André,
Désolé du retard mais quelques problèmes persos m'ont éloigné du PC pendant quelques jours.
J'ai tenté de reproduire ton problème sur une Mandriva 2010.2 64 bits.
Jusqu'au cmake, aucun problème. Par contre le make me génère également plein d'erreurs au link du style :
As-tu rencontré le problème ?
Gilles
Désolé du retard mais quelques problèmes persos m'ont éloigné du PC pendant quelques jours.

J'ai tenté de reproduire ton problème sur une Mandriva 2010.2 64 bits.
Jusqu'au cmake, aucun problème. Par contre le make me génère également plein d'erreurs au link du style :
Je n'arrive pas à trouver la lib manquante...Linking CXX executable ../bin/heekscad
CMakeFiles/heekscad.dir/AboutBox.cpp.o: In function `CAboutBox':
/home/gdo/Téléchargements/HeeksCAD/src/AboutBox.cpp:31: undefined reference to `wxString::Replace(wchar_t const*, wchar_t const*, bool)'
/home/gdo/Téléchargements/HeeksCAD/src/AboutBox.cpp:31: undefined reference to `wxString::Replace(wchar_t const*, wchar_t const*, bool)'
CMakeFiles/heekscad.dir/AboutBox.cpp.o: In function `wxStringBase':
/usr/include/wx-2.8/wx/string.h:368: undefined reference to `wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long)'
CMakeFiles/heekscad.dir/AboutBox.cpp.o:(.rodata._ZTV9CAboutBox[vtable for CAboutBox]+0x4c8): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
CMakeFiles/heekscad.dir/AboutBox.cpp.o:(.rodata._ZTV12wxButtonBase[vtable for wxButtonBase]+0x4c8): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
CMakeFiles/heekscad.dir/MarkedList.cpp.o: In function `wxStringBase::ConcatSelf(unsigned long, wchar_t const*)':
MarkedList.cpp:(.text._ZN12wxStringBase10ConcatSelfEmPKw[wxStringBase::ConcatSelf(unsigned long, wchar_t const*)]+0x2c): undefined reference to `wxStringBase::ConcatSelf(unsigned long, wchar_t const*, unsigned long)'
CMakeFiles/heekscad.dir/ShapeTools.cpp.o: In function `CFaceList::GetIcon()':
/home/gdo/Téléchargements/HeeksCAD/src/ShapeTools.cpp:12: undefined reference to `operator+(wxString const&, wchar_t const*)'
CMakeFiles/heekscad.dir/ShapeTools.cpp.o: In function `CEdgeList::GetIcon()':
/home/gdo/Téléchargements/HeeksCAD/src/ShapeTools.cpp:19: undefined reference to `operator+(wxString const&, wchar_t const*)'
CMakeFiles/heekscad.dir/ShapeTools.cpp.o: In function `CVertexList::GetIcon()':
/home/gdo/Téléchargements/HeeksCAD/src/ShapeTools.cpp:26: undefined reference to `operator+(wxString const&, wchar_t const*)'
CMakeFiles/heekscad.dir/advprops.cpp.o: In function `wxVariantData_wxFont::Copy(wxVariantData&)':
/home/gdo/Téléchargements/HeeksCAD/src/advprops.cpp:72: undefined reference to `wxLogWarning(wchar_t const*, ...)'
CMakeFiles/heekscad.dir/advprops.cpp.o: In function `wxVariantData_wxFont::Eq(wxVariantData&) const':
/home/gdo/Téléchargements/HeeksCAD/src/advprops.cpp:72: undefined reference to `wxLogWarning(wchar_t const*, ...)'
CMakeFiles/heekscad.dir/advprops.cpp.o: In function `wxVariantData_wxColourPropertyValue::Copy(wxVariantData&)':
/home/gdo/Téléchargements/HeeksCAD/src/advprops.cpp:82: undefined reference to `wxLogWarning(wchar_t const*, ...)'
CMakeFiles/heekscad.dir/advprops.cpp.o: In function `wxVariantData_wxColourPropertyValue::Eq(wxVariantData&) const':
/home/gdo/Téléchargements/HeeksCAD/src/advprops.cpp:82: undefined reference to `wxLogWarning(wchar_t const*, ...)'
CMakeFiles/heekscad.dir/advprops.cpp.o: In function `wxVariantData_wxColour::Copy(wxVariantData&)':
/home/gdo/Téléchargements/HeeksCAD/src/advprops.cpp:85: undefined reference to `wxLogWarning(wchar_t const*, ...)'
As-tu rencontré le problème ?
Gilles
Re: HeeksCAD Rev 1392
Bonjour,
`wxString::Replace(wchar_t const*, wchar_t const*
J'ai eu cette erreur autrefois, lors des premières compilations.
Il ne s'agit pas d'une bibliothèque manquante mais de la configuration de wxWidget qui doit être déclarée en unicode, et non en ascii.
Il y a un script wx-config pour effectuer l'opération, ce qui s'obtient (en root) par wx-config --unicode=yes
Essaye ce truc.
Bonne chance
André
`wxString::Replace(wchar_t const*, wchar_t const*
J'ai eu cette erreur autrefois, lors des premières compilations.
Il ne s'agit pas d'une bibliothèque manquante mais de la configuration de wxWidget qui doit être déclarée en unicode, et non en ascii.
Il y a un script wx-config pour effectuer l'opération, ce qui s'obtient (en root) par wx-config --unicode=yes
Essaye ce truc.
Bonne chance
André
Re: HeeksCAD Rev 1392
Bonjour André,
Merci pour cette astuce.
Je teste ca dès mon retour mardi.
Gilles
Merci pour cette astuce.

Gilles
Re: HeeksCAD Rev 1392
Bonjour André,
Je viens avec de bonne nouvelles.
J'ai lancé le make en mode verbeux :
Au moment du link j'obtiens :
Pour linker avec libGLU il faut ajouter les modifications suivantes (en rouge) dans le fichier src/CMakeLists.txt :
Donc en relancant une compilation à la racine de HeeksCAD ca devrait fonctionner :
A+
Gilles
PS : une petite question qui n'a rien à voir; quel logiciel utilises-tu pour faire tes tutoriels sur HeeksCAD, ca fait un bail que je cherche ce genre d'outil pour réaliser des tutoriels d'IHM. Merci.
Je viens avec de bonne nouvelles.

J'ai lancé le make en mode verbeux :
Code : Tout sélectionner
$ make VERBOSE=1
Or dans la liste des libs linkées, -lGLU n'apparait pas... ce qui explique les undefined reference.Linking CXX executable ../bin/heekscad
cd /home/gdo/Téléchargements/HeeksCAD/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/heekscad.dir/link.txt --verbose=1
/usr/bin/c++ -pthread -pthread -g CMakeFiles/heekscad.dir/AboutBox.cpp.o CMakeFiles/heekscad.dir/GLList.cpp.o CMakeFiles/heekscad.dir/MarkedList.cpp.o CMakeFiles/heekscad.dir/ShapeTools.cpp.o CMakeFiles/heekscad.dir/advprops.cpp.o CMakeFiles/heekscad.dir/GraphicsCanvas.cpp.o CMakeFiles/heekscad.dir/matrix.cpp.o CMakeFiles/heekscad.dir/SimpleIntersector.cpp.o CMakeFiles/heekscad.dir/AutoSave.cpp.o CMakeFiles/heekscad.dir/Grid.cpp.o CMakeFiles/heekscad.dir/Sketch.cpp.o CMakeFiles/heekscad.dir/BentleyOttmann.cpp.o CMakeFiles/heekscad.dir/Gripper.cpp.o CMakeFiles/heekscad.dir/MultiPoly.cpp.o CMakeFiles/heekscad.dir/sketchinterface.cpp.o CMakeFiles/heekscad.dir/BezierCurve.cpp.o CMakeFiles/heekscad.dir/GripperSelTransform.cpp.o CMakeFiles/heekscad.dir/NearMap.cpp.o CMakeFiles/heekscad.dir/SketchTools.cpp.o CMakeFiles/heekscad.dir/Cone.cpp.o CMakeFiles/heekscad.dir/Group.cpp.o CMakeFiles/heekscad.dir/ObjPropsCanvas.cpp.o CMakeFiles/heekscad.dir/Solid.cpp.o CMakeFiles/heekscad.dir/ConstrainedObject.cpp.o CMakeFiles/heekscad.dir/HAngularDimension.cpp.o CMakeFiles/heekscad.dir/OCCSolver.cpp.o CMakeFiles/heekscad.dir/SolidTools.cpp.o CMakeFiles/heekscad.dir/Constraint.cpp.o CMakeFiles/heekscad.dir/HArc.cpp.o CMakeFiles/heekscad.dir/odcombo.cpp.o CMakeFiles/heekscad.dir/SolveSketch.cpp.o CMakeFiles/heekscad.dir/ConstraintTools.cpp.o CMakeFiles/heekscad.dir/HCircle.cpp.o CMakeFiles/heekscad.dir/OptionsCanvas.cpp.o CMakeFiles/heekscad.dir/Sphere.cpp.o CMakeFiles/heekscad.dir/ConversionTools.cpp.o CMakeFiles/heekscad.dir/HDimension.cpp.o CMakeFiles/heekscad.dir/OrientationModifier.cpp.o CMakeFiles/heekscad.dir/stdafx.cpp.o CMakeFiles/heekscad.dir/CoordinateSystem.cpp.o CMakeFiles/heekscad.dir/HDxf.cpp.o CMakeFiles/heekscad.dir/Pad.cpp.o CMakeFiles/heekscad.dir/StlSolid.cpp.o CMakeFiles/heekscad.dir/CorrelationTool.cpp.o CMakeFiles/heekscad.dir/HeeksCAD.cpp.o CMakeFiles/heekscad.dir/Part.cpp.o CMakeFiles/heekscad.dir/StretchTool.cpp.o CMakeFiles/heekscad.dir/Cuboid.cpp.o CMakeFiles/heekscad.dir/HeeksFrame.cpp.o CMakeFiles/heekscad.dir/Plugins.cpp.o CMakeFiles/heekscad.dir/svg.cpp.o CMakeFiles/heekscad.dir/CxfFont.cpp.o CMakeFiles/heekscad.dir/HeeksPrintout.cpp.o CMakeFiles/heekscad.dir/Pocket.cpp.o CMakeFiles/heekscad.dir/TransformTool.cpp.o CMakeFiles/heekscad.dir/Cylinder.cpp.o CMakeFiles/heekscad.dir/HEllipse.cpp.o CMakeFiles/heekscad.dir/PointDrawing.cpp.o CMakeFiles/heekscad.dir/TransformTools.cpp.o CMakeFiles/heekscad.dir/DigitizedPoint.cpp.o CMakeFiles/heekscad.dir/HILine.cpp.o CMakeFiles/heekscad.dir/PointOrWindow.cpp.o CMakeFiles/heekscad.dir/TreeCanvas.cpp.o CMakeFiles/heekscad.dir/DigitizeMode.cpp.o CMakeFiles/heekscad.dir/HImage.cpp.o CMakeFiles/heekscad.dir/Polygon.cpp.o CMakeFiles/heekscad.dir/UndoEngine.cpp.o CMakeFiles/heekscad.dir/DimensionDrawing.cpp.o CMakeFiles/heekscad.dir/HLine.cpp.o CMakeFiles/heekscad.dir/PropertiesCanvas.cpp.o CMakeFiles/heekscad.dir/Vertex.cpp.o CMakeFiles/heekscad.dir/Drawing.cpp.o CMakeFiles/heekscad.dir/PropertyTrsf.cpp.o CMakeFiles/heekscad.dir/ViewPanning.cpp.o CMakeFiles/heekscad.dir/dxf.cpp.o CMakeFiles/heekscad.dir/HPoint.cpp.o CMakeFiles/heekscad.dir/propgrid.cpp.o CMakeFiles/heekscad.dir/ViewPoint.cpp.o CMakeFiles/heekscad.dir/DynamicSolid.cpp.o CMakeFiles/heekscad.dir/HSpline.cpp.o CMakeFiles/heekscad.dir/props.cpp.o CMakeFiles/heekscad.dir/ViewRotating.cpp.o CMakeFiles/heekscad.dir/Edge.cpp.o CMakeFiles/heekscad.dir/HText.cpp.o CMakeFiles/heekscad.dir/RegularShapesDrawing.cpp.o CMakeFiles/heekscad.dir/ViewZooming.cpp.o CMakeFiles/heekscad.dir/EndedObject.cpp.o CMakeFiles/heekscad.dir/HXml.cpp.o CMakeFiles/heekscad.dir/RS274X.cpp.o CMakeFiles/heekscad.dir/Window.cpp.o CMakeFiles/heekscad.dir/Face.cpp.o CMakeFiles/heekscad.dir/InputModeCanvas.cpp.o CMakeFiles/heekscad.dir/RuledSurface.cpp.o CMakeFiles/heekscad.dir/Wire.cpp.o CMakeFiles/heekscad.dir/FaceTools.cpp.o CMakeFiles/heekscad.dir/LineArcDrawing.cpp.o CMakeFiles/heekscad.dir/Ruler.cpp.o CMakeFiles/heekscad.dir/WrappedCurves.cpp.o CMakeFiles/heekscad.dir/FastCurves.cpp.o CMakeFiles/heekscad.dir/Loop.cpp.o CMakeFiles/heekscad.dir/SelectMode.cpp.o CMakeFiles/heekscad.dir/wxImageLoader.cpp.o CMakeFiles/heekscad.dir/Geom.cpp.o CMakeFiles/heekscad.dir/MagDragWindow.cpp.o CMakeFiles/heekscad.dir/Shape.cpp.o CMakeFiles/heekscad.dir/glfont2.cpp.o CMakeFiles/heekscad.dir/manager.cpp.o CMakeFiles/heekscad.dir/ShapeData.cpp.o -o ../bin/heekscad-0.15.1 -rdynamic -L/usr/lib64 -pthread -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -L/usr/lib64 -lwx_baseu-2.8 -lwx_gtk2u_core-2.8 -lwx_gtk2u_gl-2.8 -lwx_gtk2u_aui-2.8 -lTKernel -lTKVRML -lTKSTL -lTKBRep -lTKIGES -lTKShHealing -lTKSTEP -lTKSTEP209 -lTKSTEPAttr -lTKSTEPBase -lTKXSBase -lTKShapeSchema -lFWOSPlugin -lTKBool -lTKCAF -lTKCDF -lTKernel -lTKFeat -lTKFillet -lTKG2d -lTKG3d -lTKGeomAlgo -lTKGeomBase -lTKHLR -lTKMath -lTKOffset -lTKPrim -lTKPShape -lTKService -lTKTopAlgo -lTKV2d -lTKV3d -lTKMesh -lTKAdvTools -lTKBO -lTKXDESTEP -lTKXCAF -lTKXCAFSchema -lTKLCAF -lTKPLCAF -lpython2.6 -L../bin -ltinyxml -lheeksintf -lsketchsolve -lTKVRML -lTKSTL -lTKBRep -lTKIGES -lTKShHealing -lTKSTEP -lTKSTEP209 -lTKSTEPAttr -lTKSTEPBase -lTKXSBase -lTKShapeSchema -lFWOSPlugin -lTKBool -lTKCAF -lTKCDF -lTKFeat -lTKFillet -lTKG2d -lTKG3d -lTKGeomAlgo -lTKGeomBase -lTKHLR -lTKMath -lTKOffset -lTKPrim -lTKPShape -lTKService -lTKTopAlgo -lTKV2d -lTKV3d -lTKMesh -lTKAdvTools -lTKBO -lTKXDESTEP -lTKXCAF -lTKXCAFSchema -lTKLCAF -lTKPLCAF -lpython2.6 -ltinyxml -lheeksintf -lsketchsolve
CMakeFiles/heekscad.dir/GraphicsCanvas.cpp.o: In function `CGraphicsCanvas::OnPaint(wxPaintEvent&)':
/home/gdo/Téléchargements/HeeksCAD/src/GraphicsCanvas.cpp:75: undefined reference to `gluOrtho2D'
CMakeFiles/heekscad.dir/HDimension.cpp.o: In function `HDimension::glCommands(bool, bool, bool)':
/home/gdo/Téléchargements/HeeksCAD/src/HDimension.cpp:167: undefined reference to `gluProject'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::SetProjection2(bool)':
/home/gdo/Téléchargements/HeeksCAD/src/ViewPoint.cpp:261: undefined reference to `gluPerspective'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::SetPickProjection(wxRect&)':
/home/gdo/Téléchargements/HeeksCAD/src/ViewPoint.cpp:293: undefined reference to `gluPickMatrix'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::SetModelview()':
/home/gdo/Téléchargements/HeeksCAD/src/ViewPoint.cpp:300: undefined reference to `gluLookAt'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::glUnproject(gp_Pnt const&) const':
/home/gdo/Téléchargements/HeeksCAD/src/ViewPoint.cpp:320: undefined reference to `gluUnProject'
CMakeFiles/heekscad.dir/ViewPoint.cpp.o: In function `CViewPoint::glProject(gp_Pnt const&) const':
/home/gdo/Téléchargements/HeeksCAD/src/ViewPoint.cpp:328: undefined reference to `gluProject'
collect2: ld a retourné 1 code d'état d'exécution
make[2]: *** [bin/heekscad-0.15.1] Erreur 1
make[2]: quittant le répertoire « /home/gdo/Téléchargements/HeeksCAD »
make[1]: *** [src/CMakeFiles/heekscad.dir/all] Erreur 2
make[1]: quittant le répertoire « /home/gdo/Téléchargements/HeeksCAD »
make: *** [all] Erreur 2
Pour linker avec libGLU il faut ajouter les modifications suivantes (en rouge) dans le fichier src/CMakeLists.txt :
La ligne de compilation pour le link est généré par cmake dans le fichier CMakeFiles/heekscad.dir/link.txt.project(HeeksCAD)
cmake_minimum_required( VERSION 2.6 )
if( NOT DEFINED BUILD_STARTED_IN_RIGHT_DIR )
message( FATAL_ERROR "Don't start a build in the src directory. Do a 'cd ..', then run cmake ." )
endif( NOT DEFINED BUILD_STARTED_IN_RIGHT_DIR )
set ( CMAKE_BUILD_TYPE Debug )
add_definitions ( -Wall -DUSE_GENERIC_TREECTRL -DHEEKSCAD -DUNICODE -DTIXML_USE_STL )
find_package( OpenCASCADE REQUIRED COMPONENTS TKVRML TKSTL TKBRep TKIGES TKShHealing TKSTEP TKSTEP209 TKSTEPAttr TKSTEPBase TKXSBase TKShapeSchema FWOSPlugin TKBool TKCAF TKCDF TKernel TKFeat TKFillet TKG2d TKG3d TKGeomAlgo TKGeomBase TKHLR TKMath TKOffset TKPrim TKPShape TKService TKTopAlgo TKV2d TKV3d TKMesh TKAdvTools TKBO TKXDESTEP TKXCAF TKXCAFSchema TKLCAF TKPLCAF )
FIND_PACKAGE( wxWidgets REQUIRED COMPONENTS base core gl aui )
find_package( PythonLibs REQUIRED )
find_package(GLU)
INCLUDE(${wxWidgets_USE_FILE})
include_directories (
${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
${wxWidgets_INCLUDE_DIRS} ${OpenCASCADE_INCLUDE_DIR}
${PYTHON_INCLUDE_DIRS} .
)
set ( EXECUTABLE_OUTPUT_PATH ../bin )
if( UNIX )
#set( platform_SRCS some_necessary_linux_file.cpp )
else( UNIX )
#windows
#set( platform_SRCS dllmain.cpp stdafx.cpp )
endif( UNIX )
set( heekscad_HDRS
AboutBox.h glfont2.h Loop.h ShapeData.h
advprops.h GLList.h MagDragWindow.h Shape.h
AutoSave.h GraphicsCanvas.h manager.h ShapeTools.h
BentleyOttmann.h Grid.h MarkedList.h SimpleIntersector.h
BezierCurve.h Gripper.h matrix.h Sketch.h
Cone.h GripperSelTransform.h MultiPoly.h SketchTools.h
ConstrainedObject.h Group.h NearMap.h Solid.h
Constraint.h HAngularDimension.h ObjPropsCanvas.h SolidTools.h
ConstraintTools.h HArc.h OCCSolver.h SolveSketch.h
ConversionTools.h HCircle.h odcombo.h Sphere.h
CoordinateSystem.h HDimension.h OptionsCanvas.h stdafx.h
CorrelationTool.h HDxf.h OrientationModifier.h StlSolid.h
Cuboid.h HeeksCAD.h Pad.h StretchTool.h
CxfFont.h HeeksConfig.h Part.h svg.h
Cylinder.h HeeksFrame.h Plugins.h TransformTool.h
DigitizedPoint.h HeeksPrintout.h Pocket.h TransformTools.h
DigitizeMode.h HEllipse.h PointDrawing.h TreeCanvas.h
DimensionDrawing.h HILine.h PointOrWindow.h UndoEngine.h
Drawing.h HImage.h Polygon.h Vertex.h
dxf.h HLine.h propdev.h ViewPanning.h
DynamicSolid.h PropertiesCanvas.h ViewPoint.h
EdgeBlend.h HPoint.h PropertyTrsf.h ViewRotating.h
Edge.h HSpline.h propgrid.h ViewZooming.h
EndedObject.h HText.h RegularShapesDrawing.h Window.h
Face.h HXml.h RS274X.h Wire.h
FaceTools.h InputModeCanvas.h RuledSurface.h WrappedCurves.h
FastCurves.h Intersector.h Ruler.h wxImageLoader.h
Geom.h LineArcDrawing.h SelectMode.h
)#Hole.h
set( heekscad_SRCS
AboutBox.cpp GLList.cpp MarkedList.cpp ShapeTools.cpp
advprops.cpp GraphicsCanvas.cpp matrix.cpp SimpleIntersector.cpp
AutoSave.cpp Grid.cpp Sketch.cpp
BentleyOttmann.cpp Gripper.cpp MultiPoly.cpp sketchinterface.cpp
BezierCurve.cpp GripperSelTransform.cpp NearMap.cpp SketchTools.cpp
Cone.cpp Group.cpp ObjPropsCanvas.cpp Solid.cpp
ConstrainedObject.cpp HAngularDimension.cpp OCCSolver.cpp SolidTools.cpp
Constraint.cpp HArc.cpp odcombo.cpp SolveSketch.cpp
ConstraintTools.cpp HCircle.cpp OptionsCanvas.cpp Sphere.cpp
ConversionTools.cpp HDimension.cpp OrientationModifier.cpp stdafx.cpp
CoordinateSystem.cpp HDxf.cpp Pad.cpp StlSolid.cpp
CorrelationTool.cpp HeeksCAD.cpp Part.cpp StretchTool.cpp
Cuboid.cpp HeeksFrame.cpp Plugins.cpp svg.cpp
CxfFont.cpp HeeksPrintout.cpp Pocket.cpp TransformTool.cpp
Cylinder.cpp HEllipse.cpp PointDrawing.cpp TransformTools.cpp
DigitizedPoint.cpp HILine.cpp PointOrWindow.cpp TreeCanvas.cpp
DigitizeMode.cpp HImage.cpp Polygon.cpp UndoEngine.cpp
DimensionDrawing.cpp HLine.cpp PropertiesCanvas.cpp Vertex.cpp
Drawing.cpp PropertyTrsf.cpp ViewPanning.cpp
dxf.cpp HPoint.cpp propgrid.cpp ViewPoint.cpp
DynamicSolid.cpp HSpline.cpp props.cpp ViewRotating.cpp
Edge.cpp HText.cpp RegularShapesDrawing.cpp ViewZooming.cpp
EndedObject.cpp HXml.cpp RS274X.cpp Window.cpp
Face.cpp InputModeCanvas.cpp RuledSurface.cpp Wire.cpp
FaceTools.cpp LineArcDrawing.cpp Ruler.cpp WrappedCurves.cpp
FastCurves.cpp Loop.cpp SelectMode.cpp wxImageLoader.cpp
Geom.cpp MagDragWindow.cpp Shape.cpp
glfont2.cpp manager.cpp ShapeData.cpp
) #Hole.cpp
set( HeeksCAD_LIBS
-L../bin -ltinyxml -lheeksintf -lsketchsolve
)
add_executable( heekscad ${heekscad_SRCS} ${platform_SRCS} ${heekscad_HDRS} )
target_link_libraries( heekscad
${wxWidgets_LIBRARIES} ${OpenCASCADE_LIBRARIES}
${PYTHON_LIBRARIES} ${HeeksCAD_LIBS} ${OSX_LIBS} ${GLU_LIBRARY} )
set_target_properties( heekscad PROPERTIES VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH} )
install( TARGETS heekscad DESTINATION bin )
file( GLOB bitmaps "${CMAKE_CURRENT_SOURCE_DIR}/../bitmaps/*.png"
"${CMAKE_CURRENT_SOURCE_DIR}/../bitmaps/*.svg"
"${CMAKE_CURRENT_SOURCE_DIR}/../bitmaps/*.glf"
)
install( FILES ${bitmaps} DESTINATION share/heekscad/bitmaps )
file( GLOB icons "${CMAKE_CURRENT_SOURCE_DIR}/../icons/*.png" )
install( FILES ${icons} DESTINATION share/heekscad/icons )
file( GLOB menu_icon "${CMAKE_CURRENT_SOURCE_DIR}/../icons/HeeksCAD.svg" )
install( FILES ${menu_icon} DESTINATION share/icons/hicolor/scalable/apps ) # freedesktop.org standard location
file( GLOB desktop "${CMAKE_CURRENT_SOURCE_DIR}/../HeeksCAD.desktop" )
install( FILES ${desktop} DESTINATION share/applications )
Donc en relancant une compilation à la racine de HeeksCAD ca devrait fonctionner :
Code : Tout sélectionner
$ cmake .
Gilles
PS : une petite question qui n'a rien à voir; quel logiciel utilises-tu pour faire tes tutoriels sur HeeksCAD, ca fait un bail que je cherche ce genre d'outil pour réaliser des tutoriels d'IHM. Merci.

Re: HeeksCAD Rev 1392
Bonjour, Gilles
Et je dis WHaoooooooo! Ça se compile. Tu es un champion.
Oui, mais le programme ne démarre pas :
[andre@pixator heekscad-read-only]$ heekscad
heekscad: error while loading shared libraries: libtinyxml.so.0.15.1: cannot open shared object file: No such file or directory
[andre@pixator heekscad-read-only]$
Or cette bibliothèques comme les deux autres aussi qui sont compilées se trouvent installées dans /usr/local/lib.
Une idée?
André
PS : pour les didacticiels, j'utilise Ksnapshot pour les captures qui sont toutes retouchées, assemblées, découpées, annotées etc, dans Gimp
L'ensemble est élaboré dans le Writer d'OpenOffice
Du classique.
Et je dis WHaoooooooo! Ça se compile. Tu es un champion.
Oui, mais le programme ne démarre pas :
[andre@pixator heekscad-read-only]$ heekscad
heekscad: error while loading shared libraries: libtinyxml.so.0.15.1: cannot open shared object file: No such file or directory
[andre@pixator heekscad-read-only]$
Or cette bibliothèques comme les deux autres aussi qui sont compilées se trouvent installées dans /usr/local/lib.
Une idée?
André
PS : pour les didacticiels, j'utilise Ksnapshot pour les captures qui sont toutes retouchées, assemblées, découpées, annotées etc, dans Gimp
L'ensemble est élaboré dans le Writer d'OpenOffice
Du classique.
Re: HeeksCAD Rev 1392
Re,
Merci mais n'exagérons rien.
Tu as aussi contribué grandement à cette réussite.
Pour ton souci, ce n'est pas très grave. /usr/local/lib/ n'est pas par défaut dans la liste des répertoires où Mandriva recherche les libs (comme /usr/lib64/).
La solution la plus rapide mais la moins élégante est de forcer le répertoire de recherche des libs à l'exécution :
Pour une solution plus définitive et propre, il faut créer le fichier /etc/ld.so.conf.d/local.conf avec le contenu :
Après ca tu devrais pouvoir relancer heekscad sans problèmes avec ton utilisateur.
Je n'ai pas testé la seconde solution mais je le ferai demain au boulot où j'aurai une mandriva sous la main.
Sinon sacré boulot pour les tutoriels !
Ca a du te prendre un temps fou !
A+
Gilles
Merci mais n'exagérons rien.


Tu as aussi contribué grandement à cette réussite.

Pour ton souci, ce n'est pas très grave. /usr/local/lib/ n'est pas par défaut dans la liste des répertoires où Mandriva recherche les libs (comme /usr/lib64/).
La solution la plus rapide mais la moins élégante est de forcer le répertoire de recherche des libs à l'exécution :
Code : Tout sélectionner
$ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/ heekscad
Ensuite, tu lances la commande ldconfig en root pour régénérer le fichier de cache des librairies (/etc/ld.so.cache)./usr/local/lib/
Après ca tu devrais pouvoir relancer heekscad sans problèmes avec ton utilisateur.

Je n'ai pas testé la seconde solution mais je le ferai demain au boulot où j'aurai une mandriva sous la main.
Sinon sacré boulot pour les tutoriels !

A+
Gilles