Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » GiteaPC : Installer et mettre à jour automatiquement des projets Gitea
Lephenixnoir Hors ligne Administrateur Points: 24581 Défis: 170 Message

GiteaPC : Installer et mettre à jour automatiquement des projets Gitea

Posté le 01/01/2021 23:19

Ce topic fait partie de la série de topics du fxSDK.

GiteaPC est un programme Python qui automatise l'installation de projets de la la forge Git de Planète Casio. Son usage principal est d'installer et mettre à jour le fxSDK de façon automatique.

Le code source est sur le dépôt Git Lephenixnoir/GiteaPC. Merci notamment à Breizh_craft, Dark Storm et Cakeisalie5 qui m'ont bien aidé à cerner un design plus élégant.

Installation de GiteaPC

Pour Mac OS : GiteaPC fonctionne, mais il y a quelques ajustements à faire. Voyez le guide de Choukas.

Il y a quelques dépendances à installer. Voici la commande pour les distributions les plus communes sur Planète Casio : copiez la commande (la ligne après le %) dans un terminal puis appuyez sur Entrée (votre mot de passe sera demandé).

# Si vous avez Debian, Ubuntu, WSL sous Windows, Linux Mint ou d'autres dérivés de Debian :
% sudo apt install curl git python3 build-essential cmake pkg-config

# Si vous avez Arch Linux, Manjaro, ou d'autres dérivés d'Arch Linux :
% sudo pacman -S curl git python3 gcc make cmake pkgconf

Ensuite vous pouvez installer GiteaPC en une ligne avec la commande suivante :

% curl "https://git.planet-casio.com/Lephenixnoir/GiteaPC/raw/branch/master/install.sh" -o /tmp/giteapc-install.sh && bash /tmp/giteapc-install.sh

Vous pouvez consulter le script ici ou faire l'installation manuelle depuis le dépôt Lephenixnoir/GiteaPC si vous préférez ça.

Vous aurez probablement besoin de mettre à jour votre PATH. Si vous ne connaissez pas le PATH ou avez du mal à le situer, vous pouvez lire le Tutoriel du Mercredi #20 sur ce sujet. Si ça se produit, GiteaPC vous demandera de modifier le PATH en ces termes :

<giteapc> In order to use programs installed by GiteaPC, you will need to add their
<giteapc> install folder to your PATH. This can be done automatically when you log
<giteapc> in by adding the following command to your startup file:
<giteapc>
<giteapc>   export PATH="$PATH:/home/el/.local/bin"
<giteapc>
<giteapc> -> Press Enter to add this command to /home/el/.profile, or
<giteapc> -> Type another file name to add this command to, or
<giteapc> -> Type "-" to skip setting the PATH entirely.
>

Si vous n'utilisez pas votre .profile, .bashrc ou équivalent (ou ne savez pas ce que c'est), appuyez sur Entrée puis fermez et rouvrez votre session (ou redémarrez votre ordinateur). Si vous utilisez .profile ou équivalent, alors vous comprenez certainement la question, faites ce que vous préférez.

Pour vérifier que l'installation a fonctionné, lancez la commande giteapc. Vous devez obtenir un message d'aide coloré avec la liste des commandes. giteapc peut se mettre à jour tout seul donc vous n'aurez plus besoin de refaire ce travail d'installation.

Installation du fxSDK avec GiteaPC

Le fxSDK et toutes les bibliothèques qui vont avec (que je gère, du moins) peuvent être obtenues avec GiteaPC. Le fxSDK dépend de quelques bibliothèques dont vous aurez besoin (même formule que précédemment, attention à bien copier la commande complète d'un coup même si elle s'affiche sur plusieurs lignes) :

# Debian, Ubuntu, WSL sous Windows, Linux Mint, dérivés de Debian :
% sudo apt install python3-pil libusb-1.0-0-dev libudev-dev libsdl2-dev libpng-dev libncurses-dev
# En option pour fxlink -s :
% sudo apt install libudisks2-dev libglib2.0-dev

# ArchLinux, Manjaro, dérivés d'ArchLinux :
% sudo pacman -S python-pillow libusb sdl2 ncurses patch
# En option pour fxlink -s :
% sudo pacman -S udisks2

Avec ces dépendances, vous pouvez obtenir un environnement de développement avec gint et le fxSDK en quelques étapes. Prenez garde aux cas particuliers suivants :

  • Si jamais vous avez déjà une version de binutils/GCC installée après le fxSDK 2.9 et que vous ne voulez pas les recompiler (ce qui prend ~30 minutes), vous pouvez ajouter :any après Lephenixnoir/sh-elf-binutils et Lephenixnoir/sh-elf-gcc.
  • Si votre Linux n'utilise pas UDisks2 comme gestionnaire de périphériques (vous pouvez tester si la commande udisksctl existe), ajoutez :noudisks2 après Lephenixnoir/fxsdk. Cela désactivera l'option -s de fxlink qui utilise UDisks2 pour copier des fichiers vers les Graph 35+E II et Graph 90+E depuis la ligne de commande.
  • Si vous avez déjà une installation du fxSDK installée sans GiteaPC ou avant la version fxSDK 2.9, vous devez la supprimer avant de commencer, sinon tout va interférer et ce sera le chaos !

Cela étant vu, on commence par installer les outils principaux du fxSDK et le cross-compilateur. Pendant qu'on y est, on installe aussi le debugger (optionnel) :

% giteapc install Lephenixnoir/fxsdk Lephenixnoir/sh-elf-binutils Lephenixnoir/sh-elf-gcc
% giteapc install Lephenixnoir/sh-elf-gdb

Ensuite on installe la lib mathématique, la libc, et on repasse sur GCC pour obtenir la lib C++ :

% giteapc install Lephenixnoir/OpenLibm Vhex-Kernel-Core/fxlibc
% giteapc install Lephenixnoir/sh-elf-gcc

Et enfin on installe gint (et si vous le voulez d'autres libs) :

% giteapc install Lephenixnoir/gint # Lephenixnoir/libprof Slyvtt/cZlib1_2_5 ...

À partir de là vous pouvez coder des add-ins.

Vous pouvez toujours consulter les dépôts clonés par GiteaPC avec la commande giteapc show -p :

cd $(giteapc show -p Lephenixnoir/fxsdk)

Si vous voulez juste coder avec le fxSDK, jetez un œil à la section suivante pour les mises à jour puis vous pouvez arrêter de lire. Le reste de ce topic parle des détails de GiteaPC, qui ne sont pas importants pour juste programmer des add-ins.

Enrichir et mettre à jour une installation du fxSDK avec GiteaPC

Pour installer un nouveau dépôt qui supporte GiteaPC, par exemple la bibliothèque libprof, utilisez giteapc install.

giteapc install Lephenixnoir/libprof

Vous pouvez tout mettre à jour avec giteapc install -u. GiteaPC vous autorise à donner les noms des dépôts sans leur propriétaire s'il n'y a pas d'ambiguïté, ce qui est un peu risqué quand il s'agit des dépôts distants (à l'installation) mais pas trop quand il s'agit de dépôts locaux (durant une mise à jour).

giteapc install -u sh-elf-binutils sh-elf-gcc fxsdk gint libprof

Et voilà, tout est à jour.

Instructions d'utilisations plus précises

Lister et rechercher des dépôts

Utilisez giteapc list -r pour lister les dépôts de la forge qui peuvent être installés avec Gitea, et giteapc list pour lister tous les dépôts que vous avez sur votre ordinateur.

Si un argument supplémentaire est donné, il servira à filtrer par nom et par description. Par exemple, giteapc list -r gcc.

Installer et mettre à jour des dépôts

Utilisez giteapc install pour installer un dépôt et giteapc install -u pour mettre à jour un dépôt. La différence c'est qu'avec -u les nouveautés seront téléchargées avant l'installation (git pull).

Installer des versions spécifiques

Les noms des dépôts dans les commandes install et build acceptent deux suffixes : @version et :config (dans cet ordre). Le premier permet de sélectionner (git checkout) une branche ou un tag. Le second permet de modifier les options de compilation si le dépôt en supporte (par exemple binutils et GCC ont une configuration :any discutée précédemment).

Par exemple, pour installer spécifiquement binutils 2.35.1, on peut utiliser la commande ci-dessous. Notez que du coup le dépôt est figé à la version 2.35.1 et ne sera pas mis à jour (même avec -u) tant que vous n'installerez pas explicitement sh-elf-binutils@master pour revenir sur la branche principale.

giteapc install Lephenixnoir/sh-elf-binutils@2.35.1

Pour installer binutils mais utiliser une version déjà installée au bon endroit sans le recompiler, on peut utiliser la configuration :any.

giteapc install Lephenixnoir/sh-elf-binutils:any

Commandes fines

giteapc fetch permet de clôner ou mettre à jour (git fetch) un dépôt sans toucher à rien.
giteapc build permet de configure/build un dépôt sans l'installer ou de recompiler sans reconfigurer.
giteapc show permet de voir les versions disponibles d'un dépôt local ou distant.

Voyez l'aide (giteapc --help) pour le détail des options.

Désinstaller un dépôt

giteapc uninstall désinstalle un dépôt et supprime le clône local, giteapc uninstall -k déinstalle le dépôt mais garde le clône local. Les dépendances ne sont pas vérifiées durant une désinstallation donc gardez un œil dessus.

Créer un projet supportant GiteaPC

Pour pouvoir être installé par GiteaPC, un dépôt doit avoir les choses suivantes :

• Le topic giteapc sur le dépôt (qu'on peut ajouter en cliquant sur le lien "Manage topics" sur la page principale du dépôt) : c'est ce qui permet au dépôt d'apparaître dans giteapc list -r.

• Fournir un giteapc.make qui contient quelques métadonnées, qui inclut optionnellement giteapc-config.make et fournit quatre cibles configure, build, install et uninstall (plus de détails ci-dessous).

• Avoir giteapc-config.make dans le .gitignore. giteapc-config.make sera un lien symbolique pointant vers la configuration courante, laquelle sera nommée giteapc-config-X.make pour :X.

Le giteapc.make doit ressembler à ça :

# giteapc: version=1
# giteapc: depends=Lephenixnoir/sh-elf-gcc

-include giteapc-config.make

configure:
    ...
build:
    ...
install:
    ...
uninstall:
    ...

.PHONY: configure build install uninstall

D'abord les métadonnées ; il y en a deux pour l'instant : version (doit être "1") et depends (liste des dépendances). Ensuite l'inclusion de giteapc-config.make quand une configuration est demandée. Et enfin, les règles configure, build, install et uninstall, dans lesquelles vous pouvez lancer le code qui va bien.

Quelques exemples : sh-elf-gcc, fxsdk, Template-gint-library.


Précédente 1, 2, 3, 4, 5 ··· 10 ··· 13, 14, 15 Suivante
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 08/01/2021 11:08 | #


Ça commence à prendre forme, c'est cool

GiteaPC ne sait pas quelle version de chaque outil est installée

En soit tu peux récupérer l'état avec un git status (ou équivalent). Je n'ai pas vu si tu le fais déjà, mais ça peut être intéressant d'avoir le diff quand tu fais un update ou un changement de branche. Genre « sur le tag v1.2.3, vous allez passer sur la branche master. Aucune modification détectée, le pull devrait fonctionner ».
Là c'est peut-être un peu verbeux, mais tu peux afficher un warning dans le cas où tu fais un pull et qu'un fichier suivi a été modifié.

Lephe, sur la shout a écrit :
Pour le diff, il est affiché tout seul par Git quand on pull (je laisse sortir son stdout sur le terminal).

L'avantage de checker à la main avant, c'est que tu peux lever une erreur qui sera peut-être plus compréhensible par le public visé par l'outil.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir Hors ligne Administrateur Points: 24581 Défis: 170 Message

Citer : Posté le 08/01/2021 14:54 | #


Je viens de mettre au test les mécanismes de mises à jour en mettant à jour une installation de GiteaPC sous Debian sans problème. Ça veut dire que le système est déjà suffisamment souple pour que je puisse diffuser des mises à jour de binutils, gcc, fxSDK et GiteaPC lui-même qui sont ensuite récupérées en une seule commande.

Je pense que je tiens le bon bout, à part la proposition de Darks de créer des snapshots je pense que tout est dedans. Je ne pense pas que les environnements virtuels soient une bonne idée, mais ce n'est pas incompatible avec le processus de développement de la plupart des gens ici donc je suppose que je ferais mieux de le supporter (?).

Ajouté le 08/01/2021 à 14:59 :
En soit tu peux récupérer l'état avec un git status (ou équivalent). Je n'ai pas vu si tu le fais déjà, mais ça peut être intéressant d'avoir le diff quand tu fais un update ou un changement de branche. Genre « sur le tag v1.2.3, vous allez passer sur la branche master. Aucune modification détectée, le pull devrait fonctionner ».

J'ai répondu brièvement sur la shout, je répète ici. J'avais commencé à jouer avec git status, mais il ne faut pas oublier que ça ne donne que la version du code sans garantir que le code a été compilé, que la compilation a réussi si elle a été tentée, ou que l'outil a été installé. J'ai réfléchi à plusieurs solutions, comme demander au dépôt de me fournir l'information sur la version actuellement installée, mais ça compliquait beaucoup le travail des devs sans apporter de très gros bénéfice.

La raison principale pour savoir quelle version est installée est d'éviter les recompilations, mais y'a que 3 dépôts sur la forge qui prennent longtemps à compiler (binutils, gcc et newlib), et c'est beaucoup plus simple de simplement ajouter la détection de version sur ceux-là (sh-elf-hcc --version), ce que j'ai poussé tout à l'heure. Je pense qu'il vaut mieux prendre 3 secondes pour recompiler gint même si ce n'est pas nécessaire que coder beaucoup de logique pour finalement se planter et passer 3 jours à chercher le problème.

Du reste c'est pas une mauvaise idée d'afficher un diff quand on peut. Actuellement je le fais durant les pull, mais pas durant les fetch/checkout. Ça devrait pas être très difficile, je regarde ça.

L'avantage de checker à la main avant, c'est que tu peux lever une erreur qui sera peut-être plus compréhensible par le public visé par l'outil.

Je risque surtout de regarder le code d'erreur parce que les conditions exactes qui font échouer un pull ne sont pas évidentes, et ont tendance à dépendre de la configuration (!), par exemple git config pull.rebase true. Mais ça devrait aider (les messages de GiteaPC sont assez clairement mis en avant).
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 24581 Défis: 170 Message

Citer : Posté le 29/01/2021 19:34 | #


Le topic a été mis à jour pour l'installation du fxSDK avec la nouvelle version 2.3. GiteaPC est maintenant stable, je vous invite à le tester !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Milang Hors ligne Membre Points: 488 Défis: 2 Message

Citer : Posté le 30/01/2021 21:21 | #


Je pense qu'il y a un bug dans l'installation automatisée de paquets avec pacman:
<giteapc> Will install: Lephenixnoir/sh-elf-binutils, Lephenixnoir/sh-elf-gcc
<giteapc> Is that okay (Y/n)? Y
<giteapc> Lephenixnoir/sh-elf-binutils: Configuring
<sh-elf-binutils> Based on pacman, some dependencies are missing:  mpc ppl
<sh-elf-binutils> Do you want to run 'sudo pacman -S' to install them (Y/n)? Y
[sudo] Mot de passe de exodium :
erreur : aucune cible spécifiée (utiliser -h pour l’aide)

L'erreur n'interrompt pas l'éxecution du programme, mais je trouve ça étrange tout de même.

D'ailleurs, ce n'est pas plutôt le paquet libmpc qui est nécessaire pour compiler gcc sous arch ?
Lephenixnoir Hors ligne Administrateur Points: 24581 Défis: 170 Message

Citer : Posté le 30/01/2021 21:26 | #


C'est correct ! J'avais vérifié avec les headers mais j'ai dû me tromper, c'est bien libmpc.

Pour ce qui est de l'autre erreur, je ne vois vraiment pas comment les dépendances peuvent disparaître entre la première ligne et la deuxième ! o_o

echo "$TAG Based on $pm, some dependencies are missing: $missing"
echo -n "$TAG Do you want to run '$pm_install $missing' to install them (Y/n)? "

En tout cas, tu peux toujours les installer avant et relancer GiteaPC ensuite, binutils se rendra compte que les paquets sont maintenant là.

% sudo pacman -S libmpc ppl


Ajouté le 30/01/2021 à 21:50 :
Breizh a cherché pour moi (merci !), et tu as une version de sh-elf-binutils qui n'est pas à jour - est-ce que tu as utilisé GiteaPC avant que les instructions ne soient finalisées ?

Si c'est le cas, tu peux juste ajouter -u à ta commande install et les dépôts seront pull à leur dernière version avant de configurer.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Caillou15 Hors ligne Membre Points: 67 Défis: 0 Message

Citer : Posté le 31/01/2021 19:42 | #


quand j'essaye de faire l'installation de GiteaPC avec la commande curl, ça m'affiche des erreurs python :
Traceback (most recent call last):
  File "/root/.local/bin/giteapc", line 150, in <module>
    sys.exit(main(sys.argv[1:], commands))
  File "/root/.local/bin/giteapc", line 145, in main
    return commands[argv[0]]["function"](*data, **options)
  File "/root/.local/lib/giteapc/giteapc/repo.py", line 333, in install
    search_dependencies(args, set(), basic_plan, use_https=use_https,
  File "/root/.local/lib/giteapc/giteapc/repo.py", line 319, in search_dependencies
    search_dependencies(r.dependencies(), fetched, plan, **kwargs)
AttributeError: 'RemoteRepo' object has no attribute 'dependencies'

Je suis étudiant en 1ère année de Licence d'informatique donc il faudra peut-être attendre avant d'avoir une réponse de ma part à cause du travail. Et je n'y connais rien à Linux, j'utilise Windows (avec WSL si besoin)
Lephenixnoir Hors ligne Administrateur Points: 24581 Défis: 170 Message

Citer : Posté le 31/01/2021 20:34 | #


Merci ! Ça ressemble beaucoup à ce bug, que j'ai résolu il y a quelques temps.

D'après ton log, le GiteaPC qui est lancé est dans /root/.local/lib/giteapc, ce qui révèle deux problèmes. D'une part il semblerait que tu aies installé une version de GiteaPC avant la dernière publication (car le script install.sh dans la commande d'installation récupère le code source dans /tmp). Ensuite tu as utilisé ton compte root, ce qu'il ne faut surtout pas faire : GiteaPC fonctionne en mode utilisateur normal uniquement, et impliquer ton compte root ne serait que des problèmes en plus.

Si c'est bien le cas, je te suggère de nettoyer ton installation : d'abord supprimer toute trace de GiteaPC dans ton compte root (il y a des dossiers giteapc à trois endroits de /root/.local : dans lib, dans share et dans bin). Et ensuite reprendre l'installation avec la commande initiale.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Caillou15 Hors ligne Membre Points: 67 Défis: 0 Message

Citer : Posté le 31/01/2021 21:47 | #


Je suis obligé d'utiliser le compte root car j'utilise le WSL.
Sinon merci pour la réponse et je vais essayer la manip que tu me propose.
Je suis étudiant en 1ère année de Licence d'informatique donc il faudra peut-être attendre avant d'avoir une réponse de ma part à cause du travail. Et je n'y connais rien à Linux, j'utilise Windows (avec WSL si besoin)
Lephenixnoir Hors ligne Administrateur Points: 24581 Défis: 170 Message

Citer : Posté le 31/01/2021 21:49 | #


Même si tu es sous WSL, tu dois créer un autre compte. Normalement un truc comme ça devrait suffire :

# Créer un nouveau compte
% adduser caillou15
# Donner les droits sudo
% adduser caillou15 sudo
# Se connecter en user
% sudo -iu caillou15

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Caillou15 Hors ligne Membre Points: 67 Défis: 0 Message

Citer : Posté le 31/01/2021 22:40 | #


mon sudo a toujours des problème il me dit
sudo: /etc/sudoers.d is world writable

Je suis étudiant en 1ère année de Licence d'informatique donc il faudra peut-être attendre avant d'avoir une réponse de ma part à cause du travail. Et je n'y connais rien à Linux, j'utilise Windows (avec WSL si besoin)
Lephenixnoir Hors ligne Administrateur Points: 24581 Défis: 170 Message

Citer : Posté le 31/01/2021 22:44 | #


Curieux. Si ce n'est que ça tu peux lui donner les permissions normales comme ceci (en étant connecté en root) :

% chmod 750 /etc/sudoers.d

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Caillou15 Hors ligne Membre Points: 67 Défis: 0 Message

Citer : Posté le 01/02/2021 18:40 | #


tout a l'air de fonctionner pour moi sauf la configuration de gint car il me dit que la version de CMake qui est installée est trop ancienne alors que apt me dit qu'il est à jour
Je suis étudiant en 1ère année de Licence d'informatique donc il faudra peut-être attendre avant d'avoir une réponse de ma part à cause du travail. Et je n'y connais rien à Linux, j'utilise Windows (avec WSL si besoin)
Lephenixnoir Hors ligne Administrateur Points: 24581 Défis: 170 Message

Citer : Posté le 01/02/2021 18:52 | #


C'est un bon début ! Quelle version de CMake as-tu ? Tu peux le savoir en tapant la commande cmake --version.

La version 3.18 est sortie en Juillet 2020, je serais surpris qu'elle ne soit pas packagée. Je vais regarder si je peux descendre la version minimale requise (c'est sans doute le cas), il faudra juste que j'épluche toutes les différences pour vérifier que ça cassera rien.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 01/02/2021 19:02 | #


Debian et Ubuntu sont connues pour être en retard sur l'upstream.

En l’occurrence, la version packagée ce jour est 3.16.3.

C'est le problèmes des rollings, on s'habitue trop à avoir des paquets à jour…
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir Hors ligne Administrateur Points: 24581 Défis: 170 Message

Citer : Posté le 01/02/2021 19:04 | #


Hmm, je vois. Je vais y jeter un oeil ce soir, pour voir si je casse rien à tout descendre à 3.16 (ça devrait aller).

(Au moins GiteaPC rend facile la récupération de ces updates !)

Ajouté le 01/02/2021 à 22:34 :
J'ai revu les changements entre CMake 3.16 et 3.18, a priori rien de problématique.

J'ai poussé les changements sur la branche dev de gint, peux-tu confirmer que ça marche chez toi en l'installant comme ceci ?

giteapc install sh-elf-binutils:any sh-elf-gcc:any fxsdk gint@dev

Le @dev après gint signifie que tu installeras la branche dev (pour le test). Si ça marche, je pousserai immédiatement sur master, et tu pourras de nouveau suivre la branche principale en installant gint@master.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Caillou15 Hors ligne Membre Points: 67 Défis: 0 Message

Citer : Posté le 02/02/2021 18:13 | #


ça marche mais j'ai des erreurs python qui n'arrêtent pas la compilation.
ModuleNotFoundError: No module named 'PIL'

Ces erreurs surviennent pendant la compilation des images PNG des polices.

Ajouté le 02/02/2021 à 18:19 :
C'est bon j'ai vu dans le README de fxsdk qu'il faut installer le paquet python3-pil à côté
Je suis étudiant en 1ère année de Licence d'informatique donc il faudra peut-être attendre avant d'avoir une réponse de ma part à cause du travail. Et je n'y connais rien à Linux, j'utilise Windows (avec WSL si besoin)
Lephenixnoir Hors ligne Administrateur Points: 24581 Défis: 170 Message

Citer : Posté le 02/02/2021 18:21 | #


Super ! Côté GiteaPC tout est bon, mais j'ai oublié de mentionné une dépendance pour le fxSDK, comme tu l'as vu.

J'ai poussé les changements de CMake sur les branches master. Actuellement, comme tu as installé gint@dev, ton installation de gint continue de suivre la branche dev, ce qui n'est nécessaire que durant les tests et si tu as besoin de fonctionnalités bleeding-edge.

Je te conseille de revenir sur master maintenant qu'on a confirmé que CMake 3.16 convenait. Tu peux le faire comme ceci :

giteapc install gint@master

La branche master sera suivie automatiquement ensuite.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Kamrade Hors ligne Membre Points: 48 Défis: 0 Message

Citer : Posté le 14/02/2021 15:02 | #


Je poste ce message pour vous informer que giteapc marche sous Ubuntu 20.04 wsl mais j'ai du installer en plus cmake et python-pill pour que ça marche. Sous Debian WSL ça ne marche pas car la dernière version de cmake n'est pas disponible
Voila
Lephenixnoir Hors ligne Administrateur Points: 24581 Défis: 170 Message

Citer : Posté le 14/02/2021 15:06 | #


Merci beaucoup !

CMake est listé dans les dépendances de GiteaPC sur le topic (mais c'est peut-être trop discret ?). PIL est une dépendance du fxSDK, je l'ai ajouté dans la section qui va bien.

Concernant CMake, je suis descendu très récemment à la version 3.16 au lieu de la version 3.18 que j'ai sous Arch (qui est toujours un peu plus à jour). J'ai vérifié que Debian avait bien la 3.16. Qu'est-ce que tu as comme Debian WSL, et quelle version de CMake est-ce que ça te propose ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Kamrade Hors ligne Membre Points: 48 Défis: 0 Message

Citer : Posté le 14/02/2021 15:09 | #


Ma version de cmake était la 1.13 sous debian j'avais essayer de désinstaller puis de réinstaller cmake mais c'était toujours la version 1.13.1

Ajouté le 14/02/2021 à 15:10 :
Mais sous ubuntu wsl suffit juste d'installer cmake et c'est bon
Lephenixnoir Hors ligne Administrateur Points: 24581 Défis: 170 Message

Citer : Posté le 14/02/2021 15:10 | #


Wow c'est super en retard donc. Bon c'est noté, je regarderai ce que je peux faire.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Précédente 1, 2, 3, 4, 5 ··· 10 ··· 13, 14, 15 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 98 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd