Voir les messages sans réponses | Voir les sujets actifs Nous sommes le 14 Oct 2019, 10:56



Répondre au sujet  [ 17 messages ]  Aller à la page 1, 2  Suivante
HeeksCAD Rev 1392 
Auteur Message
Administrateur
Administrateur
Avatar de l’utilisateur

Inscription: 17 Aoû 2004, 18:58
Messages: 580
Répondre en citant le message
Message 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é


04 Jan 2011, 10:01
Profil
P'tit timide
P'tit timide

Inscription: 08 Jan 2011, 14:09
Messages: 13
Répondre en citant le message
Message 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 :

Code:
#!/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 .


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

_________________
http://geonobot-blog.toile-libre.org
http://geonobot-wiki.toile-libre.org


08 Jan 2011, 14:19
Profil Site Internet
P'tit timide
P'tit timide

Inscription: 08 Jan 2011, 14:09
Messages: 13
Répondre en citant le message
Message Re: HeeksCAD Rev 1392
Bon finalement pas plus de succès avec ma fedora 12.

Dans le fichier CMakeLists.txt, j'ai changé :
Code:
set(CPACK_GENERATOR "DEB")

en :
Code:
set(CPACK_GENERATOR "RPM")


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

_________________
http://geonobot-blog.toile-libre.org
http://geonobot-wiki.toile-libre.org


09 Jan 2011, 14:58
Profil Site Internet
Administrateur
Administrateur
Avatar de l’utilisateur

Inscription: 17 Aoû 2004, 18:58
Messages: 580
Répondre en citant le message
Message Re: HeeksCAD Rev 1392
Hello,

gdo a écrit:
Là la commande 'make package' génère un RPM (en théorie).

Je ne cherche pas à générer de paquetage, donc il me suffit d'obtenir un Makefile, puis de lancer make et make install.
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é


10 Jan 2011, 13:08
Profil
P'tit timide
P'tit timide

Inscription: 08 Jan 2011, 14:09
Messages: 13
Répondre en citant le message
Message 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 :
Code:
$ updatedb
$ locate libGLU


[edit]Es-tu toujours avec la révision 1392 ou as-tu updaté à la dernière révision ?[/edit]

Gilles

_________________
http://geonobot-blog.toile-libre.org
http://geonobot-wiki.toile-libre.org


10 Jan 2011, 15:57
Profil Site Internet
Administrateur
Administrateur
Avatar de l’utilisateur

Inscription: 17 Aoû 2004, 18:58
Messages: 580
Répondre en citant le message
Message 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é


11 Jan 2011, 17:54
Profil
P'tit timide
P'tit timide

Inscription: 08 Jan 2011, 14:09
Messages: 13
Répondre en citant le message
Message 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 :
Code:
$ ls -lh /usr/lib/libGLU.so.1 /home/andre/opt/google-earth/libGLU.so.1


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 :
Code:
$ LD_LIBRARY_PATH=/usr/lib64:/usr/lib make


[edit]
En relisant ton premier post, je veux bien aussi connaitre la valeur de la variable d'environnement CASROOT avec un :
Code:
$ echo $CASROOT
[/edit]

En espérant que ca fonctionne :)

Gilles

_________________
http://geonobot-blog.toile-libre.org
http://geonobot-wiki.toile-libre.org


11 Jan 2011, 19:20
Profil Site Internet
Administrateur
Administrateur
Avatar de l’utilisateur

Inscription: 17 Aoû 2004, 18:58
Messages: 580
Répondre en citant le message
Message 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[color=#FF0000] 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 ~]$
[/color]

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é


12 Jan 2011, 09:48
Profil
P'tit timide
P'tit timide

Inscription: 08 Jan 2011, 14:09
Messages: 13
Répondre en citant le message
Message 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

_________________
http://geonobot-blog.toile-libre.org
http://geonobot-wiki.toile-libre.org


12 Jan 2011, 12:41
Profil Site Internet
P'tit timide
P'tit timide

Inscription: 08 Jan 2011, 14:09
Messages: 13
Répondre en citant le message
Message 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 :
Citation:
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*, ...)'


Je n'arrive pas à trouver la lib manquante...
As-tu rencontré le problème ?

Gilles

_________________
http://geonobot-blog.toile-libre.org
http://geonobot-wiki.toile-libre.org


19 Jan 2011, 19:18
Profil Site Internet
Administrateur
Administrateur
Avatar de l’utilisateur

Inscription: 17 Aoû 2004, 18:58
Messages: 580
Répondre en citant le message
Message 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é


22 Jan 2011, 19:21
Profil
P'tit timide
P'tit timide

Inscription: 08 Jan 2011, 14:09
Messages: 13
Répondre en citant le message
Message Re: HeeksCAD Rev 1392
Bonjour André,

Merci pour cette astuce. ;) Je teste ca dès mon retour mardi.

Gilles

_________________
http://geonobot-blog.toile-libre.org
http://geonobot-wiki.toile-libre.org


23 Jan 2011, 11:31
Profil Site Internet
P'tit timide
P'tit timide

Inscription: 08 Jan 2011, 14:09
Messages: 13
Répondre en citant le message
Message Re: HeeksCAD Rev 1392
Bonjour André,

Je viens avec de bonne nouvelles. :D

J'ai lancé le make en mode verbeux :
Code:
$ make VERBOSE=1


Au moment du link j'obtiens :
Citation:
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


Or dans la liste des libs linkées, -lGLU n'apparait pas... ce qui explique les undefined reference.
Pour linker avec libGLU il faut ajouter les modifications suivantes (en rouge) dans le fichier src/CMakeLists.txt :

Citation:
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 )


La ligne de compilation pour le link est généré par cmake dans le fichier CMakeFiles/heekscad.dir/link.txt.
Donc en relancant une compilation à la racine de HeeksCAD ca devrait fonctionner :
Code:
$ cmake .


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. ;)

_________________
http://geonobot-blog.toile-libre.org
http://geonobot-wiki.toile-libre.org


25 Jan 2011, 16:55
Profil Site Internet
Administrateur
Administrateur
Avatar de l’utilisateur

Inscription: 17 Aoû 2004, 18:58
Messages: 580
Répondre en citant le message
Message 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.


25 Jan 2011, 20:48
Profil
P'tit timide
P'tit timide

Inscription: 08 Jan 2011, 14:09
Messages: 13
Répondre en citant le message
Message Re: HeeksCAD Rev 1392
Re,

Merci mais n'exagérons rien. :oops: :mrgreen:
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:
$ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/ heekscad


Pour une solution plus définitive et propre, il faut créer le fichier /etc/ld.so.conf.d/local.conf avec le contenu :
Citation:
/usr/local/lib/

Ensuite, tu lances la commande ldconfig en root pour régénérer le fichier de cache des librairies (/etc/ld.so.cache).
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 ! :shock: Ca a du te prendre un temps fou !

A+
Gilles

_________________
http://geonobot-blog.toile-libre.org
http://geonobot-wiki.toile-libre.org


26 Jan 2011, 00:33
Profil Site Internet
Afficher les messages postés depuis:  Trier par  
Répondre au sujet   [ 17 messages ]  Aller à la page 1, 2  Suivante

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Forum style by ST Software for PTF.
Traduction par: phpBB-fr.com