php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #34328 buildconf fail
Submitted: 2005-09-01 15:54 UTC Modified: 2005-09-02 00:54 UTC
From: info at ch2o dot info Assigned:
Status: Wont fix Package: Compile Failure
PHP Version: 4CVS-2005-09-01 (snap) OS: HP-UX
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please — but make sure to vote on the bug!
Your email address:
MUST BE VALID
Solve the problem:
11 + 11 = ?
Subscribe to this entry?

 
 [2005-09-01 15:54 UTC] info at ch2o dot info
Description:
------------
when have passed to php4.4 and up from 4.3.x...

when execute buildconf on hp-ux without gnu make (named make!) buildconf fail in path... because of use of specifique gnu make macro in build2.mk...

on hp-ux precompiled gnu make is named "gmake" and not "make" to differentiate from regulare make...

when have analyse buildconf script, have found that i counld export MAKE env with gmake to buildconf work fine :
export MAKE=gmake

if gmake is the only choice for use buildconf it nessesary to add the possibility to autodetect gnu make in form "gmake" to set automaticly MAKE env vars in buildconf shell script...
and detect if "make" are not gnu make to indicate the need of gnu make to use buildconf...

Best regards,
Mathieu

Reproduce code:
---------------
/src/php4-STABLE-200508291446> ./buildconf --force
Forcing buildconf
using default Zend directory
buildconf: checking installation...
buildconf: autoconf version 2.59 (ok)
buildconf: Your version of autoconf likely contains buggy cache code.
           Running cvsclean for you.
           To avoid this, install autoconf-2.13 and automake-1.5.
Make: Must be a separator on rules line 36.  Stop.
*** Error exit code 1

Stop.
/src/php4-STABLE-200508291446> export MAKE=gmake
/src/php4-STABLE-200508291446> ./buildconf --force
Forcing buildconf
using default Zend directory
buildconf: checking installation...
buildconf: autoconf version 2.59 (ok)
buildconf: Your version of autoconf likely contains buggy cache code.
           Running cvsclean for you.
           To avoid this, install autoconf-2.13 and automake-1.5.
rebuilding configure
rebuilding main/php_config.h.in
autoheader: WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot'
autoheader: WARNING: and `config.h.top', to define templates for `config.h.in'
autoheader: WARNING: is deprecated and discouraged.
autoheader:
autoheader: WARNING: Using the third argument of `AC_DEFINE' and
autoheader: WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without
autoheader: WARNING: `acconfig.h':
autoheader:
autoheader: WARNING:   AC_DEFINE([NEED_FUNC_MAIN], 1,
autoheader:             [Define if a function `main' is needed.])
autoheader:
autoheader: WARNING: More sophisticated templates can also be produced, see the
autoheader: WARNING: documentation.


Expected result:
----------------
Forcing buildconf
using default Zend directory
buildconf: checking installation...
buildconf: autoconf version 2.59 (ok)
buildconf: Your version of autoconf likely contains buggy cache code.
           Running cvsclean for you.
           To avoid this, install autoconf-2.13 and automake-1.5.
rebuilding configure
rebuilding main/php_config.h.in
autoheader: WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot'
autoheader: WARNING: and `config.h.top', to define templates for `config.h.in'
autoheader: WARNING: is deprecated and discouraged.
autoheader:
autoheader: WARNING: Using the third argument of `AC_DEFINE' and
autoheader: WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without
autoheader: WARNING: `acconfig.h':
autoheader:
autoheader: WARNING:   AC_DEFINE([NEED_FUNC_MAIN], 1,
autoheader:             [Define if a function `main' is needed.])
autoheader:
autoheader: WARNING: More sophisticated templates can also be produced, see the
autoheader: WARNING: documentation.



Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-09-01 16:10 UTC] sniper@php.net
We only support autoconf 2.13 for generating the configure.
If you don't have the correct tools, use snapshots from http://snaps.php.net/

 [2005-09-01 16:10 UTC] sniper@php.net
And yes, we only support gnu make too for that..

 [2005-09-02 00:33 UTC] info at ch2o dot info
autoconf >2.13 worked for other version (4.3.x) that have used!!!!???


but the new one is the use of gnu make! 

and the coolest solution is to detect if "make" (found in path) are gnu make or not, and alternatively try tu use "gmake" in place... in buildconf shell script!

like:
MAKE=$(whence make)

if [ $($MAKE -version | grep "GNU Make" | wc) -ne 1 ]; then
MAKE=$(whence gmake)
fi

if [ $($MAKE -version | grep "GNU Make" | wc) -ne 1 ]; then
echo "ERROR: no gnu make found..."
exit -1
fi
 [2005-09-02 00:54 UTC] info at ch2o dot info
when use export MAKE=gmake to force use of gnu make they work fine (with autoconf 2.59)...
the autoheader warning dont block configure generation...

after that configure work fine...

i use buildconf to update libtool (the default libtool included in php 4 and 5 have bug for HP-UX) and some config.m4 (oci8 have bug with 9i 64bit with 32bit php build...) and to include extern pecl module directly in ext dir...


have added at the begining of the buildconf to check gnu make and tested on hp-ux... :

export MAKE
MAKE=$(whence make)

if test "$($MAKE -version 2>&1 | grep "GNU Make" | wc -l)" -ne 1; then
MAKE=$(whence gmake)
fi

if test "$($MAKE -version 2>&1 | grep "GNU Make" | wc -l)" -ne 1; then
echo "ERROR: no gnu make found..."
exit -1
fi
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Apr 23 10:01:29 2024 UTC