# make fails due to ext/iconv/php_have_ibm_iconv.h missing (5.3 including alpha2)

- Thread: https://externals.io/message/40319
- Original archive: https://news-web.php.net/php.internals/40319
- Started by Jochem Maas on 2008-09-07T20:11:54+00:00
- Messages: 7
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #40319 — Jochem Maas — 2008-09-07T20:11:54+00:00

URL: https://externals.io/message/40319#40319

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!

---

## #40321 — Alexey Zakhlestin — 2008-09-08T06:13:08+00:00

URL: https://externals.io/message/40319#40321 · In reply to: #40319

> 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/

---

## #40322 — Jochem Maas — 2008-09-08T09:18:48+00:00

URL: https://externals.io/message/40319#40322 · In reply to: #40321

Alexey Zakhlestin schreef:
> 
> 
> > […]
> 
> 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.

---

## #40330 — Alexey Zakhlestin — 2008-09-08T10:11:30+00:00

URL: https://externals.io/message/40319#40330 · In reply to: #40322

> 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/

---

## #40333 — Antony Dovgal — 2008-09-08T10:28:12+00:00

URL: https://externals.io/message/40319#40333 · In reply to: #40319

> --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

---

## #40334 — k@rl.pflaesterer.de — 2008-09-08T10:32:44+00:00

URL: https://externals.io/message/40319#40334 · In reply to: #40322

Jochem Maas <jochem@iamjochem.com> writes:

> Alexey Zakhlestin schreef:
> > […]
>
> 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 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

---

## #40373 — Jochem Maas — 2008-09-08T19:43:29+00:00

URL: https://externals.io/message/40319#40373 · In reply to: #40333

Antony Dovgal schreef:
> 
> > […]
> 
> 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)

> > […]
> 
> Should be fixed in CVS, thanks for noticing.

okidoki.
