![]() |
|
PrimTux 3 pour Raspberry Pi - développement - Version imprimable +- PrimTux, la distribution éducative (https://forum.primtux.fr) +-- Forum : PrimTux: LA DISTRIBUTION: présentation, aide et développement (https://forum.primtux.fr/forumdisplay.php?fid=5) +--- Forum : PrimTux - Raspberry Pi (https://forum.primtux.fr/forumdisplay.php?fid=33) +--- Sujet : PrimTux 3 pour Raspberry Pi - développement (/showthread.php?tid=863) |
PrimTux 3 pour Raspberry Pi - développement - Philippe Dpt35 - 24-04-2018 J'ai construit une PrimTux 3 de base opérationnelle, qui nécessite d'être testée. Il faut que je la nettoie et l'optimise avant de la compresser et la diffuser, sa taille actuelle étant encore trop importante. J'y ai ajouté des scripts que j'ai faits permettant de faire une image à chaud de la carte SD (sous Raspbian stretch, il y a pi-clone, mais qui ne permet que de cloner sur une nouvelle carte, pas de faire des images). Ces scripts sont empaquetés sous le nom sauve-carte_1.1_armhf.deb et sont disponibles dans le dépôt. J'ai également dû revoir l'installation de lampp pour adapter l'installation d'un serveur Web à ce qui existe pour RPi. Les scripts permettant d'arrêter ou lancer le serveur ont été modifiés en conséquence. Certaines applications contenues dans la PrimTux n'existent pas pour Raspbian. J'ai empaqueté celles qui ne contenaient pas de binaires, mais celles en contenant doivent être compilées pour ARM. Le 1er portage dont il est question ci-dessous concerne la construction de la PrimTux2 pour RPi. Voici l'état des lieux de ces applications: - déjà compilées ou empaquetées lors du portage précédent sur RPi. C'est le cas de :
- non encore compilées
J"avais noté le paquet suivant il y a quelques semaines lorsque j'ai commencé la construction, mais je ne retrouve plus trace de ce paquet dans la PrimTux3 aujourd'hui ! Donc si ça dit quelque chose à quelqu'un ! wordsearchcreator_1.1_i386.deb ---> Nouveau dans PrimTux 3 - à tenter de compiler pour arm J'ai commencé à me préparer une carte SD avec raspbian pour procéder à ces nouvelles compilations, et ai commencé à regarder pour TBO. Il nécessite des bibliothèques Qt 5.5. @mothsart Si tu as des compétences particulières dans ce domaine, dis-le moi et je te laisserai t'en charger, sinon je le ferai. ça serait bien, dans un premier temps, de pouvoir compiler les applications manquantes du Terrier d'abulédu. Mes tentatives de l'an dernier avaient échoué. Mais je ne suis pas expert en la matière. De plus il en existe de nombreuses versions, la 1ère difficulté étant de déterminer laquelle prendre. Je me souviens d'en avoir tenté les compilations en commençant par les plus récentes avant de tenter sur les précédentes. @mothsart Si cela te dit, je peux te transmettre les notes que j'avais prises lors de mes tentatives. Ensuite, il conviendrait de s'attaquer à toute la base de logiciels complémentaires pour lesquels rien n'a encore été fait pour RPi. Il faudrait donc:
Enfin, il faudra modifier les scripts d'installation des logiciels complémentaires de la fenêtre d'accueil pour coller aux installations possibles, mais ça, ça sera un détail ! Chacun peut donc librement choisir parmi ces tâches celles qui le motivent. En revanche, quand quelqu'un se lance dans une tâche, il faut le signaler par un message dans ce fil afin d'éviter l'inutile travail en doublon ! PrimTux 3 pour Raspberry Pi - développement - mothsart - 25-04-2018 Je vais me concentrer, comme suggéré sur les logiciels du terrier : Je vais prendre comme exemple leterrier-cibler mais ça s'applique à tous les autres : Je passe par les sources du projet (donc GIT) et je vais partir sur la version stable la plus haute : 2.0. J'utilise les process de Debian et verrait bien si je bloques. Si tu as les notes de tes tentatives, je suis bien entendu preneur. PrimTux 3 pour Raspberry Pi - développement - Philippe Dpt35 - 25-04-2018 Pour les sources des logiciels du Terrier, elles ne sont pas sur Git, mais ici: http://redmine.abuledu.org/projects Tout y est, y compris les bibliothèques complémentaires nécessaires. Il faut fouiller. Pour les notes sur les tentatives de compilation, je recherche ce que j'ai dû noter à droite et à gauche, pour te regrouper tout ça et le poster ici dès que c'est prêt. PrimTux 3 pour Raspberry Pi - développement - Philippe Dpt35 - 26-04-2018 Voici mes notes prises lors des tentatives de compilation Installation des logiciels du Terrier d'Abulédu Disponibles sur la Forge http://redmine.abuledu.org/projects Clonage des sources à partir de git et de la branche du logiciel avant l'adresse Exemple git clone -b version-2.0 http://redmine.abuledu.org/leterrier/leterrier-calculettecapricieuse/leterrier-calculettecapricieuse-git.git Ce type de sources doit être compilé avec un outil Qt Installation du paquet qt4-make Lancement de qmake qui construit un fichier makefile puis lancement de make Erreur de compilation, fichier manquant Installation de libqt4-dev-bin Nouvelle erreur, installation de qt4-dev-tools make --> Calculette-capricieuse sudo checkinstall Echec de checkinstall, il faudra construire le paquet manuellement à partir du paquet existant en remplaçant le binaire. OK --> Paquet reconstruit. --> calcul-mental nombreux échecs de fichiers manquants pour make Installation des diverses dépendances indiquées dans le fichier control: cdbs, libqt5webkit5-dev, qt5-qmake, qtbase5-dev, libqt5core5, zlib1g-dev, libexiv2-dev, libvorbis-dev Des bibliothèques sont à télécharger dans les ressources développeurs: http://redmine.abuledu.org/projects/leterrier-developpeurs Elles ne sont malheureusement pas accessibles (NOTA: à l'époque où cette note a été prise, le site des sources était en cours de construction ; depuis les sources manquantes peuvent avoir été ajoutées) Donc travail sur d'anciennes versions, correspondant aux paquets compilés .deb proposés au téléchargement, et à celles incluses dans PrimTux, Version 1.0.9 Version 1.0.11 OK --> Paquet fait --> leterrier- cibler PrimTux, version 1.0.1 version 1.4 --> ne passe pas, besoin des bibliothèques complémentaires de développement. Retour à 1.0.1 Manque d'infos sur la manière de compiler et installer les bibliothèques complémentaires - à revoir plus tard --> leterrier-fubuki PrimTux version 1.0.0 version 1.3 OK --> Paquet fait --> leterrier-imageo Primtux version 2.0 version 2.0 besoin de bibliothèques complémentaires --> leterrier-suitearithmetique PrimTux version 0.9 version 1.4 besoin de bibliothèques complémentaires de développement. --> leterrier-tierce PrimTux version 0.2 version 1.4 besoin de bibliothèques complémentaires de développement. Nouvelles tentatives de compilation
Compilation par qmake qui renvoie des messages de bibliothèques manquantes. Ajout des bibliothèques des include du fichier .pro dans le sous répertoire lib. Compilation par make qui renvoie des messages d'erreurs de bibliothèques manquantes demandées par les bibliothèques complémentaires précédentes. Ajout de ces bibliothèques dans le sous-répertoire lib. Nouveaux messages d'erreurs de fichiers .h manquants qui sont pourtant au sein des bibliothèques ajoutées. Déplacement des fichiers des bibliothèques concernées directement dans le répertoire principal du projet à compiler. Le problème est résolu. Nouveau message d'erreur du fichier ui_abuledumessageboxv1.h manquant. Ayant vu que ces fichiers étaient construits par makefile,l'hypothèse est faite qu'ils l'étaient à partir des include du fichier .pro. Ajout de Code : [== Undefined ==]Nouvelle erreur de compilation avec ces messages: Code : [== Undefined ==]
Les bibliothèques complémentaires étant ajoutées, massage d'erreur de make Code : [== Undefined ==]Celle-ci contient un fichier .pro Tentative de compilation de AbulEduVirtualKeyboardV1 par qmake qui renvoie l'erreur Code : [== Undefined ==]Récupération des sources de Qt sur Github en version 5.5.1. Insertion des fichiers sources de Qt/qtbase/src/gui/kernel/ dans le sous-répertoire qpa. Relance de qmake, puis make qui renvoie l'erreur suivante: Code : [== Undefined ==]PrimTux 3 pour Raspberry Pi - développement - mothsart - 26-04-2018 Bon, on parle de la même chose : si tu vas sur http://redmine.abuledu.org/projects/leterrier-cibler à partir de ta page, tu remarqueras qu'il y a un dépôt GIT au bout. Ce dernier à plusieurs branches : pour l'instant, je pars sur la dernière stable. J'ai aussi remarqué que le dépôt GIT utilise des sous-modules et que si on ne les initialises pas : on a pas certaines libs essentielles à la compilation. Néanmoins, il reste un point qui me semble délicat (je suis pas encore sur à 100%) : Il y a l'air d'avoir des macros pour le pré-processeur C++ qui vont conditionner la compilation. Sauf que ces conditions ont été mis en place pour les archi android, i386 et 64 mais pas ARM. Si C'est vraiment le cas, il va falloir comprendre le code derrière pour modifier ces macros. PrimTux 3 pour Raspberry Pi - développement - Steph - 26-04-2018 @Philippe => comme j'ai fait un point sur les dépôts et dans le souci de ne pas avoir enlevé certains paquets destinés au Rpi, peux-tu vérifier qu'il ne manque rien entre ton contenu dans synaptic et cette liste? Elle me semble un peu pauvre. Packages-armhf.txt Merci! Edit => sans avoir rechargé les dépôts avant! PrimTux 3 pour Raspberry Pi - développement - Philippe Dpt35 - 26-04-2018 Steph a écrit :peux-tu vérifier qu'il ne manque rien entre ton contenu dans synaptic et cette liste? Elle me semble un peu pauvre. OK, je fais un point dès que possible. PrimTux 3 pour Raspberry Pi - développement - mothsart - 28-04-2018 Alors, je pense avoir trouvé des soluces pour les soucis majeurs de la compilation des softs du terrier. J'en ai franchement bavé (je ne suis ni expert en C++ ni en QT.) Premièrement, voici le premier paquet debian correspondant à la suite arithmétique : https://cloud.indie.host/s/K3FjDZr2DgYEFfw Vu que je n'ai pas vraiment compris les numéros de version des softs d'abuledu, j'ai laissé ça tel quel.(rien touché au fichier changelog) Je suis parti de la branche "version-2.0-stable" (la plus haute stable) mais c'est peut-être pas le bon choix. Ca donne un paquet 0.9 suffixé jaunty3 (une vielle version d'ubuntu) ?! J'ai essayé de lister ce qui est essentiel dans mes multiples essais/erreurs. * Je conseil de faire un : Code : sudo swapoff -a* Toutes les dep de dev : Code : apt-get install cdbs qt5-qmake libqt5web bzr cccache libqt5webkit5-dev qtbase5-dev libqt5core5a libexiv2-dev dh-make qt5-default libqt5svg5-dev qtscript5-dev libphonon4qt5-dev* Un des soucis sans doute récurrent à tous les logiciels du terrier : Code : apt-get install qt5-defaultEn effet, par défaut, raspian utilise qt4 et il y avait dans les instructions de compilation du qt4. Philippe Dpt35 :J'ai eu les mêmes messages d'erreurs que tu évoquais avant de basculer en qt5. * editer le fichier control pour prendre en compte la libqt5core5a en lieu et place de libqt5core5 * ajouter le fichier debian/compat avec la valeur 9 * Un soucis lié à GCC version >= 6 : bug 70129 ! QMake utiise une parade : il faut ajouter QMAKE_CFLAGS_ISYSTEM= dans le fichier src/src.pro * On crée le paquet : Code : dpkg-buildpackage -us -uc* on vérifie que le paquet se lance bien : Code : dpkg -i monpaquet.debpuis lancer le soft : menu > Education > monsoft J'aimerais un retour sur ce premier paquet : savoir si ça correspond bien aux attentes. Si oui, j'aurais, à peut de choses prêt, à appliquer les mêmes règles aux autres paquets du terrier. PrimTux 3 pour Raspberry Pi - développement - Philippe Dpt35 - 28-04-2018 Bon, c'est une bonne nouvelle que tu aies été plus efficace que moi ! ça nous permettra d'avoir une version RPi vraiment très proche de l'original. Malheureusement je ne vais pas pouvoir tester ça avant une bonne quinzaine de jours, car je n'aurai pas accès à ma Raspberry Pi d'ici là. Mais je regarde ça dès que je le peux. PrimTux 3 pour Raspberry Pi - développement - mothsart - 29-04-2018 Voici : leterrier-tierce : https://cloud.indie.host/s/oZjyKWAekey3TRH leterrier-cibler : https://cloud.indie.host/s/gMMsm6WwsQRrpHn Même process que pour la suite arithmétique. Je rencontre en revanche d'autres soucis sur imageo et aller. PrimTux 3 pour Raspberry Pi - développement - mothsart - 29-04-2018 Je suis arrivé à mes fins. leterrier-aller : https://cloud.indie.host/s/D3FMgaTaXzgbZgN leterrier-imageo : https://cloud.indie.host/s/F9eCSoojiGmC6zT Je recommande de ne pas faire comme moi : lancer plusieurs compilations en même temps => la température des procs étaient haute pendant 30 minutes. (faudra que j'investisse dans la dernière raspberry 3B+ )letterier-aller * apt-get install libhunspell-dev * manque un sous-module GIT et par conséquent une lib nécessaire à la compilation : Code : cd src/lib* le fichier /src/lib/abuledulabelv1/abuledulabelv1.cpp doit être commenter à la ligne 165 : // this->render(&pix,QPoint(),QRect(), !QWidget: rawWindowBackground);A ma lecture du code et des commentaires, j'en ai déduis que c'est un oubli lié à un dev non fini. letterier-imageo à la différence de letterier-aller, le sous-module est bien présent. Cependant, l'erreur suivante est identique : * le fichier /src/lib/abuledulabelv1/abuledulabelv1.cpp doit être commenter à la ligne 165 : // this->render(&pix,QPoint(),QRect(), !QWidget: rawWindowBackground);
PrimTux 3 pour Raspberry Pi - développement - Steph - 29-04-2018 Je les mets dans les dépôts, c'est tout ce que je peux faire. PrimTux 3 pour Raspberry Pi - développement - mothsart - 29-04-2018 Ok, pas de prob. J'ai préféré tout faire dans la foulée, avec les mémos, tant que c'était frais. Il faudrait un jour se pencher sur une émulation d'arm via qemu si tu n'as pas de raspberry. PrimTux 3 pour Raspberry Pi - développement - Steph - 29-04-2018 J'ai essayé mais je n'y suis pas arrivé. PrimTux 3 pour Raspberry Pi - développement - Philippe Dpt35 - 29-04-2018 mothsart a écrit :Je suis arrivé à mes fins. Bravo ! je teste tout ça dès mon retour ! PrimTux 3 pour Raspberry Pi - développement - mothsart - 29-04-2018 Pour les sources de omega-primtux : je cherche ça ou ? (ça existe pas avec le traditionnel apt-get source). J'ai parcouru le détail du paquet et je ne vois rien de compilé... Pareil pour open-board : je cherche les sources ou ? PrimTux 3 pour Raspberry Pi - développement - Steph - 29-04-2018 https://github.com/OpenBoard-org/OpenBoard Pour omega, il n'y a que 4 logiciels qui ont été portés sous linux, à l'origine c'était du windows... D'ailleurs à lire leurs licences, je devrais peut-être les mettre en plus au lieu de les intégrer car pour les windows ils parlent de freeware, donc pas de sources. PrimTux 3 pour Raspberry Pi - développement - mothsart - 29-04-2018 Voici TBO (j'espère juste que t'as pas passé du temps dessus Philippe) https://cloud.indie.host/s/FkofaiGN9nmTBQt et son pendant (je sais pas trop à quoi ça sert) : tbo-gsym https://cloud.indie.host/s/SjHAreZpoDyPz9m La procédure était pour le coup assez simple : Code : apt-get install libglib2.0-dev libgtk-3-dev libsrsvg2-dev gnome-common ntltool+ on décommente la ligne 7 du fichier debian/rules : DEB_CONFIGURE_SCRIPT := ./autogen.sh En changeant mes locales sur ma raspbian, la traduction a l'air d'être pris en charge... à vérifier. PrimTux 3 pour Raspberry Pi - développement - Philippe Dpt35 - 29-04-2018 Voici ce que j'avais noté à l'époque où j'ai fait la PrimTux2 pour RPi: Citation :omega-primtux --> logiciels EPI repris par la société omega - contient des binaires, à recompiler Citation :--> open-sankore PrimTux 3 pour Raspberry Pi - développement - Philippe Dpt35 - 29-04-2018 mothsart a écrit :Voici TBO (j'espère juste que t'as pas passé du temps dessus Philippe) Comme je ne suis pas beaucoup chez moi en ce moment, je n'avais pas fait plus que ce que j'avais indiqué. Donc merci à toi pour ce travail ! Je pourrai ainsi tester tout ça et préparer une image RPi de PrimTux 3 que je soumettrai en téléchargement pour tests dès que je serai disponible, d'ici une quinzaine. PrimTux 3 pour Raspberry Pi - développement - mothsart - 01-05-2018 Voici le paquet OpenBoard : https://framadrop.org/r/p0PwkFU8yt#HGWtsh8AlUfSzVIbHHkHILAzrHFWjoUav/oJyyzUAsA= (attention, valable 60 jours) ! J'ai fait chauffer la framboise ![]() C'était pas foncièrement dur à réaliser mais plein de dépendances, une compilation interminable. (au bout de 45minutes, la compil éjoue pour manque de lib et hop on rajoute et on relance x 10) Voici les dépendances pour la compilation : Code : apt-get install qttools5-dev-tools lib5xmlpatterns5-dev uitools libavcodec-dev libavformat-devlibswscale-devCode : apt-get install libssl1.0-devà la place de libssl-dev qui cause des soucis. libfdk-aac-dev n'existe plus dans raspbian (peut-être lié à des soucis de licence...) Il faut donc l'installer à la main : http://ftp.fr.debian.org/debian/pool/non-free/f/fdk-aac/libfdk-aac1_0.1.4-2+b1_armhf.deb http://ftp.fr.debian.org/debian/pool/non-free/f/fdk-aac/libfdk-aac-dev_0.1.4-2+b1_armhf.deb puis Code : dpkg -i libfdk-aac1_0.1.4-2+b1_armhf.debJe tiens une bonne partie de mes soluces de la lecture https://github.com/OpenBoard-org/OpenBoard/issues/98 J'ai rencontré des grosses difficultés à arriver au bout de la compilation. En réalité, je manquais de mémoire vive et de swap pour que la compilation n'échoue pas. La seul solution (il faudra que je me penche un jour sur la crosscompilation ou l'utilisation des serveurs de launchpad a cette fin) est d'augmenter la swap (de 100Mo à 1Go): Code : freeBien entendu, qui dit swap dit très très long. Ensuite : Code : cd OpenBoard-ThirdParty/freetypePuis : Code : cd release_scripts/linuxOn remplace le contenu du fichier BuildContext par "armhf" On remplace le fichier package.sh par https://gist.github.com/mothsART/ddec4361f2260954a964169cb1f85fe2 On l'execute : Code : ./package.shEnjoy PrimTux 3 pour Raspberry Pi - développement - Philippe Dpt35 - 04-05-2018 Stéphane, as-tu établi une liste des modifications effectuées sur la dernière version de PrimTux que tu viens de soumettre en test par rapport à la précédente (nouveaux paquets, modifications d'interface, de personnalisations...) ? Cela me permettrait de gagner beaucoup de temps pour la mise à niveau de la version RPi, et de déterminer si je peux faire évoluer à partir de ce que j'ai déjà fait, ou s'il est préférable que je reparte de zéro. PrimTux 3 pour Raspberry Pi - développement - Steph - 04-05-2018 Si tu es parti sur la PTX2, je te conseille de tout refaire parce qu'avec Stretch on a des changements. Si tu es parti de de la PTX3: - L'interface ce sont les répertoires /home à reprendre (attention aux droits) - Les wallpapers de mothsart sont utilisés par défaut - Openboard remplace Open Sankoré - Géotortue est intégré - FreiOr-plugins intégrés pour openshot - Toutenclic intégré - Gnome-calculator remplace Qalculate! Regarde le readme ici https://git.framasoft.org/Steph/primtux3 pour voir où tu en es concernant les logiciels intégrés. Pour les logiciels supplémentaires par contre je ne sais pas ce que tu proposes. PrimTux 3 pour Raspberry Pi - développement - Philippe Dpt35 - 04-05-2018 J'ai fait une construction par rapport à la PTX3. D'après ce que tu dis, en reprenant simplement les divers /home et en ajustant les paquets, cela devrait le faire. Pour les logiciels complémentaires, il y a encore tout à faire. C'était déjà le cas pour la PTX2. J'aimerais proposer une PTX3 de base, qui sera déjà très complète grâce aux compilations de mothsart. On pourra ensuite travailler tranquillement sur les logiciels complémentaires. PrimTux 3 pour Raspberry Pi - développement - Steph - 04-05-2018 Tant qu'on est sur la base oui (les positionnements de fenêtres, les barres dépendent des /home) mais tu peux regarder les sources, elles sont à jour et tu peux voir les derniers ajouts: https://git.framasoft.org/Steph/primtux3/commits/master Je pense que tu dois être à l'ajout de pulseaudio. |