#41908 [Fbk->Opn]: CFLAGS="-Os" ./configure --enable-debug fails
| From: | christian at hoffie dot info | Date: | Fri, 06 Jul 2007 10:34:25 +0000 |
| Subject: | #41908 [Fbk->Opn]: CFLAGS="-Os" ./configure --enable-debug fails | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-114712@lists.php.net to get a copy of this message | ||
ID: 41908
User updated by: christian at hoffie dot info
Reported By: christian at hoffie dot info
-Status: Feedback
+Status: Open
Bug Type: Compile Failure
Operating System: Gentoo Linux
PHP Version: 5.2.3
New Comment:
>>does appending -O0 after user-supplied flags not lead to the
>>expected result (building with -O0 and not -O2 for instance)?
> Apparently it doesn't.
Don't know if I undestood you correctly -- that CFLAGS manipulation
using sed is there because CFLAGS="-O2 -O0" doesn't lead to code being
built with -O0, right?
> What does you config.log say about the reason of the failure?
config.log:
[...]
configure:106983: checking for object suffix
configure:106989: gcc -c s -O0 -g -Wall conftest.c 1>&5
gcc: s: No such file or directory
(this is the last time this message appears and causes the configure
run abort; it happens multiple times as expected, as CFLAGS="s" is
simply wrong; full config.log at
http://home.hoffie.info/php-5.2.3-debug-Os-config.log)
Previous Comments:
------------------------------------------------------------------------
[2007-07-06 09:02:25] tony2001@php.net
>does appending -O0 after user-supplied flags not lead to the
>expected result (building with -O0 and not -O2 for instance)?
Apparently it doesn't.
What does you config.log say about the reason of the failure?
------------------------------------------------------------------------
[2007-07-05 17:06:17] christian at hoffie dot info
Description:
------------
PHP's configure script incorrectly manipulates CFLAGS and CXXFLAGS when
running with --enable-debug or --enable-gcov. When CFLAGS or CXXFLAGS
contains -Os (optimize for size), the configure script builds a bad list
of CFLAGS/CXXFLAGS and as such configure fails in a later stage.
I created a small patch[1] which should solve that, I'm not completely
sure whether it's a good idea to remove that -O stuff at all -- does
appending -O0 after user-supplied flags not lead to the expected result
(building with -O0 and not -O2 for instance)?
[1]
http://overlays.gentoo.org/proj/php/browser/patches/php-patches/5.2.3/5.2.3/php5.2.3-configure-Os-fix.patch?rev=1237
Reproduce code:
---------------
CFLAGS="-Os" ./configure --enable-debug
(same if you replace CFLAGS by CXXFLAGS or --enable-debug with
--enable-gcov)
Actual result:
--------------
christian@tux /tmp/php-5.2.3 $ env | grep FLAGS
CXXFLAGS=-Os
CFLAGS=-Os
christian@tux /tmp/php-5.2.3 $ ./configure --disable-all
--enable-debug
[...]
Configuring libtool
checking build system type... i686-pc-linux-gnu
checking for ld used by gcc... /usr/i686-pc-linux-gnu/bin/ld
checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld...
yes
checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object
files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking how to recognise dependent libraries... pass_all
checking for object suffix... configure: error: installation or
configuration problem; compiler does not work
Depending on ./configure options the output looks different. For
example, with --with-xml you will see a libxml2 failure first.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=41908&edit=1