[MacPorts] #16590: php5 5.2.6 on OSX 10.4.11 build fails (possible fix included)
#16590: php5 5.2.6 on OSX 10.4.11 build fails (possible fix included) ----------------------------------+----------------------------------------- Reporter: news@braendle-net.de | Owner: macports-tickets@lists.macosforge.org Type: defect | Status: new Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Keywords: php5 OS X | Port: php5 ----------------------------------+----------------------------------------- I get the following error while trying to install php5 5.2.6 on OSX 10.4.11 {{{ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/libxml/libxml.c: In function '_php_list_set_error_structure': /bin/sh /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/libtool --silent --preserve-dup-deps --mode=compile /usr/bin/gcc-4.0 -Iext/dom/ -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/dom/ -DPHP_ATOM_INC -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/main -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6 -I/opt/local/include/libxml2 -I/opt/local/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/date/lib -I/opt/local/include/freetype2 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/mbstring/oniguruma -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/mbstring/libmbfl -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/mbstring/libmbfl/mbfl -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/mysql5/include/mysql -I/opt/local/include/mysql5/mysql -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/TSRM -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/Zend -I/opt/local/include -no-cpp-precomp -I/opt/local/include -O2 -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/dom/domerrorhandler.c -o ext/dom/domerrorhandler.lo /bin/sh /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/libtool --silent --preserve-dup-deps --mode=compile /usr/bin/gcc-4.0 -Iext/dom/ -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/dom/ -DPHP_ATOM_INC -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/main -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6 -I/opt/local/include/libxml2 -I/opt/local/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/date/lib -I/opt/local/include/freetype2 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/mbstring/oniguruma -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/mbstring/libmbfl -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/mbstring/libmbfl/mbfl -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/mysql5/include/mysql -I/opt/local/include/mysql5/mysql -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/TSRM -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/Zend -I/opt/local/include -no-cpp-precomp -I/opt/local/include -O2 -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/dom/domerror.c -o ext/dom/domerror.lo /bin/sh /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/libtool --silent --preserve-dup-deps --mode=compile /usr/bin/gcc-4.0 -DNOT_RUBY -DHAVE_CONFIG_H -Iext/mbstring/ -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/mbstring/ -DPHP_ATOM_INC -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/main -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6 -I/opt/local/include/libxml2 -I/opt/local/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/date/lib -I/opt/local/include/freetype2 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/mbstring/oniguruma -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/mbstring/libmbfl -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/mbstring/libmbfl/mbfl -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/mysql5/include/mysql -I/opt/local/include/mysql5/mysql -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/TSRM -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/Zend -I/opt/local/include -no-cpp-precomp -I/opt/local/include -O2 -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6/ext/mbstring/oniguruma/regerror.c -o ext/mbstring/oniguruma/regerror.lo /opt/local/include/mutils/mincludes.h:66:20: error: malloc.h: No such file or directory make: *** [ext/mhash/mhash.lo] Error 1 Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_php5/work/php-5.2.6" && make all " returned error 2 /opt/local/include/mutils/mincludes.h:66:20: error: malloc.h: No such file or directory make: *** [ext/mhash/mhash.lo] Error 1 Error: Status 1 encountered during processing. }}} I figured out a way to compile it anyway. First i checked who provides mhash.h Then I commented out the #include <malloc.h> stuff. After that php 5.2.6 build fine {{{ medianet@intermac1:/opt/local/include/mutils$ port provides mhash.h /opt/local/include/mutils/mhash.h is provided by: mhash medianet@intermac1:/opt/local/include/mutils$ port list mhash mhash @0.9.9 devel/mhash medianet@intermac1:/opt/local/include/mutils$ port info mhash mhash 0.9.9, devel/mhash (Variants: universal) http://mhash.sourceforge.net/ Libmhash is a library which implements some hash algorithms like crc32, md5 and sha-1. Platforms: darwin freebsd Maintainers: ryandesign@macports.org openmaintainer@macports.org medianet@intermac1:/opt/local/include/mutils$ medianet@intermac1:/opt/local/include/mutils$ sudo vi mincludes.h /* #if defined(HAVE_MALLOC_H) #include <malloc.h> #endif */ medianet@intermac1:/opt/local/include/mutils$ sudo port -v upgrade php5 }}} -- Ticket URL: <http://trac.macports.org/ticket/16590> MacPorts <http://www.macports.org/> Ports system for Mac OS
#16590: php5 5.2.6 on OSX 10.4.11 build fails (possible fix included) -----------------------------------+---------------------------------------- Reporter: news@braendle-net.de | Owner: ryandesign@macports.org Type: defect | Status: new Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: php5 OS X Port: php5 | -----------------------------------+---------------------------------------- Changes (by macsforever2000@macports.org): * cc: jwa@macports.org (added) * owner: macports-tickets@lists.macosforge.org => ryandesign@macports.org -- Ticket URL: <http://trac.macports.org/ticket/16590#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#16590: php5 5.2.6 on OSX 10.4.11 build fails (possible fix included) -----------------------------------+---------------------------------------- Reporter: news@braendle-net.de | Owner: ryandesign@macports.org Type: defect | Status: new Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: php5 OS X Port: php5 | -----------------------------------+---------------------------------------- Comment(by ryandesign@macports.org): I have been building php for years on Mac OS X on several machines without ever encountering this problem. Something must be different about your system. I see these definitions in ${prefix}/include/mutils/mhash_config.h: {{{ /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #define HAVE_MALLOC 1 /* Define to 1 if you have the <malloc.h> header file. */ /* #undef HAVE_MALLOC_H */ }}} Also I have this in ${prefix}/include/php/main/php_config.h: {{{ /* Define if you have the <malloc.h> header file. */ /* #undef HAVE_MALLOC_H */ }}} So on my system, HAVE_MALLOC_H is 0, thus it's never trying to include malloc.h. This is correct for Mac OS X according to [http://developer.apple.com/technotes/tn2002/tn2071.html Apple documentation]. But on yours I suspect HAVE_MALLOC_H is 1, so it is trying to include it. Now we need to figure out why. Do you have the same definitions in your mhash_config.h and php_config.h files? What version of Xcode are you using? Get info on /Developer/Applications/Xcode.app to find out. I'm using 2.5. Please update if you have anything earlier than 2.4.1. Do you have anything installed in /usr/local, or do you have Fink installed (in /sw)? These can interfere with MacPorts and should be removed if present. -- Ticket URL: <http://trac.macports.org/ticket/16590#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#16590: php5 5.2.6 on OSX 10.4.11 build fails (possible fix included) -----------------------------------+---------------------------------------- Reporter: news@braendle-net.de | Owner: ryandesign@macports.org Type: defect | Status: new Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: php5 OS X Port: php5 | -----------------------------------+---------------------------------------- Comment(by news@braendle-net.de): Replying to [comment:2 ryandesign@…]:
I see these definitions in ${prefix}/include/mutils/mhash_config.h:
{{{ /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #define HAVE_MALLOC 1
/* Define to 1 if you have the <malloc.h> header file. */ /* #undef HAVE_MALLOC_H */ }}}
Also I have this in ${prefix}/include/php/main/php_config.h:
{{{ /* Define if you have the <malloc.h> header file. */ /* #undef HAVE_MALLOC_H */ }}}
So on my system, HAVE_MALLOC_H is 0, thus it's never trying to include malloc.h. This is correct for Mac OS X according to [http://developer.apple.com/technotes/tn2002/tn2071.html Apple documentation]. But on yours I suspect HAVE_MALLOC_H is 1, so it is trying to include it. Now we need to figure out why.
Do you have the same definitions in your mhash_config.h and php_config.h files?
Thats what i have in: /opt/local/include/php/main/php_config.h {{{ /* Define if you have the <malloc.h> header file. */ /* #undef HAVE_MALLOC_H */ }}} and in: /opt/local/include/mutils/mhash_config.h {{{ /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #define HAVE_MALLOC 1 /* Define to 1 if you have the <malloc.h> header file. */ #define HAVE_MALLOC_H 0 }}} So it seems to me that my files not differ from yours.
What version of Xcode are you using? Get info on
/Developer/Applications/Xcode.app to find out. I'm using 2.5. Please update if you have anything earlier than 2.4.1. medianet@intermac1:/Developer/Applications/Xcode.app/Contents$ more version.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>BuildVersion</key> <string>2</string> <key>CFBundleShortVersionString</key> <string>2.5</string> <key>CFBundleVersion</key> <string>799</string> <key>ProjectName</key> <string>DevToolsIDE</string> <key>SourceVersion</key> <string>7990000</string> </dict> </plist>
Do you have anything installed in /usr/local, or do you have Fink
installed (in /sw)? These can interfere with MacPorts and should be removed if present. [[BR]] No /sw directory on this machine Under /usr/local there are a few things installed. What do I have to check there? Any way to find out what ist filling my HAVE_MALLOC_H ?? I found a lot of malloc.h files in: {{{ medianet@intermac1:/usr/local$ locate malloc.h /Developer/SDKs/MacOSX10.3.9.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/malloc.h /Developer/SDKs/MacOSX10.3.9.sdk/usr/include/malloc/malloc.h /Developer/SDKs/MacOSX10.3.9.sdk/usr/include/objc/malloc.h /Developer/SDKs/MacOSX10.3.9.sdk/usr/include/sys/malloc.h /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/malloc.h /Developer/SDKs/MacOSX10.4u.sdk/usr/include/malloc/malloc.h /Developer/SDKs/MacOSX10.4u.sdk/usr/include/objc/malloc.h /Developer/SDKs/MacOSX10.4u.sdk/usr/include/sys/malloc.h /System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/malloc.h /opt/local/var/macports/software/cgilib/0.5_2/opt/local/include/malloc.h /usr/include/malloc/malloc.h /usr/include/objc/malloc.h /usr/include/sys/malloc.h }}} Maybe I can delete all of them ?? But is this save ? Or is my last change to clean the harddrive, instal 10.5.x and reinstall all ports and programs again? Greetings an many thanks for your help from Germany Jürgen -- Ticket URL: <http://trac.macports.org/ticket/16590#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#16590: php5 5.2.6 on OSX 10.4.11 build fails (possible fix included) -----------------------------------+---------------------------------------- Reporter: news@braendle-net.de | Owner: ryandesign@macports.org Type: defect | Status: new Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: php5 OS X Port: php5 | -----------------------------------+---------------------------------------- Comment(by ryandesign@macports.org): Replying to [comment:3 news@…]:
Under /usr/local there are a few things installed. What do I have to check there?
Try moving /usr/local aside (rename it), clean php5 and try installing it again. {{{ sudo mv /usr/local /usr/local-off sudo port clean --work php5 }}}
Any way to find out what ist filling my HAVE_MALLOC_H ??
I'm not sure at the moment.
I found a lot of malloc.h files in: [snip] Maybe I can delete all of them ?? But is this save ?
You should not delete those files; they are part of your operating system and belong right where they are. :) I have them on my system too -- except for /opt/local/var/macports/software/cgilib/0.5_2/opt/local/include/malloc.h. I don't have the cgilib port installed. You might try uninstalling the cgilib port and see if that helps, though I don't see how: a) it looks like your cgilib port is not active (else `locate` should have found /opt/local/include/malloc.h too) and inactive ports shouldn't affect anything, and b) the error is that malloc.h cannot be found, so it's not even trying to use cgilib's malloc.h.
Or is my last change to clean the harddrive, instal 10.5.x and reinstall all ports and programs again?
Hopefully that won't be necessary but if moving /usr/local doesn't help I'm not sure what to suggest next. Though perhaps if you attach your config.log it will reveal something. -- Ticket URL: <http://trac.macports.org/ticket/16590#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#16590: php5 5.2.6 on OSX 10.4.11 build fails (possible fix included) -----------------------------------+---------------------------------------- Reporter: news@braendle-net.de | Owner: ryandesign@macports.org Type: defect | Status: new Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: php5 OS X Port: php5 | -----------------------------------+---------------------------------------- Comment(by news@braendle-net.de): Replying to [comment:4 ryandesign@…]:
Replying to [comment:3 news@…]:
Under /usr/local there are a few things installed. What do I have to check there?
Try moving /usr/local aside (rename it), clean php5 and try installing it again.
{{{ sudo mv /usr/local /usr/local-off sudo port clean --work php5 }}}
[[BR]] OK ! But under /usr/local are some critical apps installed. So this is not possible at the moment. If I find some time I'll try it anyway. As I already wrote I got php5 to work fine with some changes in mincludes.h which comes with mhash. {{{ medianet@intermac1:/opt/local/include/mutils$ sudo vi mincludes.h /* #if defined(HAVE_MALLOC_H) #include <malloc.h> #endif */ }}} I think the problem must sit somewhere around this port (sorry for my english, I'm german)[[BR]] So this port or any of the ports included by php5 may have set the <HAVE_MALLOC_H> to <1> But for now I think I live with my workaround. Thanks again for any help Jürgen -- Ticket URL: <http://trac.macports.org/ticket/16590#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#16590: php5 5.2.6: malloc.h: No such file or directory -----------------------------------+---------------------------------------- Reporter: news@… | Owner: ryandesign@… Type: defect | Status: closed Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: worksforme | Keywords: php5 OS X Port: php5 | -----------------------------------+---------------------------------------- Changes (by ryandesign@…): * status: new => closed * resolution: => worksforme Comment: Closing, since we could not rule out interference from something in /usr/local. If you can reproduce this with an empty /usr/local, please re- open. -- Ticket URL: <http://trac.macports.org/ticket/16590#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts