On a recent portupgrade I received some dreaded ***stop error***’s regarding php5-filter and php5-zip ports. The output was as follows:
“Skipping ‘lang/php5-extensions’ (php5-extensions-1.3) because a requisite package ‘php5-zip-5.2.12’ (archivers/php5-zip)
failed (specify -k to force)
** Listing the failed packages (-:ignored / *:skipped / !:failed)
– devel/automake110 (port directory error)
– devel/automake19 (port directory error)
! devel/autoconf (autoconf-2.62) (install error)
* devel/autoconf (autoconf-2.67)
* lang/php5 (php5-pcre-5.2.12)
* lang/php5 (php5-spl-5.2.12)
! security/php5-filter (php5-filter-5.2.12) (missing header)
! archivers/php5-zip (php5-zip-5.2.12) (missing header)
* lang/php5-extensions (php5-extensions-1.3)”
At first, I needed to resolve the autoconf issue and a pkg_info *auto yeilded some interesting information-four different versions of each with separate wrappers. Apparently devel/autotools has had some ongoing cleanup taking place, which AHEM (yes, I make bonehead sysadmin mistakes too ;-), I failed to catch while reading the /usr/ports/UPDATING file prior to running portugrade…
Specfically, the UPDATING file reads:
“IMPORTANT: if you have either devel/autoconf-wrapper or
devel/automake-wrapper installed on your system (and you most likely do)
PLEASE update these ports to their new versions before updating anything
else — Bad Things[tm] are likely to happen otherwise.”
So off to Google I went in an effort to resolve the issue. Well, not much help there so based on my past experience, I know autoconf/automake are required packages on many other ports. I uninstalled the autoconf and automake ports and will let package dependencies resolve the issue on future upgrades.
After dealing with autoconf/automake, it was on to the php5 errors. Noticing that the errors originally had to do with pcre, and after checking the /usr/ports/MOVED file I noticed this little entry on php5-filter:
“security/pecl-filter|security/php5-filter|2008-12-11|Now bundled in php5”.
Hmmm, maybe I am on to something here. I noticed also that pecl-filter was its own package previously (pkg_info) and listed as such.
To finally resolve the pcre and pecl-filter issue, and to get to the point of fixing the php5 issue, I did the following:
-
pkg_delete -f pecl-fileinfo-1.0.4
-
pkg_delete -f php5*
-
accordingly I added WITH_BUNDLED_PCRE=”YES” in my make.conf file (http://forums.freebsd.org/showthread.php?t=13191)
-
cd /usr/local/
-
rm /etc/php.*
-
rm -r lib/php/
-
rm -r /include/php/
-
cd /usr/ports/lang/php5/
-
make rmconfig
-
make install clean, selecting options I needed for re-install of php5
-
cd ../php5-extensions/
-
make install clean
-
and finally, pkgdb -Fu to remove any outstanding port dependencies (which no fix was necessary)
No further errors were thrown and our production blog server is back to being very happy 😉