Problème d’architecture avec Duniter

,


Bonjour
La fibre ayant été enfin disponible à mon nouveau domicile, je viens donc de remettre en route mon Raspberry Pi4 avec une toute nouvelle installation : Raspberry Pi OS 64 avec boot sur SSD.
J’ai ensuite installé “duniter-server-v1.8.7-linux-x64.deb” et l’installation s’est faite sans problème.
Voici une copie d’écran de ce qui se passe lorsque je lance la synchro.
Comment régler ce problème ?
Merci d’avance pour une solution… :slightly_smiling_face:

Le

a une architecture ARM. Tu as installé un paquet Debian pour architecture 64 bits :

Ce qui explique l’erreur impossible d’exécuter le fichier binaire : Erreur de format pour exec().

La dernière release (compatible niveau protocole) ayant un paquet pour ARM est la v1.8.5. Tu peux installer ce paquet. Si tu veux faire tourner la dernière version (v1.8.7) il te faut construire Duniter à partir de la branche release/1.8.

1 Like

Bonjour Moul
Merci pour cette réponse. Du coup, j’ai réinstallé Rasberry Pi OS 32, puis duniter 1.8.5 server, et là, ça fonctionne bien. J’ai lancé une synchro, plus qu’à croiser les doigts pour qu’elle aille jusqu’au bout !
:slightly_smiling_face:

Il me semble que le Raspi 4 est compatible armv8. Pourquoi ne pas installer une distrib avec cette architecture ?

tu veux dire un o.s ou un container ?
parceque la pi4 tournait bien en arm64 avant que moul propose la 1.8.5 et c’est dommage en effet, les amélioration récente de duniter n’ y seront pas

OS.

L’image armv8 pour la version 1.8.7 est dispo sur mon dépôt Dockerhub : pinidh/duniter:1.8.7. Je génère ces images manuellement car pas pris en charge par la CI de la branche release/1.8.

Au temps pour moi. Je n’avais pas compris ça.

1 Like

ah oui c’est j’ avais encore zappé la spécificité de ce dépot merci encore pour ton boulot au passage

1 Like

Pini

2 h

Il me semble que le Raspi 4 est compatible armv8. Pourquoi ne pas installer une distrib avec cette architecture ?

Effectivement, mon Raspi 4 a une architecture 64 bit (voir copie d’écran jointe). L’OS 64 fonctionnait très bien, mais la version 1.8.5 de Duniter ne fonctionnait pas mieux que la 1.8.7. sur cet OS. Vu qu’ il n’y a pas de paquet Duniter pour Rasbian armv8 (64 bits), réinstaller un OS 32bits a réglé le problème, Duniter1.8.5 fonctionne parfaitement.

celà étant dit un programme arm32 fonctionne aussi bien sur arm64 et un duniter docker est maintenant arm64 1.8.7 pour résumer

Mais plus fragile que la 1.8.7 sur la résolution des forks pour ce que j’en comprends.

1 Like

Mon avis est que si tu ne peux pas lancer une configuration appareil + OS + Duniter 1.8.7, alors il vaut mieux ne pas lancer de serveur.

Il ne faut pas ajouter au réseau des versions de Duniter qui ne sont pas à jour, cela dégrade et fragilise le réseau. Surtout que la version 1.8.7 est vraiment plus stable et permet à cesium d’être bien plus rapide.

Les développeurs souhaitent que la majorité des serveurs soient à jour, pour la sécurité du réseau et la fiabilité des clients.

Lancer une version obsolète de Duniter doit seulement être un choix éclairé par refus d’un changement dans les nouvelles versions, et la volonté de maintenir un réseau alternatif (un soft fork).

Suite aux plantages répétés des tentatives de synchro avec duniter 1.8.5, j’ai de toute manière jeté l’éponge !
Mon rasberry Pi4 avec “Rasberry Pi OS” ne semble donc pas compatible avec Duniter 1.8.7 puisque je ne trouve pas de release 1.8.7 compatible avec l’architecture arm32 ou 64, à moins que

m’explique comment télécharger cette image…
Merci en tout cas pour toutes les réponses.
:slightly_smiling_face:

1 Like

C’est une image docker. Je laisse @Pini t’expliquer. comment faire.

C’est une image Docker qui s’utilise la plupart du temps via un fichier docker-compose.yml et la commande docker-compose.

J’ai compris que ton installation actuelle était basée sur le paquet Debian. Via Docker c’est sensiblement différent. On fait abstraction de la distribution linux sur laquelle l’outil est installé. L’architecture joue un rôle toutefois, Il faut donc un Linux en armv8 (aarch64) pour faire tourner une image docker armv8.

Si besoin je peux t’aider à mettre au point ton fichier docker-compose.yml.

J’accepte volontiers une aide pour mettre au point un fichier *docker-compose.yml*. Mon rpi est bien en arm8 (avec 4 GO de ram), mais dois-je au préalable réinstaller le “Rasberry Pi OS” 64 à la place du 32 installé actuellement ?

2 Likes

oui

edit: et un dépot x64 c’est pas arm mais amd et intel

Oui, et aussi configurer un swap de 4Go. Car la synchro a maintenant besoin de plus de 4Go.

1 Like

Voilà l’OS 64 réinstallé. Pour le swap, bien qu’ayant rentré la valeur de 4096, le système ne m’autorise que 2048 Mo…


Confirmé par la commande top…
Snap2

Je ne connais pas dphys-swapfile. J’ai toujours utilisé l’une de ces deux solutions :

  • Partition swap à configurer au moment de l’installation
  • Fichier swap configuré à la main à partir de tutos de ce genre

Sinon il t’est peut-être possible de créer deux fichiers swap de 2Go ?

EDIT

Ça se change dans le fichier de config associé /etc/dphys-swapfile.

1 Like

dans ce fichier que l’ on ouvre avec sudo nano,il y a #CONF_MAXSWAP=2048
qui semble pourtant griser par le # mais étant donné que le paramètre maxi est persistant il faut supprimer le # puis donner une valeur cohérente (4096)