In an attempt to do some testing of 5.3 I have being trying to compile it on my Mac (MacOSX10.5)
with the same configure line[1] as I use for my 'current' version (5.2.6), this is turning
out to be impossible because (so far) of a missing file ext/iconv/php_have_ibm_iconv.h
the configure line I want to use is as follows (note that it specifies '--without-iconv'):
'./configure' '--with-config-file-path=/etc' '--sysconfdir=/private/etc' '--prefix=/usr/local/php5.3alpha2'
'--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-xsl=/usr' '--with-tidy=/opt/local' '--enable-mbstring' '--with-gd'
'--enable-gd-native-ttf' '--with-jpeg-dir=/opt/local' '--with-png-dir=/opt/local' '--with-zlib-dir' '--enable-sockets'
'--enable-exif' '--with-mcrypt=/opt/local' '--with-mysql=/usr/local/mysql' '--with-mysql-sock=/private/tmp/mysql.sock'
'--with-mysqli=/usr/local/mysql/bin/mysql_config' '--with-pdo-mysql=/usr/local/mysql/bin/mysql_config'
'--with-freetype-dir=/opt/local' '--with-xpm-dir=/Developer/SDKs/MacOSX10.5.sdk/usr/X11' '--with-ldap' '--with-xmlrpc'
'--enable-soap' '--enable-sqlite-utf8' '--enable-ftp' '--enable-sockets' '--with-bz2' '--enable-zip' '--enable-pcntl'
'--enable-shmop' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-bcmath' '--with-gettext=/opt/local'
'--with-curl' '--with-mcrypt=/opt/local' '--with-interbase=/opt' '--without-iconv' '--enable-cli' '--with-sqlite'
the error message from make is:
In file included from /Users/jochem/src/php-5.3.0alpha2/ext/standard/info.c:47:
/Users/jochem/src/php-5.3.0alpha2/ext/iconv/php_iconv.h:42:42: error: ext/iconv/php_have_ibm_iconv.h: No such file or directory
I have (just now) been able to build a very minimal install of 5.3 using the following configure line, which does give
me enough to be able to test some stuff related to namespaces/LSB/etc:
'./configure' '--with-config-file-path=/usr/local/php5.3alpha2' '--sysconfdir=/private/etc' '--prefix=/usr/local/php5.3alpha2'
'--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-all' '--enable-cli'
it does seem that the file ext/iconv/php_have_ibm_iconv.h really is missing and that it should be there
(although I have no idea why iconv is referenced given the '--without-iconv' ... there is probably good reason,
but it's over my head, so to speak.
rgds,
Jochem
[1]minus the apache module for now ... as I'm afraid 'make install' will
break my current install, which I really can't afford to break ... I'm no wizard but I do need to be
able to do my job :-/ ... if anyone knows of some details info on how to keep multiple installs of
php around (including apache modules) and being able to switch between them with minimal fuss then
I be very happy to learn!
if anyone knows of some details info on how to
keep multiple installs of
php around (including apache modules) and being able to switch between them
with minimal fuss then
I be very happy to learn!
the easiest option is to use different prefix-paths for php
default installation: ./configure --prefix=/usr/local
some custom installation: ./configure --prefix=/opt/php53-test
I am not sure how it relates with apache. would fastcgi work for you?
--
Alexey Zakhlestin
http://blog.milkfarmsoft.com/
Alexey Zakhlestin schreef:
if anyone knows of some details info on how to
keep multiple installs of
php around (including apache modules) and being able to switch between them
with minimal fuss then
I be very happy to learn!the easiest option is to use different prefix-paths for php
default installation: ./configure --prefix=/usr/local
some custom installation: ./configure --prefix=/opt/php53-test
I do this already, only the apache module, if compiled, is always installed where
apxs2 says it should be put ... ergo it overwrites the version that I consider/use
as default/production.
I am not sure how it relates with apache. would fastcgi work for you?
I don't see why not, but I've never really grokked fastcgi. I'll go searching/reading again,
I have noticed people on internals stating it to be faster (than the apache module) ...
official documentation on fast-cgi setup is a bit thin on the ground.
thank you for your feedback.
rgds,
Jochem
P.S. is the missing ext/iconv/php_have_ibm_iconv.h a problem with the src bundle or
something specific to MacOSX? either way it seems to be the only thing stopping me from
building 5.3 with all extensions I use.
P.S. is the missing ext/iconv/php_have_ibm_iconv.h a problem with the src
bundle or
something specific to MacOSX? either way it seems to be the only thing
stopping me from
building 5.3 with all extensions I use.
This file is created by configure-script if iconv is enabled.
If it is not enabled, nothing should require it.
If something does require it, while iconv is disabled — that IS a bug
--
Alexey Zakhlestin
http://blog.milkfarmsoft.com/
Jochem Maas jochem@iamjochem.com writes:
Alexey Zakhlestin schreef:
if anyone knows of some details info on how to
keep multiple installs of
php around (including apache modules) and being able to switch between them
with minimal fuss then
I be very happy to learn!the easiest option is to use different prefix-paths for php
default installation: ./configure --prefix=/usr/local
some custom installation: ./configure --prefix=/opt/php53-testI do this already, only the apache module, if compiled, is always installed where
apxs2 says it should be put ... ergo it overwrites the version that I consider/use
as default/production.
I use symlinks for that. I have a symlink /usr/local/php-active which
points to e.g /usr/local/php-5.2.6 (the stable version) (php is compiled
with --prefix=/usr/local/php-5.2.6) /usr/local/bin/php is a symlink which
points to /usr/local/php-active/bin/php. So I am sure if I call php
from the commandline that the right php version gets called.
For the apache module my makefile with which I compile php renames the
.so file to another name and I have another symlink libphpactive.so
which points to that lib. So if I want to upgrade I compile a new php
version, test it from the command line and fpr apache I use a test
process which has the same docroot as the production server but uses the
newly build php lib. If all goes well I change two symlinks, restart
Apache and am finished. If I saw later problems I could easily jump
back to an earlier version by changing these two symlinks.
(I compile php as DSO; if you compile PHP as statically bound Apache
module it's the same. Just put every Apache version in an own directory
and have a symlink which points to the version you want for production.)
Bye
KP
--with-xmlrpc
This extension requires iconv.
I have to admit there is a mess with iconv. IMO configure should fail
if one tries to build xmprpc with iconv disabled instead of silently enabling it.
the error message from make is:
In file included from /Users/jochem/src/php-5.3.0alpha2/ext/standard/info.c:47:
/Users/jochem/src/php-5.3.0alpha2/ext/iconv/php_iconv.h:42:42: error: ext/iconv/php_have_ibm_iconv.h: No such file or directory
Should be fixed in CVS, thanks for noticing.
--
Wbr,
Antony Dovgal
Antony Dovgal schreef:
--with-xmlrpc
This extension requires iconv.
aha. well at least that allows me to build 5.3alpha2 with all
the extensions I require to
I have to admit there is a mess with iconv.
I'm glad it's not (just) down to my incompetence, I was starting to
pull out hair trying to compile on MacOS (whereas I've never had a
problem on linux) .. not that I want to insinuate anyone else is
incompetent! it's just that I'm rather on the edge of what I'm capable
of when it comes to massaging make run into doing what I want
(in fact I can't remember ever having make [for php] fail on me
on linux, so it was rather shocking to see it blow up on MacOS where
everything is suppose to be 'fantastic' ... note that there were
loads of problems with shipped libs on MacOS10.5 that made compiling
[php] 'impossible' for quite a while, these were issues that had nothing
to do with php ... although ironically enough they had everything to
do with lib_iconv)
IMO configure should fail if
one tries to build xmprpc with iconv disabled instead of silently
enabling it.
my current (working) build of php5.2.6 lists xmlrpc as an extension BUT not
iconv ... so iconv is not silently enabled (at least not from a php user's POV)
the error message from make is:
In file included from
/Users/jochem/src/php-5.3.0alpha2/ext/standard/info.c:47:
/Users/jochem/src/php-5.3.0alpha2/ext/iconv/php_iconv.h:42:42: error:
ext/iconv/php_have_ibm_iconv.h: No such file or directoryShould be fixed in CVS, thanks for noticing.
okidoki.