OpenMediaVault 3.0 sur Rpi1 B+ > php5-fpm "illegal instruction"

Bonjour,
J’essaye d’installer OpenMediaVault version 3, donc avec Jessie, sur une Rpi1 B+ avec Raspbian, donc sans passer par les images OMV car non dispo pour cette version sur ce matériel. Malheureusement le service php5-fpm pose quelques soucis :

#systemctl start php5-fpm.service
Job for php5-fpm.service failed. See 'systemctl status php5-fpm.service' and 'journalctl -xn' for details.
zsh: exit 1     systemctl start php5-fpm.service

# systemctl status php5-fpm.service
● php5-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php5-fpm.service; enabled)
   Active: failed (Result: signal) since ven. 2016-06-03 00:50:21 CEST; 6s ago
  Process: 13148 ExecStart=/usr/sbin/php5-fpm --nodaemonize --fpm-config /etc/php5/fpm/php-fpm.conf (code=killed, signal=ILL)
  Process: 13142 ExecStartPre=/usr/lib/php5/php5-fpm-checkconf (code=exited, status=0/SUCCESS)
 Main PID: 13148 (code=killed, signal=ILL)

juin 03 00:50:21 Andelaum php5-fpm-checkconf[13142]: Illegal instruction
juin 03 00:50:21 Andelaum systemd[1]: php5-fpm.service: main process exited, code=killed, status=4/ILL
juin 03 00:50:21 Andelaum systemd[1]: Failed to start The PHP FastCGI Process Manager.
juin 03 00:50:21 Andelaum systemd[1]: Unit php5-fpm.service entered failed state.
zsh: exit 3     systemctl status php5-fpm.service

Il semble que ce soit php5-fpm-checkconf qui poste souci avec un «illegal instruction»
Je suis allé voir ce qu’il avait dans le ventre et il n’y a qu’une seule ligne d’instruction intéressante

#!/bin/sh
set -e
errors=$(/usr/sbin/php5-fpm --fpm-config /etc/php5/fpm/php-fpm.conf -t 2>&1 | grep "\[ERROR\]" || true);
if [ -n "$errors" ]; then
    echo "Please fix your configuration file..."
    echo $errors
    exit 1
fi
exit 0

Donc du coup en console je reproduis le problème

 /usr/sbin/php5-fpm --fpm-config /etc/php5/fpm/php-fpm.conf
zsh: illegal hardware instruction  /usr/sbin/php5-fpm --fpm-config /etc/php5/fpm/php-fpm.conf

Là je sens le problème de compilation ou un truc du genre, donc je fait une détection avec l’utilitaire «file»

 file /usr/sbin/php5-fpm
/usr/sbin/php5-fpm: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=eddbfa576903789baa1008891302d90d8b219f3f, stripped

Mais là je sèche … une idée ?

pour info :

# aptitude show php5-fpm
Paquet : php5-fpm
État: installé
Automatiquement installé: oui
Version : 5.6.20+dfsg-0+deb8u1
Priorité : optionnel
Section : php
Responsable : Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org>
Architecture : armhf
Taille décompressée : 8 048 k

Merci d’avance :wink:

Bon au final j’ai fait un peu le bourrin résoudre le soucis. J’explique.

La démarche est reprise d’ici : Raspberry pi: upgrade php5-fpm error - Updates/Upgrades - openmediavault

Actuellement le paquet problématique est le php5-pam en version 1.0.3-4 et pour contourner le problème il nous faut le 1.0.3-2. Le fait que seul le dernier chiffre diffère nous indique qu’il s’agit d’une version corrective, donc normalement pas d’incompatibilité.

Le truc c’est que cette différence de version, même si mineur, entraine des dépendances assez large. Le paquet virtuel phpapi-20100525+lfs est pas nécessaire mais c’est la version phpapi-20131226 qui est installé. Et qui dit paquet virtuel, dit plein de dépendances dans tous les sens (php5-common entre autre).

Du coup pour passer outre cette limitation il faut dire à dpkg de forcer l’installation même si les dépendances ne sont pas satisfaite … ce que n’est pas terrible.

Donc en 2 commandes, problème résolu :

wget http://omv-extras.org/debian/pool/main/p/php5-pam/php5-pam_1.0.3-2_armhf.deb
dpkg --force-all -i php5-pam_1.0.3-2_armhf.deb

Bon par la suite il faut faire attentions aux mise à jour pour ne pas recasser tout cela. Il faut que je fasse quelques vérif de retour chez moi, mais le service arrive a se lancer sans erreur maintenant.

Merci a clochette de m’avoir remis sous le nez la solution