Ici on n'a que votre IP, votre pseudo et votre adresse mail que nous ne traitons pas.
Quand vous êtes enregistrés, une seule requête permet de vous afficher les messages que vous n'avez pas lus.
Primtux8 est arrivée! Rendez-vous ici
Vous pouvez désormais vous inscrire librement en cliquant sur "S'enregistrer".

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Compilation abuledu amd64 ubuntu 20.04 [Résolu]
#1
Bonjour,

Je n'arrive pas à compiler abuledu imageo et abuledu calcul mental pour la prochaine en amd64 sous ubuntu 20.04.

La prochaine PrimTux amd64 sera basée sur les dépôts ubuntu from scratch, ce qui veut dire qu'elle ne sera basée sur aucune autre variante.

Pour ceux qui veulent donner un coup de main, j'ai utilisé les git ici:

https://redmine.abuledu.org/projects/let...2.4-stable

https://redmine.abuledu.org/projects/let...2.0-stable

J'ai bien cloné avec tous les sous-modules et appliqué la procédure de mothsart décrite ici: https://forum.primtux.fr/viewtopic.php?id=1220

J'ai installé les dépendances demandées ici: http://redmine.abuledu.org/projects/abul..._logiciels

Il y a soit des problèmes avec QStyleOption soit une librairie non trouvée (libQt5multimedia et libQt5multimediawidgets) alors qu'elle est installée, ça peut être un problème de chemin que je n'ai pas trouvé où mettre....

Merci pour votre aide!
Répondre
#2
tu peux communiquer la stack trace ?

Comme ça, je dirais qu'il manque une lib soit dans le fichier debian/control soit dans /src/src.pro (soit les 2 ^.^ ).
Pour src.pro, tu peux faire un remplacement de cette ligne :

Code :
QT += script network xml gui

par
Code :
QT += script network xml gui widgets


qui doit rajouter QStyleOption : voir https://doc.qt.io/qt-5/qstyleoption.html

Même principe pour https://doc.qt.io/qt-5/qmultimedia.html
Répondre
#3
Si tu arrives à bout, je pense que ça peut être utile de tout noter et cloner le dépôt git. Ca servira pour la rpi.
Répondre
#4
Cette erreur est récurrente chez les 2, même avec la modification dans le src.pro:

Code :
lib/abuledumultimediav1/abuledumultimediav1.cpp: In member function ‘virtual void AbulEduMultiMediaV1::paintEvent(QPaintEvent*)’:
lib/abuledumultimediav1/abuledumultimediav1.cpp:918:18: error: aggregate ‘QStyleOption opt’ has incomplete type and cannot be defined
  918 |     QStyleOption opt;
      |                  ^~~
make[2]: *** [Makefile:9145 : .build/abuledumultimediav1.o] Erreur 1
make[2] : on quitte le répertoire « /home/stephane/leterrier-imageo-git/src »
make[1]: *** [Makefile:47 : sub-src-make_first] Erreur 2
make[1] : on quitte le répertoire « /home/stephane/leterrier-imageo-git »
make: *** [/usr/share/cdbs/1/class/makefile.mk:77 : debian/stamp-makefile-build] Erreur 2
dpkg-buildpackage: erreur: debian/rules build subprocess returned exit status 2

Une parade: j'ai commenté les lignes concernées et ça passe mais si ça fait bugger le soft...
Répondre
#5
... et ça bloque avec le libqtmultimedia:

Code :
In file included from .build/moc_abuleduinstructionv1.cpp:9:
.build/../lib/abuleduinstructionv1/abuleduinstructionv1.h: In member function ‘const QString& AbulEduInstructionV1::abeInstructionGetTitle()’:
.build/../lib/abuleduinstructionv1/abuleduinstructionv1.h:60:65: warning: returning reference to temporary [-Wreturn-local-addr]
   60 |     inline const QString& abeInstructionGetTitle() {return title();}
      |                                                            ~~~~~^~
g++ -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-rpath-link,/usr/lib/x86_64-linux-gnu -o leterrier-imageo .build/main.o .build/mainwindow.o .build/exerciceorthographe.o .build/imageolabel.o .build/mamanwindow.o .build/exerciceassociation.o .build/reconnaitreuneimage.o .build/reconnaitreplusieursimages.o .build/abuleduediteur.o .build/widgetediteurconfimage.o .build/reconnaitreunmot.o .build/abuledupicottsv1.o .build/abuleduaccueilbullev1.o .build/abuleduaccueilzonev1.o .build/abuledupageaccueilv1.o .build/abuleduflechev1.o .build/activityfilter.o .build/abuleduapplicationv1.o .build/qtsingleapplication.o .build/qtlocalpeer.o .build/abuledugraphicmenuv1.o .build/abuleduflatboutonv1.o .build/abuledufilev1.o .build/abuledulomv1.o .build/abuledumediathequegetv1.o .build/abuledumediathequepushv1.o .build/abuledumediathequecommon.o .build/abuledulomfrv1.o .build/abuleduscolomfrv1.o .build/abuleduwidgetlomfrv1.o .build/abuleduwidgetscolomfrv1.o .build/abuleduvcardcombobox.o .build/abuleduboxfilemanagerv1.o .build/abuleduwidgetlomv1.o .build/abuleduwidgetlomsuitev1.o .build/abuledumimetypev1.o .build/abuleduwidgettaxon.o .build/abuleduwidgetcontribution.o .build/abuledusearchkeywordslineedit.o .build/frmdisquelocal.o .build/abuledufileaboutv1.o .build/abuleduvisionneuseimagev1.o .build/abuledufilemanagertablewidgetitemv1.o .build/qioapi.o .build/JlCompress.o .build/quaadler32.o .build/quacrc32.o .build/quagzipfile.o .build/quaziodevice.o .build/quazip.o .build/quazipdir.o .build/quazipfile.o .build/quazipfileinfo.o .build/quazipnewinfo.o .build/unzip.o .build/zip.o .build/vcard.o .build/vcardproperty.o .build/vcardparam.o .build/abuledugraphicsteteswidgetv1.o .build/abuledugraphicsellipseitem.o .build/abuledugraphicstextitem.o .build/abuledustatemachinev1.o .build/abuleducommonstatesv1.o .build/abuleduexercicev1.o .build/abuleduexercicewidgettelecommandev1.o .build/abuleduexercicewidgetairedetravailv1.o .build/abuleduexercicewidgetmessagev1.o .build/abuleduexercicecommonv1.o .build/abuleduexercicelogsv1.o .build/abuledulabelframev1.o .build/abuledulabelv1.o .build/abuledulabelwidgetv1.o .build/abuleducellulev1.o .build/abuleduetiquettesv1.o .build/abuledupiecev1.o .build/abuledusceneetiquettesv1.o .build/abuledutableauv1.o .build/abuledusplashscreenv1.o .build/abuledunetworkaccessmanagerv1.o .build/abuleduproxypassworddialog.o .build/abuledunetworkthreadv1.o .build/abuledussologinv1.o .build/abuledulocalsocketipcclientv1.o .build/abuledulocalsocketipcserverv1.o .build/simplecrypt.o .build/abuledudownloadprogressbar.o .build/abuledunetworkproxysettings.o .build/abuledunetworktests.o .build/maiaObject.o .build/maiaFault.o .build/maiaXmlRpcClient.o .build/maiaXmlRpcServer.o .build/maiaXmlRpcServerConnection.o .build/abuledumessageboxv1.o .build/abuledumessageboxpulsev1.o .build/abuleduidentitesuiv1.o .build/abuleduidentitesv1.o .build/abuleduidentitesnetworkv1.o .build/abuledupluginloaderv1.o .build/abuledumultimediav1.o .build/abuleducontrolaudiov1.o .build/abuleduslidesviewerv1.o .build/abuleduvideoviewerv1.o .build/abuledusoundplayerv1.o .build/abuleduanimatedgifviewerv1.o .build/abuledumediabuttonv1.o .build/abuledusoundrecorderv1.o .build/abuleduaudiolevelwidgetv1.o .build/abuledumediagraphicsbuttonv1.o .build/abuledupictureplayerv1.o .build/abuleduaudiodecoderv1.o .build/abuleduslidesrecorderv1.o .build/abuleduaudioplayerv1.o .build/abuledumultimediawidgetcontainer.o .build/abuledumultimediasettingsv1.o .build/abuledumultimediadevicechooserv1.o .build/abuledumediamedias.o .build/abuleduaproposv1.o .build/abuleduloggerv1.o .build/abuledulogdestinationv1.o .build/abuledulogdestinationconsolev1.o .build/abuledudestinationfilev1.o .build/abuleduloadinganimationv1.o .build/waveheaderreader.o .build/wavetoogg.o .build/oggvorbisfileinfo.o .build/wavefilewriter.o .build/oggtowave.o .build/wavetooggthread.o .build/abuleduinstructionv1.o .build/qrc_iconesBoutons.o .build/qrc_editeur.o .build/qrc_abuleduaproposv1.o .build/qrc_abuledupageaccueilv1.o .build/qrc_abuleduapplicationv1.o .build/qrc_abuledugraphicmenuv1.o .build/qrc_AbulEduWidgetLOM.o .build/qrc_abuleduboxfilemanagerv1.o .build/qrc_abuledufilev1.o .build/qrc_abuledumediathequegetv1.o .build/qrc_abuledumediathequepushv1.o .build/qrc_abuledutetev1.o .build/qrc_abuleduexercicev1.o .build/qrc_abuledulabelv1.o .build/qrc_abuleduetiquettesv1.o .build/qrc_abuledusplashscreenv1.o .build/qrc_abuledusplashscreenv1-lib.o .build/qrc_abuledunetworkaccessmanagerv1.o .build/qrc_abuleduproxypassworddialog.o .build/qrc_abuledussologinv1.o .build/qrc_abuledumessageboxv1.o .build/qrc_abuleduidentitesuiv1.o .build/qrc_abuleducontrolaudiov1.o .build/qrc_abuleduloadinganimation.o .build/qrc_abuleduinstructionv1.o .build/moc_mainwindow.o .build/moc_exerciceorthographe.o .build/moc_imageolabel.o .build/moc_exerciceassociation.o .build/moc_reconnaitreuneimage.o .build/moc_abuleduediteur.o .build/moc_widgetediteurconfimage.o .build/moc_reconnaitreunmot.o .build/moc_abuledupicottsv1.o .build/moc_abuleduaccueilbullev1.o .build/moc_abuleduaccueilzonev1.o .build/moc_abuledupageaccueilv1.o .build/moc_abuleduflechev1.o .build/moc_activityfilter.o .build/moc_abuleduapplicationv1.o .build/moc_qtsingleapplication.o .build/moc_qtlocalpeer.o .build/moc_abuledugraphicmenuv1.o .build/moc_abuleduflatboutonv1.o .build/moc_abuledufilev1.o .build/moc_abuledulomv1.o .build/moc_abuledumediathequegetv1.o .build/moc_abuledumediathequepushv1.o .build/moc_abuleduwidgetlomfrv1.o .build/moc_abuleduwidgetscolomfrv1.o .build/moc_abuleduvcardcombobox.o .build/moc_abuleduboxfilemanagerv1.o .build/moc_abuleduwidgetlomv1.o .build/moc_abuleduwidgetlomsuitev1.o .build/moc_abuleduwidgettaxon.o .build/moc_abuleduwidgetcontribution.o .build/moc_abuledusearchkeywordslineedit.o .build/moc_frmdisquelocal.o .build/moc_abuledufileaboutv1.o .build/moc_abuleduvisionneuseimagev1.o .build/moc_quagzipfile.o .build/moc_quaziodevice.o .build/moc_quazipfile.o .build/moc_abuledugraphicsteteswidgetv1.o .build/moc_abuledustatemachinev1.o .build/moc_abuleducommonstatesv1.o .build/moc_abuleduexercicev1.o .build/moc_abuleduexercicewidgettelecommandev1.o .build/moc_abuleduexercicewidgetairedetravailv1.o .build/moc_abuleduexercicewidgetmessagev1.o .build/moc_abuleduexercicelogsv1.o .build/moc_abuledulabelframev1.o .build/moc_abuledulabelv1.o .build/moc_abuledulabelwidgetv1.o .build/moc_abuleducellulev1.o .build/moc_abuleduetiquettesv1.o .build/moc_abuledupiecev1.o .build/moc_abuledusceneetiquettesv1.o .build/moc_abuledutableauv1.o .build/moc_abuledusplashscreenv1.o .build/moc_abuledunetworkaccessmanagerv1.o .build/moc_abuleduproxypassworddialog.o .build/moc_abuledunetworkthreadv1.o .build/moc_abuledussologinv1.o .build/moc_abuledulocalsocketipcclientv1.o .build/moc_abuledulocalsocketipcserverv1.o .build/moc_abuledudownloadprogressbar.o .build/moc_abuledunetworkproxysettings.o .build/moc_abuledunetworktests.o .build/moc_maiaObject.o .build/moc_maiaFault.o .build/moc_maiaXmlRpcClient.o .build/moc_maiaXmlRpcServer.o .build/moc_maiaXmlRpcServerConnection.o .build/moc_abuledumessageboxv1.o .build/moc_abuledumessageboxpulsev1.o .build/moc_abuleduidentitesuiv1.o .build/moc_abuleduidentitesv1.o .build/moc_abuleduidentitesnetworkv1.o .build/moc_abuledumultimediav1.o .build/moc_abuledumediaviewerinterface.o .build/moc_abuleduslidesviewerv1.o .build/moc_abuleducontrolaudiov1.o .build/moc_abuleduvideoviewerv1.o .build/moc_abuledusoundplayerv1.o .build/moc_abuleduanimatedgifviewerv1.o .build/moc_abuledumediabuttonv1.o .build/moc_abuledusoundrecorderv1.o .build/moc_abuleduaudiolevelwidgetv1.o .build/moc_abuledumediagraphicsbuttonv1.o .build/moc_abuledupictureplayerv1.o .build/moc_abuleduaudiodecoderv1.o .build/moc_abuleduslidesrecorderv1.o .build/moc_abuleduaudioplayerv1.o .build/moc_abuledumultimediawidgetcontainer.o .build/moc_abuledumultimediasettingsv1.o .build/moc_abuledumultimediadevicechooserv1.o .build/moc_abuleduaproposv1.o .build/moc_waveheaderreader.o .build/moc_wavetoogg.o .build/moc_wavefilewriter.o .build/moc_oggtowave.o .build/moc_wavetooggthread.o .build/moc_abuleduinstructionv1.o   -L/usr/lib/ -lttspico -lz -lexiv2 -lQt5Multimedia -lQt5MultimediaWidgets /usr/lib/x86_64-linux-gnu/libQt5Multimedia.so /usr/lib/x86_64-linux-gnu/libpulse-mainloop-glib.so /usr/lib/x86_64-linux-gnu/libpulse.so /usr/lib/x86_64-linux-gnu/libglib-2.0.so -logg -lvorbis -lvorbisenc -lvorbisfile /libQt5MultimediaWidgets.so /usr/lib/x86_64-linux-gnu/libQt5Svg.so /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so /usr/lib/x86_64-linux-gnu/libQt5Widgets.so /libQt5Multimedia.so /usr/lib/x86_64-linux-gnu/libQt5Gui.so /usr/lib/x86_64-linux-gnu/libQt5Script.so /usr/lib/x86_64-linux-gnu/libQt5Network.so /usr/lib/x86_64-linux-gnu/libQt5Xml.so /usr/lib/x86_64-linux-gnu/libQt5Core.so /usr/lib/x86_64-linux-gnu/libGL.so -lpthread  
g++: error: /libQt5MultimediaWidgets.so: Aucun fichier ou dossier de ce type
g++: error: /libQt5Multimedia.so: Aucun fichier ou dossier de ce type
make[2]: *** [Makefile:971 : leterrier-imageo] Erreur 1
make[2] : on quitte le répertoire « /home/stephane/leterrier-imageo-git/src »
make[1]: *** [Makefile:47 : sub-src-make_first] Erreur 2
make[1] : on quitte le répertoire « /home/stephane/leterrier-imageo-git »
make: *** [/usr/share/cdbs/1/class/makefile.mk:77 : debian/stamp-makefile-build] Erreur 2
dpkg-buildpackage: erreur: debian/rules build subprocess returned exit status 2
Répondre
#6
dans le fichier lib/abuledumultimediav1/abuledumultimediav1.h

si tu remplace :

Code :
#include <QAudioDeviceInfo>

par :

Code :
#include <QAudioDeviceInfo>
#include <QStyleOption>

ça donne quoi ?
Répondre
#7
ça passe, reste l'erreur libqt5
Répondre
#8
Désolé, je t'aides un peu à l'aveuglette.

Comme ça, en lisant le process de build, je vois qu'il y a des appels à des fichiers .pri qui contiennent des macros avec de la logique conditionnel sur les architectures.
Je suis quasi certain que le soucis sur les 2 so non générés se trouve dans ce fichier src/lib/abuledumeltimediav1/abuledumeltimediav1.pri

Spécialement ici :

Code :
#################################### AMD 64  #################################
exists(/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimedia.pri) {
  include(/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimedia.pri)
  #specific utopic
  exists(/usr/include/x86_64-linux-gnu/qt5/QtMultimedia) {
    INCLUDEPATH += /usr/include/x86_64-linux-gnu/qt5/QtMultimedia
    LIBS     += -lQt5Multimedia
  }
}

exists(/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri) {
  include(/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri)
  #specific utopic
  exists(/usr/include/x86_64-linux-gnu/qt5/QtMultimediaWidgets) {
    INCLUDEPATH += /usr/include/x86_64-linux-gnu/qt5/QtMultimediaWidgets
    LIBS     += -lQt5MultimediaWidgets
  }
}

En gros, cette macro fait un test d'existance d'un fichier et si il existe, inclus les libs manquantes.
Je mets ma main à couper que les fichiers n'existent pas (ou plutôt un chemin diff) et que par conséquent, le reste ne se fait pas.

Perso, je me concentrerais à bidouiller autours de ça : j'enleverais les "exists" dans un premier temps pour vérifier mon pré-sentiment.
Si c'est ça je remplacerais les exists par les bons chemins...
Répondre
#9
Bon j'ai trouvé! Pas comment compiler, mais les paquets bionic-amd64 compilés:

http://apt.ryxeo.com/leterrier

Des armhf sont ici d'ailleurs:

http://apt.ryxeo.com/abuledu

Maintenant je vais donc m'attaquer aux i386 qt5 parce que ça n'existe que pour trusty et ça ne passe pas sous buster.
Répondre
#10
Leur compilation d'imageo pour armhf date.
Mothsart l'avait recompilé mais cela ne passe plus sous Buster en raison de dépendances manquantes.
Je n'ai pas vu calcul mental dans ce dépôt, mais c'est aussi ancien qu'imageo, ça ne nous servira pas. C'est moi qui avait compilé calcul mental pour armhf, mais là aussi ça ne passe plus sous Buster.
Répondre
#11
Ok, tant mieux.
C'est possible de faire un "apt-get source ..." pour avoir le détail des sources pour compiler ? (c'est tjs mieux de garder ça)

Je suis pas sur de comprendre pour le i386 : tu vas être obligé de le compiler ?
Répondre
#12
Oui pour l'instant j'en ai fait un (microtexte) et ça passe en bidouillant selon mothsart + une ligne à commenter et le logiciel fonctionne bien. Ils avaient compilé pour trusty et pas au-dessus en i386.

Je n'ai plus les sources amd64 j'ai tout viré.

Toutefois, sachant que Buster est proche de l'ubuntu 18.04... Ceci devrait te servir:

http://redmine.abuledu.org/projects/abul..._logiciels

Code :
git init submodule
pour initier la prise en charge des submodules et
Code :
git init update
pour les avoir (au cas où).

Sous buster i386 je n'ai pas ces problèmes de qtmultimedia.
Répondre
#13
Sous buster i386 je n'ai pas ces problèmes de qtmultimedia :

donc c'est forcément lié aux macros qui font des "if tel archi" : pour rpi, ça peut être le piège car l'arm n'est pas forcément prévu.
Répondre
#14
Tout passe sous Buster en fait, mais je n'ai gardé que les logiciels que je vais intégrer, j'avais fait les autres l'année dernière pour stretch et ils passent. Cause: j'ai testé calcul mental nouvelle version et il met vraiment beaucoup plus de temps à démarrer pour une interface similaire, si on part du principe que la buister c'est pour les vieux pc, autant garder l'autre, idem pour aller, fubuki...
Sous amd64 il cherche /Qtmultimedia => c'est le "/" qui pose problème, je ne sais pas où il a été mis, mais c'est la seule librairie précédée d'un "/", je me demande si ce n'est pas une erreur de frappe, les autres ont le chemin complet ou un "-".
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)