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.
Citer : Posté le 23/01/2024 10:17 | #
Tu peux exécuter ça et nous donner le résultat pour chaque commande stp ?
cat ~/.bashrc
source .profile
source .bashrc
echo $PATH
which giteapc
Citer : Posté le 23/01/2024 10:29 | #
On s'est croisé. Enlève une des 2 lignes et relances ta session.
fait mais ça ne change rien
As tu bien présent giteapc dans /home/joz/.local/bin ?
giteapc
. ~/.bashrc
export PATH="$PATH:/home/joz/.local/bin"
$ source .profile
joz@emachines ~
joz@emachines ~
/home/joz/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games
joz@emachines ~
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# base #################################################################
PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games
EDITOR="nano"
PAGER="most"
BROWSER="w3m"
ENV=$HOME/.bashrc
export PATH EDITOR PAGER BROWSER ENV
# colors & char ########################################################
# text normal colors
red='\e[0;31m'
blue='\e[0;34m'
cyan='\e[0;36m'
green='\e[0;32m'
yellow='\e[0;33m'
# text bright colors
bred='\e[0;91m'
bblue='\e[0;94m'
bcyan='\e[0;96m'
bgreen='\e[0;92m'
byellow='\e[0;93m'
bwhite='\e[0;97m'
# reset color
NC='\e[0m'
# dir_colors ###########################################################
test -r "/etc/dir_colors" && eval $(dircolors /etc/dir_colors)
# alias ################################################################
# ls & grep ------------------------------------------------------------
alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
# cd & goto ------------------------------------------------------------
alias cd..='cd ..'
alias ...='cd ..'
alias ....='cd ../..'
alias gm='cd /media'
alias gc='cd ~/.config'
# utils ----------------------------------------------------------------
# get top 10 shell commands:
alias top10='cat ~/.bash_history | uniq -c | sort -nr | head -n 10'
# process using web
alias ports='lsof -i -n -P'
# make parent directory if needed
alias mkdir='mkdir -p'
# packages -------------------------------------------------------------
alias debin='sudo apt install --no-install-recommends'
alias debrm='sudo apt autoremove --purge'
alias debup='sudo apt update && sudo apt full-upgrade'
alias debsh='apt search'
alias debvs='apt-cache policy'
# quit, exit & reboot --------------------------------------------------
alias :q='exit'
alias oust='echo "bye $USER..."; sleep 2s && systemctl poweroff'
alias comeback='echo "be back right now..."; sleep 2s && systemctl reboot'
# bash cfg -------------------------------------------------------------
alias bashcfg='$EDITOR ~/.bashrc'
alias bashrld='source ~/.bashrc'
# misc -----------------------------------------------------------------
alias nospace='rename "y/ /_/ " *'
alias clr='clear'
alias invertcolors='xcalib -i -a'
# may the force be with you
alias starwars="telnet towel.blinkenlights.nl"
# get website
alias getweb='wget -r -np --user-agent=Firefox -l5 -k -E '
# password generator
alias genpass='echo `< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12`'
# bashmount
alias bm='bashmount'
# end of alias #########################################################
# functions ############################################################
# misc -----------------------------------------------------------------
# find from name in current directory
function ff() { find . -type f -iname '*'$*'*' -ls | $PAGER ; }
# generate a dated .bak from file
function bak() { cp $1 $1_`date +%Y-%m-%d_%H:%M:%S`.bak ; }
# infos ----------------------------------------------------------------
# generate space report
function space() { du -skh * | sort -hr ; }
# archives -------------------------------------------------------------
# extract
function extract()
{
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz) tar xvzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xvf $1 ;;
*.tbz2) tar xvjf $1 ;;
*.tgz) tar xvzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*.xz) unxz $1 ;;
*) echo "'$1' cannot be extracted via >extract<" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
# compress
mktar() { tar cvf "${1%%/}.tar" "${1%%/}/"; }
mktgz() { tar cvzf "${1%%/}.tar.gz" "${1%%/}/"; }
mktbz() { tar cvjf "${1%%/}.tar.bz2" "${1%%/}/"; }
mktxz() { tar cvJf "${1%%/}.tar.xz" "${1%%/}/"; }
# cli colors preview
function clipv()
{
for i in {0..255} ; do
printf "\x1b[48;5;%sm%3d\e[0m " "$i" "$i"
if (( i == 15 )) || (( i > 15 )) && (( (i-15) % 6 == 0 )); then
printf "\n";
fi
done
}
# end of functions #####################################################
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
export HISTCONTROL="ignoreboth:ignoredups:ignorespace"
# append to the history file, don't overwrite it
shopt -s histappend
# ignore specific commands
export HISTIGNORE="ls*:cd*:debsh*:debup*:debvs*:man*:history:exit"
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar
# make less more friendly for non-text input files, see lesspipe(1)
#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
# prompt ###############################################################
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)} \e[01;32m\u\e[m@\e[0;36m\h\e[m \e[01;34m\w\e[m\n $ '
# regular Debian colored prompt:
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
Citer : Posté le 23/01/2024 10:32 | #
Ah bah voilà. Ton bashrc récrit le PATH.
Donc en gros à l'ouverture de la session .profile ajoute le chemin vers giteapc.
Sauf que quand t'ouvre un shell ça réécrit complètement le PATH. C'est moche.
C'est quoi la distro ?
Pour corriger tu peux déplacer la ligne "PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games" de .bashrc à .profile (au tout début de .profile)
Et je t'invite fortement à lire le TDM précédemment cité pour comprendre comment ça fonctionne.
Citer : Posté le 23/01/2024 10:35 | #
Ok, ton PATH dans .bashrc ne contient pas /home/joz/.local/bin
ton .bashrc écrase ton PATH de .profile
il faudrait en fait avoir
PATH=$PATH:$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games
donc soit tu rajoutes manuellement $PATH: au tout début de la ligne
soit tu ajoutes :/home/joz/.local/bin
à la fin
ou comme proposé par DS, tu déplaces la ligne dans .profile
C'est vilain cet écrasement du PATH
Citer : Posté le 23/01/2024 10:38 | #
Ah bah voilà. Ton bashrc récrit le PATH.
Donc en gros à l'ouverture de la session .profile ajoute le chemin vers giteapc.
Sauf que quand t'ouvre un shell ça réécrit complètement le PATH. C'est moche.
C'est quoi la distro ?
Pour corriger tu peux déplacer la ligne "PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games" de .bashrc à .profile (au tout début de .profile)
Et je t'invite fortement à lire le TDM précédemment cité pour comprendre comment ça fonctionne.
Nakedeb (une debian sans rien au départ)
je vais remettre borworm ce sera plus classique.
Citer : Posté le 23/01/2024 10:40 | #
Désolé d'avoir pourri ce fil...
Il me semblait bien que j'allais encore embêter tout le monde...
je vais réinstaller une Debian plus classique
Citer : Posté le 23/01/2024 10:40 | #
Bah la distro en vrai osef à partir du moment où tu sais pourquoi les choses sont en place et à quoi elles servent. Mettre Bookworm ça déplace juste le problème x)
Citer : Posté le 23/01/2024 10:45 | #
oui DS a raison, on s'en fout de la distrib, tu risques en plus d'avoir le même souci.
Fait la petite correction proposée et ça devrait passer.
Citer : Posté le 23/01/2024 11:29 | #
Il me semblait bien que j'allais encore embêter tout le monde...
Pas du tout. Ce problème est ultimement la faute de GiteaPC (qui modifie le PATH d'une façon qui ne marche pas absolument tout le temps). Tu ne seras sans doute pas le seul à le croiser. Il est à la fois important qu'on sache que ça arrive et utile de voir comment on peut résoudre la situation.
Citer : Posté le 23/01/2024 15:41 | #
Pour la postérité, le problème était du à une mauvaise pratique au niveau de la distribution utilisée : https://framagit.org/3hg/nakedpkgs/-/issues/1
Citer : Posté le 25/01/2024 12:50 | #
Donc Ptitjoz, tu as réussi à l'installer le fxsdk?
Citer : Posté le 31/01/2024 10:50 | #
Donc Ptitjoz, tu as réussi à l'installer le fxsdk?
Citer : Posté le 31/01/2024 12:28 | #
ahh domage :/ tu as quel type d'erreur et tu es sous quel OS d'ordinateur?
Citer : Posté le 06/02/2024 09:38 | #
Bon toujours ce problème de PATH
bon je tape le path en console en attendant ...
et la compile démarre mais sur mon ordinosaure de l'ère glaciaire ça met des plombes…
j'éditerai ce billet pour dire l'état d'avancement de l'outil
Edit 1 :
Problème de PATH réglé !
il fallait régler l'émulateur de terminal (xfce4-terminal) avec l'option "lancer le terminal en tant que shell de connexion"
Merci aux personnes de #debian-facile qui ont cerné le problème
Edit 2 :
Tout semble fonctionner pour moi
Citer : Posté le 18/02/2024 19:53 | #
Sur Android, c'est hardcore . J'y suis encore depuis le matin .
Citer : Posté le 18/02/2024 19:54 | #
Tu vas mettre trois ans à compiler
Citer : Posté le 18/02/2024 19:56 | #
Tu vas mettre trois ans à compiler
Citer : Posté le 18/02/2024 20:00 | #
Ben, si tu l'installes, c'est bien pour l'utiliser
Citer : Posté le 10/04/2024 16:21 | #
Re
Du a certaine circonstance j'ai du réinitialiser mon pc et après avoir installé Ubuntu su wsl Jai tente de réinstaller le SDK mais a partir de la premier étape il me marque une erreur
Do you want to continue? [Y/n] Y
Ign:1 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libc-dev-bin amd64 2.35-0ubuntu3.4
Ign:2 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 linux-libc-dev amd64 5.15.0-89.99
Ign:3 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libc6-dev amd64 2.35-0ubuntu3.4
Err:4 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libdpkg-perl all 1.21.1ubuntu2.2
404 Not Found [IP: 91.189.91.81 80]
Err:5 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 dpkg-dev all 1.21.1ubuntu2.2
404 Not Found [IP: 91.189.91.81 80]
Err:6 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 cmake-data all 3.22.1-1ubuntu1.22.04.1
404 Not Found [IP: 91.189.91.81 80]
Err:7 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 cmake amd64 3.22.1-1ubuntu1.22.04.1
404 Not Found [IP: 91.189.91.81 80]
Ign:8 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libtiff5 amd64 4.3.0-6ubuntu0.6
Ign:9 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libc-devtools amd64 2.35-0ubuntu3.4
Err:1 http://security.ubuntu.com/ubuntu jammy-updates/main amd64 libc-dev-bin amd64 2.35-0ubuntu3.4
404 Not Found [IP: 91.189.91.81 80]
Err:2 http://security.ubuntu.com/ubuntu jammy-updates/main amd64 linux-libc-dev amd64 5.15.0-89.99
404 Not Found [IP: 91.189.91.81 80]
Err:3 http://security.ubuntu.com/ubuntu jammy-updates/main amd64 libc6-dev amd64 2.35-0ubuntu3.4
404 Not Found [IP: 91.189.91.81 80]
Err:8 http://security.ubuntu.com/ubuntu jammy-updates/main amd64 libtiff5 amd64 4.3.0-6ubuntu0.6
404 Not Found [IP: 91.189.91.81 80]
Err:9 http://security.ubuntu.com/ubuntu jammy-updates/main amd64 libc-devtools amd64 2.35-0ubuntu3.4
404 Not Found [IP: 91.189.91.81 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/g/glibc/libc-dev-bin_2.35-0ubuntu3.4_amd64.deb 404 Not Found [IP: 91.189.91.81 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/l/linux/linux-libc-dev_5.15.0-89.99_amd64.deb 404 Not Found [IP: 91.189.91.81 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/g/glibc/libc6-dev_2.35-0ubuntu3.4_amd64.deb 404 Not Found [IP: 91.189.91.81 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/d/dpkg/libdpkg-perl_1.21.1ubuntu2.2_all.deb 404 Not Found [IP: 91.189.91.81 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg-dev_1.21.1ubuntu2.2_all.deb 404 Not Found [IP: 91.189.91.81 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/c/cmake/cmake-data_3.22.1-1ubuntu1.22.04.1_all.deb 404 Not Found [IP: 91.189.91.81 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/c/cmake/cmake_3.22.1-1ubuntu1.22.04.1_amd64.deb 404 Not Found [IP: 91.189.91.81 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/t/tiff/libtiff5_4.3.0-6ubuntu0.6_amd64.deb 404 Not Found [IP: 91.189.91.81 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/g/glibc/libc-devtools_2.35-0ubuntu3.4_amd64.deb 404 Not Found [IP: 91.189.91.81 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Collège fx92+
Aucun projet en cour faut déjà que j'apprenne a faire des add-in et donc a programmer en C un minimum
Citer : Posté le 10/04/2024 16:22 | #
Sur la dernière ligne :
As-tu essayé de lancer apt-get update, puis de réessayer ?
Mon blog ⋅ Mes autres projets
Citer : Posté le 10/04/2024 16:22 | #
Comme indiqué dans l'erreur, ton installation n'est probablement pas à jour.
Essaie un sudo apt-get update puis recommence