Instruction illégale commençant Apache -> PEM_read_bio_X509

Je travaille sur Ubuntu 13.10 64bits et j’ai construit Apache 2.2.17 et openSSL 0.9.8b depuis la source avec cette configuration:

  • openssl: ./config prefix = / repository no-asm
  • apache: ./configure \ –prefix = / opt / httpd \ –avec-include-apr \ –enable-ssl \ –avec-ssl = / opt / openssl-1.0.1e \ –enable-ssl- staticlib-deps \ –enable-mods-static = ssl (build stactic!)

Lorsque j’essaie de démarrer mon apache sans SSL, cela fonctionne, mais lorsque j’essaie de démarrer avec SSL (Inclure httpd-ssl.conf dans httpd.conf), j’ai cette erreur: Instruction non autorisée (core dumped)

J’ai localisé cette erreur dans httpd-ssl.conf à la ligne du fichier SSLCertificateFile . Ensuite, j’essaye de l’exécuter avec GDB et c’est ce que j’ai:

Signal reçu du programme SIGILL, instruction illégale. 0x00000000004e7b20 dans PEM_read_bio_X509 () (gdb) où

0 0x00000000004e7b20 dans PEM_read_bio_X509 ()

1 0x0000000000488159 dans SSL_read_X509 (nomfichier = nomfichier @ entrée = 0x7fffffffc440 “/home/dinou/httpd_build/serveur.cert”, x509 = x509 @ entrée = 0x0, cb = cb @ entrée = 0x0) à ssl_util_ssl.c: 86

2 0x0000000000480c9d dans ssl_pphrase_Handle (s = s @ entry = 0x85af78, p = p @ entry = 0x88c368) à ssl_engine_pphrase.c: 206

3 0x000000000047ad20 dans ssl_init_Module (p = 0x846138, plog =, ptemp = 0x88c368, base_server = 0x85af78) à ssl_engine_init.c: 290

4 0x0000000000461569 dans ap_run_post_config (pconf = 0x846138, plog = 0x88a358, ptemp = 0x88c368, s = 0x85af78) à conf.c.c: 91

5 0x000000000044e29b dans main (argc = 1, argv = 0x7fffffffe6e8) à main.c: 679

J’ai vérifié que mon certificate était au format PEM et ça va.

Des idées ? Merci

EDIT: Voici le script pour construire et installer tout

#!/bin/bash #OPENSSL_VERSION="0.9.8b" #HTTPD_VERSION="2.2.17" check_errs() { if [ "${1}" -ne "0" ]; then echo "ERROR # ${1} : ${2}" 1>&2; exit ${1} fi } WORKDIR=`mktemp -d` check_errs $? "temp dir creation" echo "WORKDIR=$WORKDIR" cd $WORKDIR wget http://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz check_errs $? "wget openssl $OPENSSL_VERSION ;; in $WORKDIR" tar zxf openssl-$OPENSSL_VERSION.tar.gz check_errs $? "untar openssl $OPENSSL_VERSION ;; in $WORKDIR" cd openssl-$OPENSSL_VERSION check_errs $? "cd openssl $OPENSSL_VERSION ;; in $WORKDIR" ./config \ --prefix=$WORKDIR/ssl \ --openssldir=$WORKDIR/ssl \ no-asm check_errs $? "config openssl $OPENSSL_VERSION ;; in $WORKDIR" make check_errs $? "make openssl $OPENSSL_VERSION ;; in $WORKDIR" make install check_errs $? "make install openssl $OPENSSL_VERSION ;; in $WORKDIR" cd $WORKDIR wget http://mir2.ovh.net/ftp.apache.org/dist//httpd/httpd-$HTTPD_VERSION.tar.gz check_errs $? "wget httpd-$HTTPD_VERSION ;; in $WORKDIR" tar zxf httpd-$HTTPD_VERSION.tar.gz check_errs $? "untar httpd-$HTTPD_VERSION ;; in $WORKDIR" cd httpd-$HTTPD_VERSION check_errs $? "cd httpd-$HTTPD_VERSION ;; in $WORKDIR" ./configure \ --prefix=$WORKDIR/apache \ --with-included-apr \ --enable-ssl \ --with-ssl=$WORKDIR/ssl \ --enable-ssl-staticlib-deps \ --enable-mods-static=ssl check_errs $? "configure httpd-$HTTPD_VERSION ;; in $WORKDIR" make check_errs $? "make httpd-$HTTPD_VERSION ;; in $WORKDIR" make install check_errs $? "make install httpd-$HTTPD_VERSION ;; in $WORKDIR" cd $WORKDIR/apache/conf check_errs $? "cd apache ;; in $WORKDIR" $WORKDIR/ssl/bin/openssl req -x509 -out server.crt -keyout server.key -days 900 -newkey rsa:1024 -subj '/CN=localhost' -nodes check_errs $? "key generation ;; in $WORKDIR" echo "SSLEngine On" >>httpd.conf echo "SSLCertificateFile conf/server.crt" >>httpd.conf echo "SSLCertificateKeyFile conf/server.key" >>httpd.conf sed -i 's/Listen \*:80/Listen *:8443/' ports.conf check_errs $? "sed ;; in $WORKDIR"