ID: 45740 User updated by: Bjorn dot Wiberg at its dot uu dot se Reported By: Bjorn dot Wiberg at its dot uu dot se Status: Assigned Bug Type: Compile Failure Operating System: IBM AIX 5.3 5300-08-01-0819 PHP Version: 5.3CVS-2008-08-07 (snap) Assigned To: derick New Comment:
The old mime_magic extension has, to my knowledge, never required nor used libmagic. We "converted" to Fileinfo and libmagic about half a year ago. Prior to that, we only used mime_magic. I plan on removing the mime_magic flag after alpha2 is released (as, if I interpret the road map correctly, some "last" function needed to cover up for mime_magic will be available then). Regarding the bundled libmagic, my (sidenote) question was whether the bundled one was another libmagic library than the one I pointed out (in case there are several implementations with a similar name). I know that my "separate" libmagic won't be used and that it has nothing (else) to do with the bundled one. The bug report is only about asprintf and vasprintf. There are some HAVE_ASPRINTF defines (something like that) in the bundled source and I guess that something is wrong there, i.e., that those are set without asprintf or vasprintf being available. Or that some configure check has detected that those are available but that the bundled libmagic does not include all needed headers and does not link with the C library as the man pages for asprintf/vasprintf indicate. On the other hand, those man pages also say that those functions are a GNU feature, so that they might not be available on all platforms. Which is why the HAVE_ASPRINTF stuff appears important... I'm thankful for you looking into this. We're close to the goal now, i.e. successful compilation, even though I know that AIX may sound obscure to some. ;-) Best regards, Björn Previous Comments: ------------------------------------------------------------------------ [2008-08-07 22:09:46] [EMAIL PROTECTED] Of course since you have also enabled the old deprecated mime magic extension, it will cause linking with the external libmagic too.. ------------------------------------------------------------------------ [2008-08-07 22:07:49] [EMAIL PROTECTED] FYI: We have a bundled libmagic. Whatever you have in your system has nothing to with this. ------------------------------------------------------------------------ [2008-08-07 13:38:21] Bjorn dot Wiberg at its dot uu dot se A small sidenote: I'm not sure which libmagic PHP is using; the libmagic I have tried separately (on AIX) is the one from ftp://ftp.astron.com/pub/file/ ("The file(1) command and libmagic(3) library"), and I don't recall encountering anything like this with that one. ------------------------------------------------------------------------ [2008-08-07 07:15:34] Bjorn dot Wiberg at its dot uu dot se Description: ------------ Linking failure referring to undefined symbols ".vasprintf" and ".asprintf". Looking in ext/fileinfo/libmagic indicates that those functions are used in funcs.c and softmagic.c. Googling indicates that asprintf() and vasprintf() require stdio.h and linking against the C library (-lc). Reproduce code: --------------- #! /bin/sh # # Created by configure LDFLAGS='-Wl,-bbigtoc' \ CC='gcc' \ './configure' \ '--enable-bcmath' \ '--enable-calendar' \ '--enable-cli' \ '--enable-dba' \ '--enable-dbase' \ '--enable-debug' \ '--enable-exif' \ '--enable-flatfile' \ '--enable-ftp' \ '--enable-gd-jis-conv' \ '--enable-gd-native-ttf' \ '--enable-inifile' \ '--enable-mbstring' \ '--enable-pcntl' \ '--enable-shmop' \ '--enable-soap' \ '--enable-sockets' \ '--enable-sqlite-utf8' \ '--enable-sysvmsg' \ '--enable-sysvsem' \ '--enable-sysvshm' \ '--enable-wddx' \ '--enable-zip' \ '--enable-zend-multibyte' \ '--prefix=/apache/php' \ '--with-apxs2=/apache/bin/apxs' \ '--with-bz2' \ '--with-cdb' \ '--with-curl' \ '--with-freetype-dir' \ '--with-gd' \ '--with-gdbm' \ '--with-gettext' \ '--with-jpeg-dir' \ '--with-ldap' \ '--with-libxml-dir=/usr/local' \ '--with-mime-magic' \ '--with-mysql=mysqlnd' \ '--with-mysqli=mysqlnd' \ '--with-openssl=/opt/freeware' \ '--with-pdo-mysql=mysqlnd' \ '--with-png-dir' \ '--with-xmlrpc' \ '--with-xpm-dir' \ '--with-xsl' \ '--with-zlib' \ '--with-zlib-dir' \ "$@" (GNU) make Expected result: ---------------- Successful compilation/linking. Actual result: -------------- ---8<--- excerpt ---8<--- 2/usr/lib -L/gestconf/project/GNOME_ACL/GNOME/build/M_acc_gnome2_12_0f1/export/power_510_32/usr/lib -L/gestconf/project/GNOME_ACL/GNOME/build/acc_gnome2_12_0f1/export/power_510_32/usr/lib -L/gestconf/project/GNOME_ACL/GNOME/build/GNOME_2_12_0/export/power_510_32/usr/lib -lz -lX11 -lXpm -lpng -L/gestconf/project/GNOME_ACL/GNOME/build/BLD_M_gnome2_14f1/export/power_510_32/usr/lib -L/gestconf/project/GNOME_ACL/GNOME/build/M_acc_gnome2_14_0f1/export/power_510_32/usr/lib -L/gestconf/project/GNOME_ACL/GNOME/build/acc_gnome2_14_0f1/export/power_510_32/usr/lib -L/gestconf/project/GNOME_ACL/GNOME/build/GNOME_2_14_0/export/power_510_32/usr/lib -L/users/project/PDP/PDP_51_vac_6_14/usr/ccs/lib -L/users/project/PDP/PDP_51_vac_6_14/usr/lib -lz -lm -lz -ljpeg -lssl -lcrypto -lgdbm -lbz2 -lz -lssl -lcrypto -lm -lz -liconv -lm -lcurl -lssl -lcrypto -lz -lssl -lcrypto -lz -lz -liconv -lm -lz -liconv -lm -lz -liconv -lm -lz -liconv -lm -lz -liconv -lm -lz -liconv -lm -lz -liconv -lm -lz -liconv -lm -lxslt -lz -liconv -lm -lxml2 -lpthread -lz -liconv -lm -lz -liconv -lm -Wl,-blibpath:/usr/local/lib:/opt/freeware/lib:/usr/X11R6/lib:/opt/freeware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.0.0:/opt/freeware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.0.0/../../..:/usr/lib:/lib ld: 0711-224 WARNING: Duplicate symbol: php_optidx ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. ld: 0711-317 ERROR: Undefined symbol: .vasprintf ld: 0711-317 ERROR: Undefined symbol: .asprintf collect2: ld returned 8 exit status make: *** [sapi/cli/php] Error 1 Bad exit status from /var/opt/freeware/tmp/rpm-tmp.2294 (%build) -->8--- end excerpt --->8--- ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=45740&edit=1
