php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #50291 incorrect usage of autoconf diversions
Submitted: 2009-11-25 00:01 UTC Modified: 2013-10-15 11:54 UTC
Votes:7
Avg. Score:3.9 ± 1.0
Reproduced:5 of 5 (100.0%)
Same Version:3 (60.0%)
Same OS:3 (60.0%)
From: vapier at gentoo dot org Assigned:
Status: No Feedback Package: Compile Failure
PHP Version: 5.3.1 OS: Linux
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2009-11-25 00:01 UTC] vapier at gentoo dot org
Description:
------------
autoconf-2.64+ has changed behavior with diversions in such a way that php breaks.  the autoconf documentation has explained that using these functions with any diversion not explicitly documented is subject to breakage, and php is doing just that.

http://www.gnu.org/software/autoconf/manual/autoconf.html#Diversion-support

you can also review the discussion on the autoconf lists:
http://lists.gnu.org/archive/html/bug-autoconf/2009-11/msg00045.html

Reproduce code:
---------------
the code can either be changed to stop using divert() completely (since it doesnt seem to accomplish anything), or increase the numbers used to something higher than 1000.

Actual result:
--------------
after regenerating autotools, we see:
$ ./configure
cat: confdefs.h: No such file or directory
./configure: line 410: ac_fn_c_try_run: command not found
./configure: line 426: 5: Bad file descriptor
./configure: line 427: 6: Bad file descriptor
cat: confdefs.h: No such file or directory
./configure: line 466: ac_fn_c_try_run: command not found
cat: confdefs.h: No such file or directory
........

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2009-11-25 01:37 UTC] rasmus@php.net
Thanks, this motivated me to clean up our m4 crap and make it work with the latest versions of autoconf.  Should still clean up the template warnings eventually, but those are non-fatal and everything builds nicely now with autoconf-2.65 for me.
 [2010-01-23 08:13 UTC] ramsey@php.net
I'm having this problem with a fresh checkout (revision 293858) from 
the PHP_5_3 branch. I running on Mac OS X 10.6.2 and have autoconf 
2.65 from macports.

$ ./buildconf
$ ./configure
cat: confdefs.h: No such file or directory
./configure: line 389: ac_fn_c_try_run: command not found
./configure: line 405: 5: Bad file descriptor
./configure: line 406: 6: Bad file descriptor
cat: confdefs.h: No such file or directory
./configure: line 445: ac_fn_c_try_run: command not found
..........

I'm not having the problem when running configure on the 5.3.1 tar 
package.
 [2010-01-23 08:49 UTC] rasmus@php.net
This fix is only in HEAD.  You need autoconf <2.60 for 5.3
 [2010-08-10 19:58 UTC] scottmac@php.net
-Status: Closed +Status: Re-Opened
 [2010-08-10 19:58 UTC] scottmac@php.net
This got lost when we re-branched trunk from 5_3
 [2010-11-14 00:33 UTC] jani@php.net
-Package: *Compile Issues +Package: Compile Failure
 [2011-04-24 23:41 UTC] mail at crick dot ru
This annoying bug is still there. How about solutions?
 [2011-04-25 01:21 UTC] rasmus@php.net
I spent quite a while on it. I couldn't come up with a viable way to support both 
pre and post autoconf-2.64 so it is either/or at this point. Every distro has pre-
2.64, not everyone has post 2.64. We will eventually be able to make a clean 
break, but it definitely won't be in 5.3.
 [2011-04-25 11:09 UTC] mail at crick dot ru
Can I ask post here a patch that will allow PHP to compile with autoconf version> 2.6? I think it will be useful to many users.
 [2011-04-25 11:12 UTC] mail at crick dot ru
PS. I mean the patch to compile only with autoconf> 2.6.4, not for both post and pre.
 [2011-10-12 16:00 UTC] reeves_28 at yahoo dot com
One to make it compile is to run  grep -Rn "divert(" and comment out all lines in the *.m4 and *.in files that show up. There should be only three files that actuall need changed. Ignore /ext/fileinfo/tests/magic this doesn't affect the compile. You will get a lot of warnings from autoconf but it will compile.
 [2013-10-01 11:54 UTC] mike@php.net
-Status: Re-Opened +Status: Feedback
 [2013-10-01 11:54 UTC] mike@php.net
IIRC this is obsolete?
 [2013-10-15 11:54 UTC] php-bugs at lists dot php dot net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Re-Opened". Thank you.
 
PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Sun Nov 27 15:05:53 2022 UTC