php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #17362 can't open conftest.out
Submitted: 2002-05-22 10:39 UTC Modified: 2002-05-22 11:06 UTC
From: mccaffityr at epg dot lewis dot army dot mil Assigned:
Status: Closed Package: Compile Failure
PHP Version: 4.2.1 OS: Solaris8 and Solaris7
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: mccaffityr at epg dot lewis dot army dot mil
New email:
PHP Version: OS:

 

 [2002-05-22 10:39 UTC] mccaffityr at epg dot lewis dot army dot mil
I've sucessfully gotten 4.2.1 to work on a couple of Linux boxes, and 4.2.0 to work on several Solaris boxes. But I can not get 4.2.1 to make or compile on Solaris. I've tried with both gcc2.9.5.2 and gcc3.0.3. 

During the configure.... 

./configure --with-apache=../apache_1.3.24 --with-zlib-dir=/usr/local/lib --with-bz2=/usr/local/bin --with-gd=/usr/local/lib 
--with-pgsql=/usr/local/pgsql --enable-track-vars --enable-ftp 

It makes it down to 

checking for fclose declaration... ok 
checking for alloc.h... grep: can't open conftest.out 
yes 
checking for arpa/init.h... grep: can't open conftest.out 
yes 

... more stuff.... 

checking for arpa/unix.h... grep: can't open conftest.out 
yes 

checking for arpa/utime.h... grep: can't open conftest.out 
yes 

It keeps doing this for about 20 lines, the warnings go away 
for the rest of the configure. 

Then when I try to do the make.... 

In file included from zend_compile.h:24, 
from zend_language_parser.c:147: 
zend.h55:19: unix.h No such file or directory 
make[1]: *** [zend_language_parser.lo] Error 1 
make[1]: Leaving directory '/usr/share/src/php-4.2.1/Zend' 
make: *** [all-recursive] Error 1 

If I go back to 4.2.0, everything works great. If I take the same 
tar'd source file and put it on Linux it works great. But I cannot 
get 4.2.1 to work on Solaris8. 

I did a search, and I do not have a unix.h file anywhere.
(But it's the same with 4.2.0 and it works anyway).

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-05-22 10:49 UTC] derick@php.net
It's a bug in autoconf 2.13 (4.20 was created with 2.52, which causes a lot of problems on Linux).
THere are two things you can do:
1. rm configure && ./buildconf  (with autoconf 2.52 installed)
or
2. CC-gcc ./configure --your-switches

Derick
 [2002-05-22 11:05 UTC] mccaffityr at epg dot lewis dot army dot mil
I appear to have autoconf 2.53
(from www.sunfreeware.com)

pkginfo -l SMCautoc | grep VERSION
VERSION: 2.53

Do I need to go back to 2.52?
 [2002-05-22 11:06 UTC] derick@php.net
2.53 should work too, but I can't promise anything :)
 [2002-05-22 11:24 UTC] mccaffityr at epg dot lewis dot army dot mil
I still got the same error.  I will see if I can 2.52 somewhere.

{dcars1}[root]:/usr/src/php-4.2.1: rm configure && ./buildconf
rebuilding configure
rebuilding main/php_config.h.in
WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot'
WARNING: and `config.h.top', to define templates for `config.h.in'
WARNING: is deprecated and discouraged.

WARNING: Using the third argument of `AC_DEFINE' and
WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without
WARNING: `acconfig.h':

WARNING:   AC_DEFINE([NEED_MAIN], 1,
WARNING:             [Define if a function `main' is needed.])

WARNING: More sophisticated templates can also be produced, see the
WARNING: documentation.
autoheader: `main/php_config.h.in' is created
{dcars1}[root]:/usr/src/php-4.2.1: make
Making all in Zend
make[1]: Entering directory `/usr/share/src/php-4.2.1/Zend'
/bin/sh ../libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../main   -D_POSIX_PTHREAD_SEMANTICS -I../TSRM  -g -O2 -prefer-non-pic -static -c -o zend_language_parser.lo `test -f zend_language_parser.c || echo './'`zend_language_parser.c
In file included from zend_compile.h:24,
                 from zend_language_parser.c:147:
zend.h:55:19: unix.h: No such file or directory
make[1]: *** [zend_language_parser.lo] Error 1
make[1]: Leaving directory `/usr/share/src/php-4.2.1/Zend'
make: *** [all-recursive] Error 1
 [2002-05-22 11:47 UTC] mccaffityr at epg dot lewis dot army dot mil
This seems a little unorthodox, but I have it working with autoconf 2.53,  I was able to reproduce this on several systems.

[step 1]
./configure --with-apache=../apache_1.3.24
--with-zlib-dir=/usr/local/lib --with-bz2=/usr/local/bin
--with-gd=/usr/local/lib 
--with-pgsql=/usr/local/pgsql --enable-track-vars --enable-ftp 

This will error out with the original error.

[step 2]
rm configure && ./buildconf  

This will error out with basically the same error.

[step 3]
export CC=gcc ./configure --with-apache=../apache_1.3.24
--with-zlib-dir=/usr/local/lib --with-bz2=/usr/local/bin
--with-gd=/usr/local/lib 
--with-pgsql=/usr/local/pgsql --enable-track-vars --enable-ftp 

Then it works OK.  I tried just doing the export CC=gcc
first, but that doesn't seem to help.  This seems a little weird to me, but I'm happy, it appears to be working now.

Thanks.
 [2002-06-13 07:13 UTC] marsel dot moissis at intrasoft-intl dot com
I have experienced exactly the same problem, but according to your comments and looking in the variables configured (within config_vars.mk file) for a correct installation of PHP 4.2.0, I concluded the following. Note that my environment is Solaris 8 (SunOS5.8), have installed gcc 3.0.3 and autoconf 2.53, and I want to install PHP 4.2.1.

- At configuration, prefix the "./configure <my-options>" command with C compiler (CC) and C pre-processor (CPP) flags as below,

      CC=gcc CPP="gcc -E" ./configure <my-options>

Congigure will set C compiler and pre-processor as above, and no more "can't open conftest.out" will appear. Then "make" will not produce any errors and installation of PHP 4.2.1 will be smooth and simple.

- I realised (looking in configure code) that file "conftest.out" is generated and manipulated by a program code in C called "conftest.c". Since compilation and run of the above code in done during configuration, there is an obvious connection between the code and the set C compiler.

- Since configure, for some reason, cannot locate the right compiler, I force gcc by prefixing the configure command with the required compiler flags (as suggested by mccaffityr).

I hope this helps to make a smooth installation of PHP 4.2.1.

Regards
Marsel
 [2002-07-05 07:01 UTC] fryderyk at gjpoland dot com dot pl
I had the same problem with compilation on Solaris8 intel.
Problem disappeared after installing libtool 1.4 from www.sunfreeware.com

Regards 
Fryderyk
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Wed Jul 02 16:01:37 2025 UTC