PHP5-FPM illegal instruction

Bonjour,
J’essaye d’installer le service php5-fpm sur un Raspbian à jour, donc sous Jessie. Rpi B+
Malheureusement il n’arrive pas a lancer le service :

#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

En cherchant sur je suis tombé là-dessus, mais ça date un peu : http://forums.openmediavault.org/index.php/Thread/7002-Raspberry-pi-upgrade-php5-fpm-error/

Du coup en cherchant sur les différents bug tracker je suis tombé là-dessus (c’est un peu moins ancien) : https://bugs.launchpad.net/raspbian/+bug/1415826

Tu peux regarder, il me semble que tu utilise OMV sur ton raspberry :wink:
Le problème pourrais provenir de php5-pam de OMV qui soit n’est pas à jour, soit ne convient pas dans sa version actuelle.

On peu rien te cacher :yum:
En effet c’est à l’install de OMV que ça merdouille, mais comme j’avais isolé le problème et que ce n’est pas directement OMV qui merde je voulais séparé.
Merci pour tes liens, je suis effectivement tombé dessus hier mais comme il se faisait tard j’ai préféré me reposer un peu avant de me lancer dans leurs manips.

Du coup je vais creuser de ce coté.

edit : Ça me chiffonne un peu les versions sont quand même bien daté et je serais obligé de rétrogradé pas mal de packet …

Bon au final j’ai fait un peu le bourrin et j’ai pu l’installer sans casse. J’explique.

La démarche est reprise d’ici : http://forums.openmediavault.org/index.php/Thread/7002-Raspberry-pi-upgrade-php5-fpm-error/?postID=64549#post64549

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.

Ravi que t’es pu dépatouiller le problème.

Sinon j’aurai peut-être tenté l’aventure avec docker afin de permettre d’isoler OMV du serveur web et permis ainsi de simplifier au maximum la maintenance.

Un article un peu hors sujet par rapport au problème rencontré mais proposant de bien belles choses à réaliser pour chez soi à base de docker et de Raspberry :

La solution Docker n’aurait pas été valide. OMV gère pas mal de chose au niveau système (services, RAID, …) du coup je doute que ça se conjuge bien avec un Docker.

Bon finalement je pense que je vais être obliger de rétrograder PHP …
J’ai encore des erreurs que je ne peut pas résoudre cette fois.

PHP Warning:  PHP Startup: pam: Unable to initialize module
Module compiled with module API=20100525
PHP    compiled with module API=20131226
These options need to match

Et malheureusement ça bloque l’authentification sur l’interface.

PHP Fatal error: Call to undefined function OMV\System\pam_auth() in /usr/share/php/openmediavault/system/user.inc on line 315

Bon je savais que je partais sur une version encore en béta de OMV …

Errrf pas de bol effectivement …

J’en doute pas je suis plus ou moins dans le même cas en utilisant Freenas, je ne peux pas basculer vers du Raspberry pi, il y a tout bonnement pas assez de RAM pour ZFS et la quantité To de stockage :frowning:

Bon alors j’ai avancé.
Finalement au lieu de rétrogradé PHP j’ai recompilé le module problématique. Pour cela je me suis basé sur un tuto pour installer OMV en version 2.x sur une Jessie.
Le paquet en question est propre à OMV, donc il ne sert a rien de le chercher sur le dépot Debian ou Raspian.

apt-get install subversion fakeroot build-essential devscripts git debhelper xsltproc php5-dev libpam-dev
svn checkout svn://svn.code.sf.net/p/openmediavault/code/trunk openmediavault-code
cd openmediavault-code/deb/php5-pam/dpkg-buildpackage -b
cd ..
dpkg -i php5-pam_1.0.3-4_armhf.deb

On reboot le Rpi et on voi que l’on passe la page d’authentification :slight_smile:
Par contre on a un joli message d’erreur après. :laughing: ça nous sature le CPU et au bout d’un moment tu te fait déconnecter automatiquement :scream:

Bref c’est pas encore gagné mais ça avance. :disappointed:

Bon en fait c’est vraiment parce que c’est en version béta … j’ai fait les mises a jour et cette fois on se fait éjecter après un bon petit moment. On a toujours 3 popup «une erreur est survenu», mais ça devient presque utilisable. Bon par contre le Rpi n’est vraiment pas un foudre de guerre.

J’ai enfin reçu ma PINE64 de 2Go de RAM, après quelques emplettes (Carte SD, câble HDMI) je pourrais te dire si c’est vraiment plus rapide :slight_smile: J’avais testé une Rpi 512, c’était quand même poussif.

Produit intéressant mais comme beaucoup il manque un (ou 2) connecteur S-ATA ou de l’USB 3 qui dépote déjà pas mal.

Ce NAS n’est là que pour faire de la sauvegarde avec un RAID miroir, rien de plus. Donc qu’il soit poussif en interface n’est pas si gênant que cela.

Mais je serais intéressé par ton retour d’expérience sur ce matériel.

Pareil je suis très fortement intéressé par cette carte qui me permettrai sans doute de monter un cluster sympathique.

Quel OS peux-ton dors et déjà installé dessus, le site n’est guère bavard et ni android ni ubuntu ne me contenterai à première vue :stuck_out_tongue:

Il y a des images Debian

Merci en creusant je suis tombé aussi sur les carte ODROID qui paraissent aussi fort prometteuse pour faire du cluster Docker/Swarn à l’aide de Hypatriot -> dépôts GIT : https://github.com/hypriot?tab=repositories

Faut que j’étudie tout ça avant de me lancer trop rapidement sur l’achat de matériel.