PHP on FreeBSD - Compiler Bugs and Option selection

Vizion vizion at vizion.occoxmail.com
Sat Sep 10 12:54:08 PDT 2005


Hi ale

I just wanted to check you had received OK the two compiler errors that I 
reported for /usr/ports/lang/php5-extensions.

The first error was apparently caused by make expecting  libmagic in an 
incorrect path for FreeBSD 5.3. Once a copy was placed in the correct path 
compilation resumed.

The second error seems also to be caused by an inability to find requisite 
files for wddx.
ext/xml/expat_compat.h
ext/xml/php

As a result of compiling php5 I began to wonder whether it  would be helpful 
to users if :
drwxr-xr-x  3 root  wheel     512 May  2 07:06 php5-cli
drwxr-xr-x  3 root  wheel     512 Sep  9 18:00 php5-extensions
drwxr-xr-x  3 root  wheel     512 May 28 10:06 php_doc
were more integrated as choices within make for php5.

I would personally find it helpful if all the build options for php could be 
in an editable file for sysadmins to define a repeatable unattended build 
from all available build options. A closer integration of the subsidiary php5 
ports into the php5 make would facilitate this process.

I do not not how welcome these proposals might be or how easy it would be to 
make the changes but would be interested to know what others think.

Norberto Meijome <freebsd at meijome.net> made a very interesting suggestion that 
he uses on his servers to achieve the above goal. He 
uses /usr/local/etc/pkgtools.conf for that purpose but my preference would be 
to have a method that is particular to php and does not lead to an 
overloading of /usr/local/etc/pkgtools.conf.

I have copied Norbeto's example below: 
****************** Quote*******************************
-if you want to avoid having to choose by hand what you really
-want( or have it preconfigured so all you have to do is press OK, then
-use something like /usr/local/etc/pkgtools.conf which will be read by
-portinstall (sysutils/port-maintenance-tools/)
-my relevant sections for my servers are:
-
----
-     'php4-*' =- [
-         'WITH_APACHE2=true',
-         'WITHOUT_DEBUG=true',
-         'WITH_BCMATH=true',
-         'WITH_BZ2=true',
-         'WITHOUT_CALENDAR=true',
-         'WITH_CRACK=true',
-         'WITH_CTYPE=true',
-         'WITHOUT_CURL=true',
-         'WITH_DBA=true',
-         'WITHOUT_DBASE=true',
-         'WITHOUT_DBX=true',
-         'WITHOUT_DIO=true',
-         'WITHOUT_DOMXML=true',
-         'WITHOUT_EXIF=true',
-         'WITHOUT_FILEINFO=true',
-         'WITHOUT_FILEPRO=true',
-         'WITHOUT_FRIBIDI=true',
-         'WITH_FTP=true',
-         'WITH_GD=true',
-         'WITHOUT_GETTEXT=true',
-         'WITHOUT_GMP=true',
-         'WITHOUT_ICONV=true',
-         'WITHOUT_IMAGICK=true',
-         'WITHOUT_IMAP=true',
-         'WITHOUT_INTERBASE=true',
-         'WITHOUT_LDAP=true',
-         'WITH_MBSTRING=true',
-         'WITHOUT_MCAL=true',
-         'WITH_MCRYPT=true',
-         'WITHOUT_MCVE=true',
-         'WITH_MHASH=true',
-         'WITHOUT_MING=true',
-         'WITHOUT_MNOGOSEARCH=true',
-         'WITHOUT_MSSQL=true',
-         'WITH_MYSQL=true',
-         'WITHOUT_NCURSES=true',
-         'WITHOUT_ODBC=true',
-         'WITHOUT_OPENSSL=true',
-         'WITHOUT_ORACLE=true',
-         'WITH_OVERLOAD=true',
-         'WITHOUT_PANDA=true',
-         'WITHOUT_PCNTL=true',
-         'WITH_PCRE=true',
-         'WITHOUT_PDF=true',
-         'WITHOUT_PGSQL=true',
-         'WITH_POSIX=true',
-         'WITHOUT_PSPELL=true',
-         'WITHOUT_READLINE=true',
-         'WITHOUT_RECODE=true',
-         'WITH_SESSION=true',
-         'WITH_SHMOP=true',
-         'WITHOUT_SNMP=true',
-         'WITHOUT_SOCKETS=true',
-         'WITHOUT_SYBASE_CT=true',
-         'WITH_SYSVMSG=true',
-         'WITH_SYSVSEM=true',
-         'WITH_SYSVSHM=true',
-         'WITH_TOKENIZER=true',
-         'WITHOUT_WDDX=true',
-         'WITH_XML=true',
-         'WITHOUT_XMLRPC=true',
-         'WITH_XSLT=true',
-         'WITHOUT_YAZ=true',
-         'WITHOUT_YP=true',
-         'WITH_ZIP=true',
-         'WITH_ZLIB=true',
-         ],
-     'php4-dba-*' =- [
-         'WITH_CDB=true',
-         'WITH_DB4=true',
-         'WITH_GDBM=true',
-         'WITH_INIFILE=true',
-         'WITH_FLATFILE=true',
-         ],
-     'php4-gd-*' =- [
-         'WITH_T1LIB=true',
-         'WITH_TRUETYPE=true',
-         'WITHOUT_JIS=true',
-         'WITH_LZW=true',
-         ],
-     'php4-mbstring-*' =- [
-         'WITH_REGEX=true',
-         ],
*************End Quote***************************

I also wonder why the Makefile, by default, uses the --disable-all option in 
the Makefile with no option to remove it. 

I would be interested in what others have to say and would like to place on 
record my appreciation for all your work in maintaining the ports.

david

-- 
40 yrs navigating and computing in blue waters.
English Owner & Captain of British Registered 60' bluewater Ketch S/V Taurus.
 Currently in San Diego, CA. Sailing bound for Europe via Panama Canal after 
completing engineroom refit.


More information about the freebsd-questions mailing list