PHP :: Bug #41908 :: CFLAGS="-Os" ./configure --enable-debug fails
| Bug #41908 | CFLAGS="-Os" ./configure --enable-debug fails | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Submitted: | 2007-07-05 17:06 UTC | Modified: | 2007-07-06 10:44 UTC |
|
||||||
| From: | christian at hoffie dot info | Assigned: | ||||||||
| Status: | Closed | Package: | Compile Failure | |||||||
| PHP Version: | 5.2.3 | OS: | Gentoo Linux | |||||||
| Private report: | No | CVE-ID: | None | |||||||
[2007-07-05 17:06 UTC] 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.
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2007-07-06 09:02 UTC] tony2001@php.net
[2007-07-06 10:34 UTC] christian at hoffie dot info
[2007-07-06 10:44 UTC] tony2001@php.net