[OpenModelica] Compilatoin d'openscenegraph 2.8 (resolu)

Mise à jour / Création /debug de paquetages
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

[OpenModelica] Compilatoin d'openscenegraph 2.8 (resolu)

Message par viperpaulo »

Bonjour à tous,

Je viens vers vous car j'ai un petit souci de compilation. Je suis en train de créer un paquet pour openmodelica, mais la version d'openscenegraph des dépôts est trop récente, 3.2 alors qu'il me faudrait la 2.8 (enfin j'espère que c'est bien ça le souci, mais c'est la seule piste que j'ai pour l'instant !).
Il y a deux paquets sur AUR pour la 2.8, mais ils ne compilent pas et n'ont pas l'air d'être maintenus.
Voilà les erreurs que j'obtiens :
openscenegraph-2.8

Code : Tout sélectionner

Linking CXX shared module ../../../lib/osgPlugins-2.8.5/osgdb_osg.so
[ 42%] Built target osgdb_osg
Makefile:116: recipe for target 'all' failed
make: *** [all] Error 2
openscenegraph28, il faut compiler xine-lib11201 et j'ai l'erreur suivante :

Code : Tout sélectionner

/usr/include/features.h:327:4: attention : #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
 #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
    ^
/usr/bin/perl mkcodeclist.pl avcodec_video.list xine_video.list ff_video_list.h
Ignored SNOW = SNOW
Ignored ! = XVID
/usr/bin/perl mkcodeclist.pl avcodec_audio.list xine_audio.list ff_audio_list.h
Ignored 14_4 = RA_144
Ignored QTIMAADPCM = ADPCM_IMA_QT
Ignored ROQ = ROQ_DPCM
Ignored AMR_NB = AMR_NB
Ignored ! = SONIC
Ignored ! = SONIC_LS
make  all-am
make[4]: Entering directory '/tmp/yaourt-tmp-paul/aur-xine-lib11201/src/xine-lib-1.1.20.1/src/combined/ffmpeg'
/bin/sh ../../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -I../../../include -I../../../src -I../../../src/xine-engine -I../../../src/xine-engine -I../../../src/xine-utils  -I../../../src/input -I../../../src/input  -I../../../lib -I../../../lib -I../../../src/dxr3     -D_FORTIFY_SOURCE=2  -fvisibility=hidden  -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE  -O3 -fomit-frame-pointer   -fexpensive-optimizations -fschedule-insns2 -ffast-math -finline-functions  -Wpointer-arith -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -Wall -Wchar-subscripts -Wnested-externs -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wmissing-format-attribute -Wno-pointer-sign -Wformat=2 -Wno-format-zero-length -Wformat-security -Wstrict-aliasing=2 -Werror=implicit-function-declaration -DNDEBUG -MT xineplug_decode_ff_la-ffmpeg_decoder.lo -MD -MP -MF .deps/xineplug_decode_ff_la-ffmpeg_decoder.Tpo -c -o xineplug_decode_ff_la-ffmpeg_decoder.lo `test -f 'ffmpeg_decoder.c' || echo './'`ffmpeg_decoder.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -I../../../include -I../../../src -I../../../src/xine-engine -I../../../src/xine-engine -I../../../src/xine-utils -I../../../src/input -I../../../src/input -I../../../lib -I../../../lib -I../../../src/dxr3 -D_FORTIFY_SOURCE=2 -fvisibility=hidden -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -O3 -fomit-frame-pointer -fexpensive-optimizations -fschedule-insns2 -ffast-math -finline-functions -Wpointer-arith -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -Wall -Wchar-subscripts -Wnested-externs -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wmissing-format-attribute -Wno-pointer-sign -Wformat=2 -Wno-format-zero-length -Wformat-security -Wstrict-aliasing=2 -Werror=implicit-function-declaration -DNDEBUG -MT xineplug_decode_ff_la-ffmpeg_decoder.lo -MD -MP -MF .deps/xineplug_decode_ff_la-ffmpeg_decoder.Tpo -c ffmpeg_decoder.c  -fPIC -DPIC -o .libs/xineplug_decode_ff_la-ffmpeg_decoder.o
In file included from ffmpeg_decoder.c:30:0:
ffmpeg_decoder.h:42:21: error: field 'id' has incomplete type
   enum CodecID      id;
                     ^
ffmpeg_decoder.c: In function 'init_once_routine':
ffmpeg_decoder.c:314:3: error: implicit declaration of function 'avcodec_init' [-Werror=implicit-function-declaration]
   avcodec_init();
   ^
ffmpeg_decoder.c:314:3: warning: nested extern declaration of 'avcodec_init' [-Wnested-externs]
cc1: some warnings being treated as errors
Makefile:632: recipe for target 'xineplug_decode_ff_la-ffmpeg_decoder.lo' failed
make[4]: *** [xineplug_decode_ff_la-ffmpeg_decoder.lo] Error 1
make[4]: Leaving directory '/tmp/yaourt-tmp-paul/aur-xine-lib11201/src/xine-lib-1.1.20.1/src/combined/ffmpeg'
Makefile:520: recipe for target 'all' failed
make[3]: *** [all] Error 2
make[3]: Leaving directory '/tmp/yaourt-tmp-paul/aur-xine-lib11201/src/xine-lib-1.1.20.1/src/combined/ffmpeg'
Makefile:656: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/tmp/yaourt-tmp-paul/aur-xine-lib11201/src/xine-lib-1.1.20.1/src/combined'
Makefile:513: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/tmp/yaourt-tmp-paul/aur-xine-lib11201/src/xine-lib-1.1.20.1/src'
Makefile:561: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
Et là je suis un peu comme une poule devant un couteau, je ne sais pas vraiment dans quelle direction chercher pour me débloquer... Si quelqu'un pouvait me donner 2/3 indications...
Merci d'avance pour votre temps !


PS: je me suis déjà fait un paquet openmodelica-bin, mais j'aimerai bien tout compiler depuis les sources et je sens que je suis proche du but !
Dernière modification par viperpaulo le dim. 15 déc. 2013, 11:29, modifié 1 fois.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [OpenModelica] Compilatoin d'openscenegraph 2.8

Message par FoolEcho »

Salut,

Je regardais rapidement le README, https://openmodelica.org/svn/OpenModeli ... .Linux.txt, mais je ne vois pas trace de openscenegraph ou osg pour une compilation sous Linux... Pourquoi penses-tu en avoir besoin pour OpenModelica ? :|
«The following statement is not true. The previous statement is true.» :nage:
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

Re: [OpenModelica] Compilatoin d'openscenegraph 2.8

Message par viperpaulo »

Je suis d'accord avec toi, j'ai découvert osg en compilant, au départ je ne pensais pas en avoir besoin.
En compilant openmodelica (avec osg 3.2) j'obtiens l'erreur suivante :

Code : Tout sélectionner

../MOVector.cpp:677:28: note: declarations in dependent base ‘MOAVector<Variable>’ are not found by unqualified lookup
../MOVector.cpp:677:28: note: use ‘this->addItem’ instead
../MOVector.cpp: In instantiation of ‘MOVector<ItemClass>::MOVector(QDomElement&, bool) [with ItemClass = ScannedVariable]’:
../MOVector.cpp:737:50:   required from ‘bool MOVector<ItemClass>::dropMimeData(const QMimeData*, Qt::DropAction, int, int, const QModelIndex&) [with ItemClass = ScannedVariable]’
../Variables.cpp:164:1:   required from here
../MOVector.cpp:708:86: erreur: ‘connect’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
     connect(this,SIGNAL(dataChanged(QModelIndex,QModelIndex)),this,SIGNAL(modified()));
                                                                                      ^
../MOVector.cpp:708:86: note: declarations in dependent base ‘QObject’ are not found by unqualified lookup
../MOVector.cpp:708:86: note: use ‘this->connect’ instead
../MOVector.cpp: In instantiation of ‘MOVector<ItemClass>::MOVector(QDomElement&, bool) [with ItemClass = OptVariable]’:
../MOVector.cpp:737:50:   required from ‘bool MOVector<ItemClass>::dropMimeData(const QMimeData*, Qt::DropAction, int, int, const QModelIndex&) [with ItemClass = OptVariable]’
../Variables.cpp:164:1:   required from here
../MOVector.cpp:708:86: erreur: ‘connect’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../MOVector.cpp:708:86: note: declarations in dependent base ‘QObject’ are not found by unqualified lookup
../MOVector.cpp:708:86: note: use ‘this->connect’ instead
../MOVector.cpp: In instantiation of ‘MOVector<ItemClass>::MOVector(QDomElement&, bool) [with ItemClass = Variable]’:
../MOVector.cpp:737:50:   required from ‘bool MOVector<ItemClass>::dropMimeData(const QMimeData*, Qt::DropAction, int, int, const QModelIndex&) [with ItemClass = Variable]’
../Variables.cpp:164:1:   required from here
../MOVector.cpp:708:86: erreur: ‘connect’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../MOVector.cpp:708:86: note: declarations in dependent base ‘QObject’ are not found by unqualified lookup
../MOVector.cpp:708:86: note: use ‘this->connect’ instead
make[2]: *** [release/generatedfiles/Variables.o] Erreur 1
make[2] : on quitte le répertoire « /home/paul/Documents/pkgs/openmodelica/src/openmodelica/OMOptimBasis/build »
make[1]: *** [OMOptimBasis] Erreur 2
make[1] : on quitte le répertoire « /home/paul/Documents/pkgs/openmodelica/src/openmodelica/OMOptimBasis/build »
make: *** [omoptimbasis] Erreur 2
et en le compilant sans aucune version d'osg installée :

Code : Tout sélectionner

make[4]: Entering directory '/home/paul/Documents/pkgs/openmodelica/src/openmodelica/3rdParty/modelica3d/build'
Scanning dependencies of target viewer
make[4]: Leaving directory '/home/paul/Documents/pkgs/openmodelica/src/openmodelica/3rdParty/modelica3d/build'
make[4]: Entering directory '/home/paul/Documents/pkgs/openmodelica/src/openmodelica/3rdParty/modelica3d/build'
[100%] Building CXX object backends/osg-gtk/CMakeFiles/viewer.dir/src/viewer.cpp.o
Linking CXX executable viewer
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.4.7/../../../../lib/libosgGA.so: référence indéfinie vers « std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15 »
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.4.7/../../../../lib/libosgGA.so: référence indéfinie vers « std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15 »
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.4.7/../../../../lib/libosgViewer.so: référence indéfinie vers « std::__detail::_List_node_base::swap(std::__detail::_List_node_base&, std::__detail::_List_node_base&)@GLIBCXX_3.4.15 »
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.4.7/../../../../lib/libosgGA.so: référence indéfinie vers « std::__detail::_List_node_base::_M_transfer(std::__detail::_List_node_base*, std::__detail::_List_node_base*)@GLIBCXX_3.4.15 »
collect2: ld a retourné 1 code d'état d'exécution
backends/osg-gtk/CMakeFiles/viewer.dir/build.make:96: recipe for target 'backends/osg-gtk/viewer' failed
make[4]: *** [backends/osg-gtk/viewer] Error 1
make[4]: Leaving directory '/home/paul/Documents/pkgs/openmodelica/src/openmodelica/3rdParty/modelica3d/build'
CMakeFiles/Makefile2:281: recipe for target 'backends/osg-gtk/CMakeFiles/viewer.dir/all' failed
make[3]: *** [backends/osg-gtk/CMakeFiles/viewer.dir/all] Error 2
make[3]: Leaving directory '/home/paul/Documents/pkgs/openmodelica/src/openmodelica/3rdParty/modelica3d/build'
Makefile:136: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/paul/Documents/pkgs/openmodelica/src/openmodelica/3rdParty/modelica3d/build'
Makefile:122: recipe for target 'modelica3d' failed
make[1]: *** [modelica3d] Error 2
make[1]: Leaving directory '/home/paul/Documents/pkgs/openmodelica/src/openmodelica'
Makefile:52: recipe for target 'omc-rml' failed
make: *** [omc-rml] Error 2
En voyant ces erreurs, j'ai fait un lien avec osg, peut-être à tort...

Voici mon PKGBUILD (qui n'est pas fini, notamment la fonction package):

Code : Tout sélectionner

pkgname=openmodelica-svn
pkgver=18481
pkgrel=1
pkgdesc="The Open Source Modelica Compiler "
arch=('i686' 'x86_64')
url="https://openmodelica.org"
license=('GPL3')
depends=('jre7-openjdk' 'paradiseo' 'qwt' 'blas' 'lapack' 'openscenegraph')
# <=2.8')
makedepends=('omniorb' 'rml-mmc-svn' 'subversion' 'gcc44' 'boost')
source=('openmodelica::svn+https://openmodelica.org/svn/OpenModelica/trunk/')
md5sums=('SKIP')
options=('!makeflags')
_svntrunk="https://openmodelica.org/svn/OpenModelica/trunk/"
_svnmod="openmodelica"

pkgver() {
   cd "${SRCDEST}/${_svnmod}"
   svnversion
}
build() {
   export CC="gcc-4.4"
   export CXX="g++-4.4"
   export RMLHOME=/opt/rml-mmc/

   cd "${srcdir}/${_svnmod}"
   autoconf
   ./configure --prefix=/usr/ \
	--with-omniORB \
	--with-paradiseo=/usr/lib64 \
	--with-lapack='-llapack -lblas'
   make
}

package() {
 cd "${srcdir}/${_svnmod}"
 make DESTDIR="${pkgdir}" install 
}
Alors peut-être que je dois mettre un --disable-osg ou quelque chose du genre, je tente avec --disable-modelica3d
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

Re: [OpenModelica] Compilatoin d'openscenegraph 2.8 (resolu)

Message par viperpaulo »

C'est bon, j'ai réussi à m'en sortir !
J'ai donc proposé un paquet sur AUR.
Répondre