emerge -av PECL-mailparse First I noticed the tar error message: >>> Unpacking mailparse-2.0b.tgz to /var/tmp/portage/PECL-mailparse-2.0b/work tar: A lone zero block at 339 >>> Source unpacked. then, loads of build errors, starting like this: In file included from /var/tmp/portage/PECL-mailparse-2.0b/work/mailparse-2.0b/php_mailparse_mime.c:21: /var/tmp/portage/PECL-mailparse-2.0b/work/mailparse-2.0b/php_mailparse.h:86:49: ext/mbstring/libmbfl/mbfl/mbfilter.h: No such file or directory In file included from /var/tmp/portage/PECL-mailparse-2.0b/work/mailparse-2.0b/php_mailparse.h:95, from /var/tmp/portage/PECL-mailparse-2.0b/work/mailparse-2.0b/php_mailparse_mime.c:21: /var/tmp/portage/PECL-mailparse-2.0b/work/mailparse-2.0b/php_mailparse_mime.h:68: error: parse error before "mbfl_convert_filter" /var/tmp/portage/PECL-mailparse-2.0b/work/mailparse-2.0b/php_mailparse_mime.h:68: warning: no semicolon at end of struct or union /var/tmp/portage/PECL-mailparse-2.0b/work/mailparse-2.0b/php_mailparse_mime.h:82: error: parse error before '}' token /var/tmp/portage/PECL-mailparse-2.0b/work/mailparse-2.0b/php_mailparse_mime.c: In function `php_mimepart_alloc': /var/tmp/portage/PECL-mailparse-2.0b/work/mailparse-2.0b/php_mailparse_mime.c:142: error: invalid application of `sizeof' to an incomplete type /var/tmp/portage/PECL-mailparse-2.0b/work/mailparse-2.0b/php_mailparse_mime.c:144: error: dereferencing pointer to incomplete type Reproducible: Always Steps to Reproduce: On a system running ~x86 dev-php/[mod_]php[-cgi]: 1. emerge -av PECL-mailparse Actual Results: ending like: /var/tmp/portage/PECL-mailparse-2.0b/work/mailparse-2.0b/mailparse.c: In function `zif_mailparse_msg_get_part': /var/tmp/portage/PECL-mailparse-2.0b/work/mailparse-2.0b/mailparse.c:1522: error: dereferencing pointer to incomplete type /var/tmp/portage/PECL-mailparse-2.0b/work/mailparse-2.0b/mailparse.c:1523: error: dereferencing pointer to incomplete type make: *** [mailparse.lo] Error 1 !!! ERROR: dev-php/PECL-mailparse-2.0b failed. !!! Function php-ext-source_src_compile, Line 43, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. Expected Results: emerged successfully Portage 2.0.51-r15 (default-linux/x86/2004.0, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.10-gentoo- r6 i686) =============================================================== == System uname: 2.6.10-gentoo-r6 i686 Intel(R) Pentium(R) 4 CPU 1.60GHz Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 12 2005, 23:52:25)] distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]ccache version 2.3 [enabled] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.4.21-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/ qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms userpriv usersandbox" GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://www.mirrorservice.org/sites/ www.ibiblio.org/gentoo/ http://ftp.gentoo.skynet.be/pub/gentoo/ ftp://ftp.gentoo.skynet.be/ pub/gentoo/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ ftp://ftp.belnet.be/mirror/ rsync.gentoo.org/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.uk.gentoo.org/gentoo-portage" USE="x86 aac acpi acpi4linux apache2 apm bash-completion berkdb cdr crypt cups curl dvd encode f77 font-server foomaticdb fortran freetype gd gdbm gif imagemagick imap imlib imlib2 ipv6 java jpeg junit libg++ libwww mad maildir mbox mikmod motif mysql mysqli ncurses nls oggvorbis opengl pam pcre pdflib pear-db perl php png postgres python readline ruby samba sdl slang sockets socks5 spell sqlite ssl tcpd tiff truetype-fonts type1-fonts xml xml2 zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
The PECL mailparse package requires PHP to be built with the mbstring extension which in Gentoo is controlled by the nls USE flag.
Apparently having PHP built with the mbstring extension is not enough. The mbstring headers have to be installed, too. Will look into a solution for this.
Any word on this. I don't mean to pressurise but I have recently upgraded a production web server to PHP5 and have a client breathing down my neck about Mailparse being broken.
The PHP 4 build system finds the mbstring headers and the PHP 5 build system does not. This is an UPSTREAM bug (http://pecl.php.net/bugs/bug.php?id=3516).
dev-php/php-5.0.3-r1 is in portage now and has the upstream patch that solves the issue.