lundi 20 septembre 2010

compiler apache php mysql pour AIX 6.1


comme je ne savais pas que c'était impossible, je l'ai fait.(comme dit mark twain). 
ci dessous les hacks que j'ai du faire :



*** système :
charger sur http://ftp.gnu.org/gnu/
m4 bison flex make gcc gcc-g++
ET autoconf gcc-core glibc libtool


soit:
autoconf-2.66.tar.gz    gcc-core-4.2.0.tar.bz2  m4-1.4.14.tar.gz
bison-2.4.tar.gz        gcc-g++-4.2.0.tar.bz2   make-3.81.tar.gz
flex-2.5.35.tar.gz      glibc-2.11.tar.gz
gcc-4.2.0.tar.bz2       libtool-2.2.8.tar.gz








compiler en ./configure --prefix=/cequonveut
(mettre un bon path)
http://gnome.bullfreeware.com/aixtoolbox/RPMS/ppc/gcc/


*** avec le dernier libtool libtool-2.2.8.tar.gz ça marche bien mieux
recompiler apr-1.3.8
avec --with-libtool=/appli/apache/system/exe/bin/libtool \
*** en fait non : il vaut mieux utiliser le libtool et apr et apr-util 
  livré avec les sources de apache 


***lib mhash : pb malloc non défini


il cherche SON malloc de glibc machin, il le trouve pas alors il propose de linker avec un malloc de remplacement (rpl_malloc) ; il faut le patcher pour dire que non c'est ok vas linker


sed -e 's/#define malloc rpl_malloc/#define AIXmalloc rpl_malloc/' include/mutils/mhash_config.h>a;mv a include/mutils/mhash_config.h;


*** libmcrypt
faut g++ et un gcc récent
trouver le rpm 
ou bien le charger et le recompiler (j'ai essayé c'est faisable)


voici les rpms que j'ai pu trouver sur le net
gcc-4.2.0-2.aix6.1.ppc.rpm              libstdc++-4.2.0-2.aix6.1.ppc.rpm
gcc-c++-4.2.0-3.aix6.1.ppc.rpm          libstdc++-devel-4.2.0-3.aix6.1.ppc.rpm




***freetype2
GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2.
Please try
`GNUMAKE= ./configure'.
or 
`GNUMAKE="makepp --norc-substitution" ./configure'.
recompiler make version 3.81
et lancer le make avec cette version



*** jpeg
ld: 0711-317 ERROR: Undefined symbol: .jpeg_default_qtables
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: ld returned 8 exit status
make: The error code from the last command is 1.


apres configure, chgt dans Makefile
bin_PROGRAMS = cjpeg$(EXEEXT) djpeg$(EXEEXT) jpegtran$(EXEEXT) ...



non(11/2011), le problème est que libjpeg.a aurait du être dans le path, il faut rajouter -L.libs à LDFLAGS pour compiler. c'est fatiguant.




***BZ2 : virer -Wl,libbz2.so.1.0 , renommer le .so


make -f Makefile-libbz2_so
REMPLACER
gcc -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.4 blocksort.o huffmass.o bzlib.o
par
gcc -shared -o libbz2.so.1.0.4 blocksort.o huffman.o crctable.o randtable.o comp
all: $(OBJS)
   #$(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.4 $(OBJS)
   $(CC) -shared -o libbz2.so.1.0.4 $(OBJS)


make -f Makefile-libbz2_so
make install PREFIX=$GSCRIPT_LIBDIR
cp -p libbz2.so* $GSCRIPT_LIBDIR/lib/
ln -s libbz2.so.1.0 $GSCRIPT_LIBDIR/lib/libbz2.so


*****mcrypt : virer rpl_malloc rpl_realloc , comme mhash
sed -e 's/#define malloc rpl_malloc//' \
-e 's/#define realloc rpl_realloc//' \
config.h > a ; mv a config.h ;


*****mysql
ajout --zlib-dir=........


corr du makefile pour virer abi_check


do_abi_check: blabla


devient:


do_abi_check:


old_do_abi_check: blabla


/usr/include/malloc.h:118: error: language string
'"builtin"' not recognized
http://www-01.ibm.com/support/docview.wss?uid=isg1IZ37269
et si on veut contourner les patches :
modif dans /usr/include/malloc.h , vire "builtin" (!!)
#ifdef __cplusplus
extern "C" {
/* extern "builtin" char *__alloca (size_t);*/
extern char *__alloca (size_t);
#  define alloca __alloca
}
#endif /* def __cplusplus */


http://fixunix.com/aix/397339-experience-g-4-2-0-aix-5-3-a.html
ld: 0711-224 WARNING: Duplicate symbol: .__divdi3
ld: 0711-224 WARNING: Duplicate symbol: .__moddi3
ld: 0711-224 WARNING: Duplicate symbol: .__udivdi3
ld: 0711-224 WARNING: Duplicate symbol: .__umoddi3
ld: 0711-224 WARNING: Duplicate symbol: .__udivmoddi4
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
These are *harmless* warnings.




--autres bugs :


il faut le compiler en root
sinon on a une erreur
cc1 allocation ....


SUDO
changer
sudo cmd start
en
sudo cmd -- start
et ajouter if [ "$1" == "--" ]; then shift; fi
sinon le parametre n'est pas accepté par sudoers






---------- à part ça il y a le pb que tout est en 32 bits par defaut , je verrai plus tard : ---------
32 bits 64 bits
http://publib.boulder.ibm.com/infocenter/comphelp/v7v91/index.jsp?topic=/com.ibm.vacpp7a.doc/getstart/overview/port_aix_obj_lib.htm
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/t0011750.htm
http://www-03.ibm.com/systems/power/software/aix/compatibility/conditions/index.html
http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp


dump -ov -X32_64 filenameexec |grep Magic
#pour forcer le link en 64 bits :
export OBJECT_FILE=64
--------------------------
***dans des Makefile de libxml et libxslt on trouve


done | $(am__base_list) | \
while read files; do \


or am__base_list est une liste de fichiers espacés par des blancs


il faut remplacer par
sed -e "y/ /\n/"|while read
ou agir à la base
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'|sed -e 'y/ /\n/'
#
# script de correction :
find . -name "Makefile*"|xargs grep -l "while read files">a
for i in $(cat a);do
 if [ ! -f "$i.sav" ]; then cp $i $i.sav ; fi
 cat $i|sed \
  -e "s:sed -e .*|while read files:while read files:" \
  -e "s:while read files:sed -e 'y/ /\\\\n/'|while read files:" \
  >tmpreadfile; mv tmpreadfile $i;
done
rm a


à vérifier dans libxml2-2.7.6 libxslt-1.1.26 libpng-1.2.40 jpeg-7


c'est curieux, parce que read a bien le même comportement sur linux et AIX
echo a b c d|while read f;do echo ":$f";done
affiche  :a b c d sous AIX et linux
ya un truc sur linux qu'il n'y a pas sur AIX -- d'où galères
------------


#ldd libph*
libphp5.so needs:
    /appli/apache/apache-2.2.14-eng/libs/lib/libz.so
    /appli/apache/apache-2.2.14-eng/libs/lib/libxmlrpc.a(libxmlrpc-epi.so.0)
...
    /appli/apache/apache-2.2.14-eng/libs/lib/libintl.a(libintl.so.1)
ar: 0707-109 Member name libintl.so.1 does not exist.
dump: /tmp/tmpdir745646/extract/libintl.so.1: 0654-106 Cannot open the specified file.
sur AIX les archives .a contiennent les .so (!!!!)
ar -v -t /appli/apache/apache-2.2.14-eng/libs/lib/libiconv.a
rwxr-xr-x     0/0     1382916 Sep 20 15:48 2010 libiconv.so.2
r--r--r--     0/0     114373 Sep 20 15:48 2010 shr4.o
r--r--r--     0/0     114623 Sep 20 15:48 2010 shr.o
j'ai encore celle là qui va pas:
ar -v -t /appli/apache/apache-2.2.14-eng/libs/lib/libintl.a


******PTHREADS
recompil de pth :
pth.h:93:2: error: #error "FD_SETSIZE is larger than what GNU Pth can handle."
http://lists.gnupg.org/pipermail/gnupg-users/2010-May/038766.html


ajout de fdsetsize (valeur au pif, comme dans l'exemple!!)
./configure -C --with-fdsetsize=8192 \
--prefix=/appli/apache/apache-2.2.14-eng/libs \
--exec-prefix=/appli/apache/apache-2.2.14-eng/libs


***LIBIDN
cd lib
gcc -std=gnu99 -shared -o .libs/libidn.so.11  .libs/nfkc.o .libs/toutf8.o \
.libs/version.o .libs/stringprep.o .libs/rfc3454.o .libs/profiles.o \
.libs/punycode.o .libs/idna.o .libs/pr29.o .libs/idn-free.o \
.libs/strerror-idna.o .libs/strerror-pr29.o .libs/strerror-punycode.o \
.libs/strerror-stringprep.o .libs/strerror-tld.o .libs/tld.o .libs/tlds.o  \
gl/.libs/libgnu.a  \
-L/appli/apache/apache-2.2.14-eng/lib \
/appli/apache/apache-2.2.14-eng/libs/lib/libintl.a \
/appli/apache/apache-2.2.14-eng/libs/lib/libiconv.a \
-lc \
LA IL MANQUE :
-lpthreads


AJOUTER -lpthreads
(voir où!)
on peut supprimer iconv et intl (??)
./configure -C \
--without-libiconv-prefix \
--without-libintl-prefix \
--prefix=/appli/apache/apache-2.2.14-eng/libs \


./configure -C \
--with-libiconv-prefix=/appli/apache/apache-2.2.14-eng/libs \
--prefix=/appli/apache/apache-2.2.14-eng/libs \
--exec-prefix=/appli/apache/apache-2.2.14-eng/libs


*MYSQLD
ne pas utiliser le zlib fourni, puisqu'il ne sera pas shared
il faut le compiler à part (./configure --shared) et rajouter dans le configure de mysqld
--with-zlib-dir=/appli/apache/apache-2.2.14-eng/libs
(mmm quel bordel faudrait ranger autrement)
du coup j'ai un
/usr/include/sys/mman.h:187: error: declaration of C function 'int madvise(char*, size_t, int)' conflicts with
../include/my_global.h:501: error: previous declaration 'int madvise(void*, size_t, int)' here 


du coup j'ai des
ld: 0711-224 WARNING: Duplicate symbol: .__udivdi3
ld: 0711-224 WARNING: Duplicate symbol: .__umoddi3
ld: 0711-224 WARNING: Duplicate symbol: __fe_def_env
ld: 0711-224 WARNING: Duplicate symbol: .__divdi3
ld: 0711-224 WARNING: Duplicate symbol: .__moddi3
ld: 0711-224 WARNING: Duplicate symbol: .__udivmoddi4
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
mais c'est des warnings pas grave , peut être parce que j'ai un compilateur fait maison
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38547 


pour mon probleme madvise 
 /usr/include/sys/mman.h:187: error: declaration of C function 'int madvise(char*, size_t, int)' conflicts with
 ../include/my_global.h:501: error: previous declaration 'int madvise(void*, size_t, int)' here
dans include/config.h et myconfig.h je remplace à la main
/* #undef HAVE_DECL_MADVISE */ par
#define HAVE_DECL_MADVISE 1


*GETTEXT/LIBINTL
pour finir, la compilation de gettext, qui génère libintl et d'autres trucs
me génère un 
         /appli/apache/apache-2.2.14-eng/libs/lib/libintl.a(libintl.so.1)
ar: 0707-109 Member name libintl.so.1 does not exist.
libintl.a ne contient pas le fichier .so


comme j'ai déjà un rpm gnu de gettext, et que dedans j'ai 
#ar -tv /opt/freeware/lib/libintl.a
rwxr-xr-x   203/1     114582 Jan  4 21:38 2008 libintl.so.1
rw-r--r--   203/1       6816 Jan  4 21:38 2008 intl-compat.o
rw-r--r--   203/1       7632 Jan  4 21:38 2008 bindtextdom.o
...
je supprime le libintl.a que j'ai créé pour qu'il aille chercher la lib du rpm,
et voilà ... ça compile, gettext, libphp5 le ldd est propre, mysql démarre 
(d'après l'error.log il faut enlever les déclaration sur innodb que j'ai pas mis)
... et phpinfo et phpmyadmin démarre \o/


#-- suite : je supprime tout et je recompile pour voir, 
 apache 2.2.16 + php5.3.3 --
1 : les libs que j'ai chargé sont apparemment déjà bundlées dans php(/ext) 
2 : il faut effectivement bidouiller le .la pour y rajouter .so dans library_names


for i in $(find . -name "*.la"); do
if [ -f "$i.sav" ];then cp $i.sav $i;else cp $i $i.sav;fi
ed -s $i </dev/null
/dlname
t /library_names
1
/library_names
m +1
-1
.,+1 j
s/dlname=/library_names=/
s/'library_names='/ /
w
q
EOD
done






MYSQLD
recompil avec tous les plugins (dont innodb)
#ldd /a*/m*/m*ng/libexec/mysqld
/appli/mysql/mysql-5.1-eng/libexec/mysqld needs:
...
Cannot find ../storage/ndb/src/.libs/libndbclient.a(libndbclient.so.3)
recompil sans ndbcluster
ajout LD_LIBRARY_PATH=/appli/mysql/mysql-5.1-eng idem CFLAGS LDFLAGS
(mais je me demande si c'est utile)
ok ça marche , ouf ...


LIBS 
j'essaie en ne recompilant pas toutes les libs
... finalement si, il faut quand même : 
- les libs dans php/ext/ ne sont que des interfaces, 
il faut compiler la librairie complete 
- utilisé pour link apache : 
 apr apr-iconv apr-util
-de base (appelé par curl) : bzip2 zlib 
-les XML : expat libxml libxslt xmlrpc 
-libs diverses : curl icu libmcrypt mhash pth  
-GD : freetype jpeg libpng 


ZLIB 
compile en utilisant "cc"
pour gcc, il faut patcher le Makefile
 sed -e 's/CC=cc/CC=gcc/' Makefile > a; mv a Makefile;


une autre remarque : le configure ne connait pas 
l'option -C ou --config-cache=config.cache, 
donc cette fois ci faut pas mettre cette option ....


LIBXML
encore des problemes pour trouver libxml/parser.h, idem pour xsl
ah, c'est le "while read files" qui s'est mal appelé
find . -name "Makefile*"|xargs grep -l "while read files">a
for i in $(cat a);do
 if [ ! -f "$i.sav" ]; then cp $i $i.sav ; fi
 cat $i|sed \
  -e "s:sed -e .*|while read files:while read files:" \
  -e "s:while read files:sed -e 'y/ /\\\\n/'|while read files:" \
  >tmpreadfile; mv tmpreadfile $i;
done
rm a




MCRYPT, libltdl


ed -s acd <
/LINENO: running
+1
i
ac_sub_configure_argops=\$(echo \$ac_sub_configure_args|sed -e "s/'[a-zA-Z]*=[^']*
'//g")
.
+1,+10 s/ac_sub_configure_args/ac_sub_configure_argops/g
w
q
EOD


COMPILATION LINK PHP xmrpc-epi avec un tiret 


nm: ext/xmlrpc/xmlrpc-epi-.libs/php.o: 0654-200 Cannot open the specified file.




c'est du à sed 's/\([A-Za-z0-9_]*\)\.lo/.libs\/\1.o/g'


remplacer dans Makefile:
BUILD_CLI = .... sed 's/\([A-Za-z0-9_]*\)\.lo/.libs\/\1.o/g'.....
par
BUILD_CLI = .... sed 's/\([A-Za-z0-9_-]*\)\.lo/.libs\/\1.o/g'.....
sed -e 's/A-Za-z0-9_-*/A-Za-z0-9_-/' Makefile > Makefile.sedtmp
mv Makefile.sedtmp Makefile








COMPILATION LINK PHP avec INTL
ld: 0711-317 ERROR: Undefined symbol: __gxx_personality_v0
pas de chance , c'est g++
http://gcc.gnu.org/ml/gcc-help/2002-07/msg00186.html
http://lists.ximian.com/pipermail/mono-list/2004-March/018883.html
http://old.nabble.com/undefined-symbol:-__gxx_personality_v0-td20450872.html
http://stackoverflow.com/questions/1078412/trouble-installing-php-5-3-0-with-intl-support
http://www.momo-i.org/others/diary/159-fedora13.html
http://bytes.com/topic/c/answers/433942-undefined-reference-__gxx_personality_v0
http://www.linuxquestions.org/questions/programming-9/undefined-symbol-__gxx_personality_v0-335334/


d'ou ça vient ? de intl
(gkb=liste des .o dans le link ...)
for i in $gkb;do a=$(nm $i|grep gxx_perso); if [ "$a" != "" ]; then echo "$i : $a";fi;done
ext/intl/msgformat/.libs/msgformat_helpers.o : __gxx_personality_v0 U
donc de ext/intl/msgformat/msgformat_helpers.cpp
d'après les forumers, ça vient de Extern "C"
il n'y a que deux cpp dans le source
./ext/intl/msgformat/msgformat_helpers.cpp
./sapi/isapi/stresstest/stresstest.cpp


la solution pour l'instant est de rajouter  -lstdc++
c'est peut etre pas la meilleure solution,
faut voir si ça oblige à charger g++ sur le serveur
LDFLAGS="$LDFLAGS -lstdc++"


.. bon, on arrive enfin à compiler php, ....................
j'ai encore quelques extensions à compiler : 
COMPIL EXTENSION WSO2


ajout $GSCRIPT_MOTEUR/bin au path pour utiliser php-config
parce que ./configure ne connait pas l'option --php-config


GSCRIPT_SAVPATH=$PATH
export PATH="$PATH:$GSCRIPT_MOTEUR/bin"
PHP_AUTOCONF="$GSCRIPT_MOTEUR/bin"
./configure $GSCRIPT_CONFOPTION \
 --cache-file=config.cache \
 --prefix=$GSCRIPT_MOTEUR \
 --exec-prefix=$GSCRIPT_MOTEUR \
 --with-libdir=$GSCRIPT_MOTEUR/libs/lib
make
make install
export PATH=$GSCRIPT_SAVPATH




>>>>
consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
inutile car pkg-config est bien dans le path (fileutils recompilé)


Alternatively, you may set the environment variables LIBXML2_CFLAGS
and LIBXML2_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.


ah, il cherche libxml2, on lui rajoute 


#export CPPFLAGS="-I$GSCRIPT_SSLDIR -I$GSCRIPT_MOTEUR/include -I$GSCRIPT_LIBDIR/include " 
#export LDFLAGS="-L$GSCRIPT_MOTEUR/lib -L$GSCRIPT_LIBDIR/lib" 
export PARSER_CFLAGS="-I$GSCRIPT_LIBDIR/include/libxml2" 
export PARSER_LIBS="-L$GSCRIPT_LIBDIR/lib -lxml2" 
export LIBXML2_CFLAGS="-I$GSCRIPT_LIBDIR/include/libxml2" 
export LIBXML2_LIBS="-L$GSCRIPT_LIBDIR/lib -lxml2" 




on a maintenant


http://osdir.com/ml/axis-c-dev-ws.apache.org/2010-01/msg00047.html
http://marc.info/?l=axis-c-user&m=121028024909757&w=2
./wsf_c/axis2c/util/src/platforms/unix/uuid_gen_unix.c
uuid_gen_unix.c:36:26: error: sys/sockio.h: No such file or directory
In file included from uuid_gen_unix.c:38:
>>These were resolved by commenting out the offending #include statements in each of \
>>the header files.  The make then appeared to run successfully.
grep -risl sys/sockio.h *|xargs 
wsf_c/axis2c/util/src/platforms/unix/uuid_gen_unix.c
grep -risl getopt.h *
wsf_c/axis2c/util/include/platforms/unix/axutil_unix.h
https://issues.apache.org/jira/browse/AXIS2C-528


résolu en 2.1.0


librairie AXIS, erreur sur la V2.0.0 , passage à la V2.1.0
http://wso2.org/downloads/wsf/php chergement de la nouvelle version 2.1.0


on en profite pour ajouter openssl dans les libs 
LDFLAGS="-L$GSCRIPT_LIBDIR/lib -L$GSCRIPT_APACHE/lib -L$GSCRIPT_SSLDIR/lib"
CPPFLAGS="-I$GSCRIPT_LIBDIR/include -I$GSCRIPT_APACHE/include -I$GSCRIPT_SSLDIR/include"




on a encore 
sys/sockio.h: No such file or directory  ... a bien disparu, mais il reste : 


/usr/include/net/if_arp.h:68: error: expected specifier-qualifier-list before 'u_short' 
https://issues.apache.org/jira/browse/AXIS2C-528


http://www.mail-archive.com/axis-c-dev@ws.apache.org/msg15914.html


> I had to make some minor code changes and I am not sure the way I got it
> to build is the best (putting -D_ALL_SOURCE in CFLAGS seems like a bit
> of a hack).  I tried putting define of _ALL_SOURCE in an aix specific
> header file but I got into a recursive include mess and gave up ton
> that.


ajout donc de 
export CFLAGS="-D_ALL_SOURCE"


ok, mais
 No rule to make target `symmetric_asymmetric_binding_commons.lo'
 http://wso2.org/forum/thread/4458
 http://wso2.org/forum/thread/4677
 http://wso2.org/mailarchive/wsf-php-user/2008-December/000628.html
 c'est le détarage qui a paumé un caractère
mv wsf_c/axis2c/neethi/src/secpolicy/model/symmetric_asymmetric_binding_commons. wsf_c/axis2c/neethi/src/secpolicy/model/symmetric_asymmetric_binding_commons.c




idem pour http_server_main.o
mv wsf_c/axis2c/src/core/transport/http/server/simple_axis2_server/http_server_m wsf_c/axis2c/src/core/transport/http/server/simple_axis2_server/http_server_main.c






ah, c'est pas fini, encore un pb de librairie, libxml2 n'est pas trouvée

gcc .../src/wsf.c
In file included from .../wso2-wsf-php-src-2.1.0/src/wsf_client.h:29,
                 from .../wso2-wsf-php-src-2.1.0/src/wsf.c:40:
/appli/apache/apache-2.2.16-eng/include/php/ext/libxml/php_libxml.h:38:25: error: libxml/tree.h: No such file or directory
http://wso2.org/forum/thread/2633

ajout de -I/appli/apache/apache-2.2.16-eng/libs/include/libxml2 dans CPPFLAGS

ouf cette fois ça compile ...

EXTENSION EACCELERATOR

checking for best semaphores type... configure: error:
"You need to pass the user id eaccelerator will be running under when using sysvipc semaphores"
--with-eaccelerator-userid=$(id -u webadm)








EXTENSION SUHOSIN
ça marche :-)


EXTENSION LIBAIO
cc n'est pas installé, il est remplacé par gcc
make prefix=$GSCRIPT_MOTEUR/libs/ CC=cc install
./libaio.h:76:2: error: #error endian?
http://www.mail-archive.com/debian-hppa@lists.debian.org/msg05882.html
finalement j'abandonne libaio (je ne retrouve plus le package d'origine !)


EXTENSION OCI8 ORACLE
#l lib oci n'est pas au courant que la 11.2 est sortie, on cree un lien avec 11.1
cd $GSCRIPT_MOTEUR/libs/instantclient_11_2
ln -s libclntsh.so libclntsh.so.11.1




mini-erreurs sur les modules optionnels : 


httpd: Syntax error on line 54 of 
/appli/apache/apache-2.2.16-home/gk7/conf/httpd.conf: Cannot load 
/appli/apache/apache-2.2.16-eng/modules/mod_proxy_ajp.so into server: rtld: 
0712-001 Symbol proxy_hook_scheme_handler was referenced...ETC
httpd: Syntax error on line 38 of 
/appli/apache/apache-2.2.16-home/gk7/conf/httpd.conf: Cannot load 
/appli/apache/apache-2.2.16-eng/modules/mod_dav_fs.so into server: rtld: 
0712-001 Symbol dav_set_bufsize was referenced\n      from module 
/appli/apache/apache-2.2.16-eng/modules/mod_dav_fs.so(), but a runtime 
definition\n\t    of the symbol was not found. ... ETC


... fausse alerte : il faut juste charger dav avant dav_fs et proxy avant proxy_*

--recompil en linux : ça marche encore ! --
mes fichiers de compilation apache php sur AIX (50k) ....

7 commentaires:

daniel-henry a dit…

Bonsoir,
Pourriez vous me dire quelle version de php vous avez réussi à compiler sur AIX 6.1. J'essaie actuellement de compiler php5.3.3 sans succès et il n'y a pas vraiment de support sur le net pour ce type d'installation.

Merci par avance.

Guy Kastenbaum a dit…

C'est cool, je me sens moins seul ....
Je compile les dernieres versions : httpd-2.2.16 php-5.3.2 (enfin c'était les dernieres versions quand j'ai commencé...)

daniel-henry a dit…

Est ce que vous avez réussi à faire tourner quelque chose ? car pour ma part cela fait une semaine et demi et rien à faire. Avez-vous modifié le fichier configure ? via un sed pour changer AIX5 en AIX6 ? A priori il me manque des librairies "C". Un exemple d'installation de la version php5.3.1 : configure:46427:30: error: gnu/libc-version.h: No such file or directory
configure:46465: error: '_libiconv_version' undeclared (first use in this function)

Est ce qu'il y a au moins une version php qui tourne sous aix6.1 ? auriez vous une idée ?

Guy Kastenbaum a dit…

libc-version.h fait partie de glibc que j'ai recompilé moi même
/appli/apache/system/lib/glibc-2.11/include/gnu/libc-version.h

oups je ne l'ai pas noté ... corrigé
+ET autoconf gcc-core glibc libtool

oui ça a fini par tourner (phpmyadmin). ça m'a pris (juin:4+jul:6,aug:8,sep:10) 28 jours(!!)
Là je recompile php-5.3.3 ... et j'ai encore des erreurs ...

daniel-henry a dit…

Sans indiscrétion vous faites quoi comme métier ? Pour les options de configure vous mettez quoi ? uniquement le chemin d'installation ? combien de lib avez vous compilez vous même ?
Merci par avance.

daniel-henry a dit…

Alors pour résoudre mon problème il suffirait de compiler moi même les lib suivantes :

autoconf gcc-core glibc libtool ?

Merci par avance.

Guy Kastenbaum a dit…

je précise : m4 bison flex make gcc gcc-g++ autoconf gcc-core glibc libtool (voir haut du billet modifié);
et j'ai compilé les libs
apr-1.4.2 expat-2.0.1 libidn-1.9 libxslt-1.1.26
apr-iconv-1.2.1 freetype-2.3.9 libmbfl-1.0.1 mhash-0.9.9.9
apr-util-1.3.9 gettext-0.17 libmcrypt-2.5.8 pth-2.0.7
bzip2-1.0.5 jpeg-7 libpng-1.2.40 xmlrpc
curl-7.19.6 libiconv-1.13 libxml2-2.7.6 zlib-1.2.3


mon configure pour l'instant est
./configure
--exec-prefix=/appli/apache/apache-2.2.14-eng
--prefix=/appli/apache/apache-2.2.14-eng
--enable-calendar --enable-exif --enable-ftp --enable-mbstring
--enable-mysqlnd-threading --enable-shmop --enable-soap
--enable-sockets --enable-sqlite-utf8 --enable-wddx --enable-zip
--with-apxs2=/appli/apache/apache-2.2.14-eng/bin/apxs
--with-bz2=/appli/apache/apache-2.2.14-eng/libs/
--with-config-file-path=/appli/apache/apache-2.2.14-eng/conf
--with-curl=/appli/apache/apache-2.2.14-eng/libs/
--with-curlwrappers
--with-libxml-dir=/appli/apache/apache-2.2.14-eng/libs/
--with-mhash=/appli/apache/apache-2.2.14-eng/libs/
--with-mysql=/appli/mysql/mysql-5.1-eng/
--with-mysqli=/appli/mysql/mysql-5.1-eng//bin/mysql_config
--with-xmlrpc=/appli/apache/apache-2.2.14-eng/libs/
--with-xsl=/appli/apache/apache-2.2.14-eng/libs/
--with-zlib=/appli/apache/apache-2.2.14-eng/libs/
--without-gettext
--without-mcrypt
mais devrait encore changer le temps que je finisse de ranger (recompiler)