#39890 [Fbk->Opn]: GNU layout and --sysconfdir option break install and include paths
ID: 39890 User updated by: gabriel at oxeva dot fr Reported By: gabriel at oxeva dot fr -Status: Feedback +Status: Open Bug Type: *Compile Issues Operating System: Linux 2.6 PHP Version: 5.2.0 New Comment: It works ! And the other install paths are not mangled with this method. One remaining question is : Is this change backward compatible with autoconf <= 2.6x ? Previous Comments: [2006-12-25 12:00:03] [EMAIL PROTECTED] What if you move $datarootdir declaration before this line: EXPANDED_PEAR_INSTALLDIR=`eval echo $PEAR_INSTALLDIR`? Like this: http://tony2001.phpclub.net/dev/tmp/bug39890.diff [2006-12-22 20:23:03] gabriel at oxeva dot fr Thanks for giving me some clues about where to look for a bug. I think i have found it : this is related to the $datarootdir variable. Here is my debug with some "echo" to see how the variable expansion is done (this is done in reverse order): --- line ~ 134948 : EXPANDED_PEAR_INSTALLDIR=`eval echo $PEAR_INSTALLDIR` echo $EXPANDED_PEAR_INSTALLDIR outputs "${prefix}/share/pear" --- now we look at line ~131622 : PEAR_INSTALLDIR=$datadir/pear which gives: echo $PEAR_INSTALLDIR outputs "${datarootdir}/pear" --- one level up, line ~1011: datadir='${datarootdir}' We clearly see a nested variable expansion case which can't be expanded with 1 pass. The line numbers may not match, as my configure script may differs from yours since it's auto-generated. Replacing "GNU) PEAR_INSTALLDIR=$datadir/pear;;" in configure.in line 984 by "GNU) PEAR_INSTALLDIR=$datarootdir/pear;;" then ./buildconf seems to correct the problem. But some regression tests with older autoconf might be needed. There is definitely something weird with this "datarootdir" thing : having datadir and datarootdir variable seems ambiguous and maybe redundant ? [2006-12-22 18:53:58] [EMAIL PROTECTED] >What I don't understand is how you can build properly the >configure script with autconf 2.61 ? Well, I don't understand how it is possible not to build it, because there are these lines in configure.in. EXPANDED_PEAR_INSTALLDIR=`eval echo $PEAR_INSTALLDIR` INCLUDE_PATH=.:$EXPANDED_PEAR_INSTALLDIR and $prefix is defined just before these lines. So the result you get looks like 2x2=5 to me. [2006-12-22 18:44:15] gabriel at oxeva dot fr My autoconf is 2.61 and built from vanilla sources too. What are the possible dependencies linked to autoconf which might cause this bug ? I tried running configure with autoconf 2.60 and I have the problem too. Only from autoconf 2.59 the problem seems to be solved. What I don't understand is how you can build properly the configure script with autconf 2.61 ? If this can be useful, my libtool is version 1.5.22. What are the other tools versions which can play a role in the build process ? Now I'm not sure if the include_path issue is from my tools or a small bug/typo in the *.in files from the PHP source. We need to know where does this bug comes from to report the bug to the right person :) [2006-12-22 15:41:39] [EMAIL PROTECTED] Where did you get this particular autoconf and did you try to build it from sources? A configure script which is unable to set the value of ${prefix} seems like an autoconf issue to me and I'm unable to reproduce it with autoconf 2.61 built from vanilla sources. The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/39890 -- Edit this bug report at http://bugs.php.net/?id=39890&edit=1
#39890 [Fbk->Opn]: GNU layout and --sysconfdir option break install and include paths
ID: 39890 User updated by: gabriel at oxeva dot fr Reported By: gabriel at oxeva dot fr -Status: Feedback +Status: Open Bug Type: *Compile Issues Operating System: Linux 2.6 PHP Version: 5.2.0 New Comment: Thanks for giving me some clues about where to look for a bug. I think i have found it : this is related to the $datarootdir variable. Here is my debug with some "echo" to see how the variable expansion is done (this is done in reverse order): --- line ~ 134948 : EXPANDED_PEAR_INSTALLDIR=`eval echo $PEAR_INSTALLDIR` echo $EXPANDED_PEAR_INSTALLDIR outputs "${prefix}/share/pear" --- now we look at line ~131622 : PEAR_INSTALLDIR=$datadir/pear which gives: echo $PEAR_INSTALLDIR outputs "${datarootdir}/pear" --- one level up, line ~1011: datadir='${datarootdir}' We clearly see a nested variable expansion case which can't be expanded with 1 pass. The line numbers may not match, as my configure script may differs from yours since it's auto-generated. Replacing "GNU) PEAR_INSTALLDIR=$datadir/pear;;" in configure.in line 984 by "GNU) PEAR_INSTALLDIR=$datarootdir/pear;;" then ./buildconf seems to correct the problem. But some regression tests with older autoconf might be needed. There is definitely something weird with this "datarootdir" thing : having datadir and datarootdir variable seems ambiguous and maybe redundant ? Previous Comments: [2006-12-22 18:53:58] [EMAIL PROTECTED] >What I don't understand is how you can build properly the >configure script with autconf 2.61 ? Well, I don't understand how it is possible not to build it, because there are these lines in configure.in. EXPANDED_PEAR_INSTALLDIR=`eval echo $PEAR_INSTALLDIR` INCLUDE_PATH=.:$EXPANDED_PEAR_INSTALLDIR and $prefix is defined just before these lines. So the result you get looks like 2x2=5 to me. [2006-12-22 18:44:15] gabriel at oxeva dot fr My autoconf is 2.61 and built from vanilla sources too. What are the possible dependencies linked to autoconf which might cause this bug ? I tried running configure with autoconf 2.60 and I have the problem too. Only from autoconf 2.59 the problem seems to be solved. What I don't understand is how you can build properly the configure script with autconf 2.61 ? If this can be useful, my libtool is version 1.5.22. What are the other tools versions which can play a role in the build process ? Now I'm not sure if the include_path issue is from my tools or a small bug/typo in the *.in files from the PHP source. We need to know where does this bug comes from to report the bug to the right person :) [2006-12-22 15:41:39] [EMAIL PROTECTED] Where did you get this particular autoconf and did you try to build it from sources? A configure script which is unable to set the value of ${prefix} seems like an autoconf issue to me and I'm unable to reproduce it with autoconf 2.61 built from vanilla sources. [2006-12-21 16:13:17] gabriel at oxeva dot fr I have tested other case with a minimal configure line : ./configure --prefix=/usr --sysconfdir=/etc/php --with-layout=GNU When using the included "configure" script, the include_path is set properly (.:/usr/share/pear), but when using a rebuilt configure script (with ./buildconf --force; to make it effective, you need to delete the configure script then type ./buildconf --force), the include_path is set to .:${prefix}/share/pear. The buildconf output is following : # ./buildconf --force Forcing buildconf using default Zend directory buildconf: checking installation... buildconf: autoconf version 2.61 (ok) buildconf: Your version of autoconf likely contains buggy cache code. Running cvsclean for you. To avoid this, install autoconf-2.13. rebuilding configure aclocal.m4:2017: PHP_PROG_LEX is expanded from... 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 one 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. aclocal.m4:2017: PHP_PROG_LEX is expanded from... I need to use the buildconf to add some extensions statically into php (APC and memcache for example) ---
#39890 [Fbk->Opn]: GNU layout and --sysconfdir option break install and include paths
ID: 39890 User updated by: gabriel at oxeva dot fr Reported By: gabriel at oxeva dot fr -Status: Feedback +Status: Open Bug Type: *Compile Issues Operating System: Linux 2.6 PHP Version: 5.2.0 New Comment: My autoconf is 2.61 and built from vanilla sources too. What are the possible dependencies linked to autoconf which might cause this bug ? I tried running configure with autoconf 2.60 and I have the problem too. Only from autoconf 2.59 the problem seems to be solved. What I don't understand is how you can build properly the configure script with autconf 2.61 ? If this can be useful, my libtool is version 1.5.22. What are the other tools versions which can play a role in the build process ? Now I'm not sure if the include_path issue is from my tools or a small bug/typo in the *.in files from the PHP source. We need to know where does this bug comes from to report the bug to the right person :) Previous Comments: [2006-12-22 15:41:39] [EMAIL PROTECTED] Where did you get this particular autoconf and did you try to build it from sources? A configure script which is unable to set the value of ${prefix} seems like an autoconf issue to me and I'm unable to reproduce it with autoconf 2.61 built from vanilla sources. [2006-12-21 16:13:17] gabriel at oxeva dot fr I have tested other case with a minimal configure line : ./configure --prefix=/usr --sysconfdir=/etc/php --with-layout=GNU When using the included "configure" script, the include_path is set properly (.:/usr/share/pear), but when using a rebuilt configure script (with ./buildconf --force; to make it effective, you need to delete the configure script then type ./buildconf --force), the include_path is set to .:${prefix}/share/pear. The buildconf output is following : # ./buildconf --force Forcing buildconf using default Zend directory buildconf: checking installation... buildconf: autoconf version 2.61 (ok) buildconf: Your version of autoconf likely contains buggy cache code. Running cvsclean for you. To avoid this, install autoconf-2.13. rebuilding configure aclocal.m4:2017: PHP_PROG_LEX is expanded from... 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 one 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. aclocal.m4:2017: PHP_PROG_LEX is expanded from... I need to use the buildconf to add some extensions statically into php (APC and memcache for example) [2006-12-21 14:33:11] [EMAIL PROTECTED] Please try to reduce the configure line to the minimal possible. [2006-12-20 22:56:07] gabriel at oxeva dot fr After a fresh new compilation, the problem is still here. Following are the details about my build process : - source extraction - last patch about the autoconf bug applied - ./buildconf --force - configure. The exact configure line is : CFLAGS='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' \ CC='gcc -m32' \ './configure' \ '--prefix=/usr' \ '--sysconfdir=/etc/php' \ '--disable-cgi' \ '--with-exec-dir=/bin' \ '--with-layout=GNU' \ '--enable-sigchild' \ '--disable-rpath' \ '--disable-short-tags' \ '--disable-all' \ '--enable-libxml' \ '--with-openssl' \ '--with-pcre-regex' \ '--with-zlib' \ '--with-bz2' \ '--with-curl' \ '--with-curlwrappers' \ '--enable-dba' \ '--with-inifile' \ '--enable-dom' \ '--enable-ftp' \ '--with-gd' \ '--with-freetype-dir' \ '--enable-gd-native-ttf' \ '--with-iconv' \ '--enable-mbstring' \ '--with-mcrypt' \ '--with-mysqli' \ '--with-ncurses' \ '--enable-pcntl' \ '--enable-posix' \ '--with-readline' \ '--disable-reflection' \ '--enable-simplexml' \ '--with-snmp' \ '--enable-soap' \ '--enable-sockets' \ '--enable-xml' \ '--enable-xmlreader' \ '--enable-xmlwriter' \ '--enable-zip' \ '--with-pear' \ '--enable-memory-limit' \ '--enable-zend-multibyte' \ '--with-pic' \ I've shortened it in this bug report for clarity. - then make (GNU version 3.81) - after make, testing the include path : # sapi/cli/php -i | grep include_path include_path => .:${prefix}/share/pear => .:${prefix}/share/pear maybe it's related to another configure option ? The full option list is pr
#39890 [Fbk->Opn]: GNU layout and --sysconfdir option break install and include paths
ID: 39890 User updated by: gabriel at oxeva dot fr Reported By: gabriel at oxeva dot fr -Status: Feedback +Status: Open Bug Type: *Compile Issues Operating System: Linux 2.6 PHP Version: 5.2.0 New Comment: I have tested other case with a minimal configure line : ./configure --prefix=/usr --sysconfdir=/etc/php --with-layout=GNU When using the included "configure" script, the include_path is set properly (.:/usr/share/pear), but when using a rebuilt configure script (with ./buildconf --force; to make it effective, you need to delete the configure script then type ./buildconf --force), the include_path is set to .:${prefix}/share/pear. The buildconf output is following : # ./buildconf --force Forcing buildconf using default Zend directory buildconf: checking installation... buildconf: autoconf version 2.61 (ok) buildconf: Your version of autoconf likely contains buggy cache code. Running cvsclean for you. To avoid this, install autoconf-2.13. rebuilding configure aclocal.m4:2017: PHP_PROG_LEX is expanded from... 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 one 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. aclocal.m4:2017: PHP_PROG_LEX is expanded from... I need to use the buildconf to add some extensions statically into php (APC and memcache for example) Previous Comments: [2006-12-21 14:33:11] [EMAIL PROTECTED] Please try to reduce the configure line to the minimal possible. [2006-12-20 22:56:07] gabriel at oxeva dot fr After a fresh new compilation, the problem is still here. Following are the details about my build process : - source extraction - last patch about the autoconf bug applied - ./buildconf --force - configure. The exact configure line is : CFLAGS='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' \ CC='gcc -m32' \ './configure' \ '--prefix=/usr' \ '--sysconfdir=/etc/php' \ '--disable-cgi' \ '--with-exec-dir=/bin' \ '--with-layout=GNU' \ '--enable-sigchild' \ '--disable-rpath' \ '--disable-short-tags' \ '--disable-all' \ '--enable-libxml' \ '--with-openssl' \ '--with-pcre-regex' \ '--with-zlib' \ '--with-bz2' \ '--with-curl' \ '--with-curlwrappers' \ '--enable-dba' \ '--with-inifile' \ '--enable-dom' \ '--enable-ftp' \ '--with-gd' \ '--with-freetype-dir' \ '--enable-gd-native-ttf' \ '--with-iconv' \ '--enable-mbstring' \ '--with-mcrypt' \ '--with-mysqli' \ '--with-ncurses' \ '--enable-pcntl' \ '--enable-posix' \ '--with-readline' \ '--disable-reflection' \ '--enable-simplexml' \ '--with-snmp' \ '--enable-soap' \ '--enable-sockets' \ '--enable-xml' \ '--enable-xmlreader' \ '--enable-xmlwriter' \ '--enable-zip' \ '--with-pear' \ '--enable-memory-limit' \ '--enable-zend-multibyte' \ '--with-pic' \ I've shortened it in this bug report for clarity. - then make (GNU version 3.81) - after make, testing the include path : # sapi/cli/php -i | grep include_path include_path => .:${prefix}/share/pear => .:${prefix}/share/pear maybe it's related to another configure option ? The full option list is provided above. Any ideas ? [2006-12-20 17:52:43] [EMAIL PROTECTED] Sounds very weird to me and I'm unable to reproduce it using autoconf 2.61. [2006-12-20 17:09:38] gabriel at oxeva dot fr so i applied the patch, ./buildconf --force again, then configure and make and make install man paths OK, pear path OK. but my sapi/cli/php -i give this output : # sapi/cli/php -i | grep include_path include_path => .:${prefix}/share/pear => .:${prefix}/share/pear the ${prefix} looks like a variable that is not replaced (expanded) in main/build-defs.h line 81: #define PHP_INCLUDE_PATH".:${prefix}/share/pear" [2006-12-20 11:54:21] [EMAIL PROTECTED] Ok, I updated the patch, it should fix PEAR install path now. Though I can't see any problems with include_path: # sapi/cli/php -i | grep include_path include_path => .:/tmp/php/share/pear => .:/tmp/php/share/pear The remainder of the comments for this
#39890 [Fbk->Opn]: GNU layout and --sysconfdir option break install and include paths
ID: 39890 User updated by: gabriel at oxeva dot fr Reported By: gabriel at oxeva dot fr -Status: Feedback +Status: Open Bug Type: *Compile Issues Operating System: Linux 2.6 PHP Version: 5.2.0 New Comment: After a fresh new compilation, the problem is still here. Following are the details about my build process : - source extraction - last patch about the autoconf bug applied - ./buildconf --force - configure. The exact configure line is : CFLAGS='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' \ CC='gcc -m32' \ './configure' \ '--prefix=/usr' \ '--sysconfdir=/etc/php' \ '--disable-cgi' \ '--with-exec-dir=/bin' \ '--with-layout=GNU' \ '--enable-sigchild' \ '--disable-rpath' \ '--disable-short-tags' \ '--disable-all' \ '--enable-libxml' \ '--with-openssl' \ '--with-pcre-regex' \ '--with-zlib' \ '--with-bz2' \ '--with-curl' \ '--with-curlwrappers' \ '--enable-dba' \ '--with-inifile' \ '--enable-dom' \ '--enable-ftp' \ '--with-gd' \ '--with-freetype-dir' \ '--enable-gd-native-ttf' \ '--with-iconv' \ '--enable-mbstring' \ '--with-mcrypt' \ '--with-mysqli' \ '--with-ncurses' \ '--enable-pcntl' \ '--enable-posix' \ '--with-readline' \ '--disable-reflection' \ '--enable-simplexml' \ '--with-snmp' \ '--enable-soap' \ '--enable-sockets' \ '--enable-xml' \ '--enable-xmlreader' \ '--enable-xmlwriter' \ '--enable-zip' \ '--with-pear' \ '--enable-memory-limit' \ '--enable-zend-multibyte' \ '--with-pic' \ I've shortened it in this bug report for clarity. - then make (GNU version 3.81) - after make, testing the include path : # sapi/cli/php -i | grep include_path include_path => .:${prefix}/share/pear => .:${prefix}/share/pear maybe it's related to another configure option ? The full option list is provided above. Any ideas ? Previous Comments: [2006-12-20 17:52:43] [EMAIL PROTECTED] Sounds very weird to me and I'm unable to reproduce it using autoconf 2.61. [2006-12-20 17:09:38] gabriel at oxeva dot fr so i applied the patch, ./buildconf --force again, then configure and make and make install man paths OK, pear path OK. but my sapi/cli/php -i give this output : # sapi/cli/php -i | grep include_path include_path => .:${prefix}/share/pear => .:${prefix}/share/pear the ${prefix} looks like a variable that is not replaced (expanded) in main/build-defs.h line 81: #define PHP_INCLUDE_PATH".:${prefix}/share/pear" [2006-12-20 11:54:21] [EMAIL PROTECTED] Ok, I updated the patch, it should fix PEAR install path now. Though I can't see any problems with include_path: # sapi/cli/php -i | grep include_path include_path => .:/tmp/php/share/pear => .:/tmp/php/share/pear [2006-12-20 09:12:31] gabriel at oxeva dot fr Hello again, Thanks for the patch. I actually use autoconf version 2.61. This patch has corrected the bug related to the man path, but CASE 2 and 3 are not completely solved : the include_path in the PHP binary is still ".:${prefix}/share/pear" (with ${prefix} not expanded), and pear installs itslef in /usr/pear instead of /usr/share/pear as is it stated in the GNU layout. [2006-12-20 00:21:08] [EMAIL PROTECTED] Please check out this patch: http://tony2001.phpclub.net/dev/tmp/bug39890.diff Apply with `patch -p0 < bug39890.diff`, run ./buildconf etc. after that. The patch seems to make autoconf 2.6x happy again. The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/39890 -- Edit this bug report at http://bugs.php.net/?id=39890&edit=1
#39890 [Fbk->Opn]: GNU layout and --sysconfdir option break install and include paths
ID: 39890 User updated by: gabriel at oxeva dot fr Reported By: gabriel at oxeva dot fr -Status: Feedback +Status: Open Bug Type: *Compile Issues Operating System: Linux 2.6 PHP Version: 5.2.0 New Comment: so i applied the patch, ./buildconf --force again, then configure and make and make install man paths OK, pear path OK. but my sapi/cli/php -i give this output : # sapi/cli/php -i | grep include_path include_path => .:${prefix}/share/pear => .:${prefix}/share/pear the ${prefix} looks like a variable that is not replaced (expanded) in main/build-defs.h line 81: #define PHP_INCLUDE_PATH".:${prefix}/share/pear" Previous Comments: [2006-12-20 11:54:21] [EMAIL PROTECTED] Ok, I updated the patch, it should fix PEAR install path now. Though I can't see any problems with include_path: # sapi/cli/php -i | grep include_path include_path => .:/tmp/php/share/pear => .:/tmp/php/share/pear [2006-12-20 09:12:31] gabriel at oxeva dot fr Hello again, Thanks for the patch. I actually use autoconf version 2.61. This patch has corrected the bug related to the man path, but CASE 2 and 3 are not completely solved : the include_path in the PHP binary is still ".:${prefix}/share/pear" (with ${prefix} not expanded), and pear installs itslef in /usr/pear instead of /usr/share/pear as is it stated in the GNU layout. [2006-12-20 00:21:08] [EMAIL PROTECTED] Please check out this patch: http://tony2001.phpclub.net/dev/tmp/bug39890.diff Apply with `patch -p0 < bug39890.diff`, run ./buildconf etc. after that. The patch seems to make autoconf 2.6x happy again. [2006-12-20 00:00:28] [EMAIL PROTECTED] What version of autoconf do you use? [2006-12-19 17:22:48] gabriel at oxeva dot fr Description: When compiling PHP, using the configure script with the --sysconfdir or using the GNU layout option breaks paths such as PHP_INCLUDE_PATH or PHP_SYSCONFDIR set in main/build-defs.h. It seems there is some path expansions are missing in the configure script Reproduce code: --- use the configure script with --prefix=/usr and --with-layout=GNU and/or --sysconfdir=/etc/php some examples : first, rebuild the configure script with ./buildconf --force then, CASE 1 : configure line (sysconfdir, but not the GNU layout): ./configure --prefix=/usr --disable-cgi --sysconfdir=/etc/php CASE 2 : configure with GNU layout, but without sysconfdir : ./configure --prefix=/usr --disable-cgi --with-layout=GNU CASE 3 : configure with GNU layout and sysconfdir : ./configure --prefix=/usr --disable-cgi --sysconfdir=/etc/php --with-layout=GNU Expected result: CASE 1: - Man pages in the right place (/usr/man) CASE 2: - include_path : .:/usr/share/pear - have a working --sysconfdir option CASE 3: - man pages in /usr/man - pear in /usr/share/pear - include_path : .:/usr/share/pear Actual result: -- CASE 1: - man pages installed in /man (directly in the root filesystem!) CASE 2: - include_path broken : include_path => .:${prefix}/share/pear - no option to define where to place files such as pear.conf (in sysconfdir) CASE 3: - man pages installed in /man - pear installed in /pear - include_path broken : include_path => .:${prefix}/share/pear -- Edit this bug report at http://bugs.php.net/?id=39890&edit=1
#39890 [Fbk->Opn]: GNU layout and --sysconfdir option break install and include paths
ID: 39890 User updated by: gabriel at oxeva dot fr Reported By: gabriel at oxeva dot fr -Status: Feedback +Status: Open Bug Type: *Compile Issues Operating System: Linux 2.6 PHP Version: 5.2.0 New Comment: Hello again, Thanks for the patch. I actually use autoconf version 2.61. This patch has corrected the bug related to the man path, but CASE 2 and 3 are not completely solved : the include_path in the PHP binary is still ".:${prefix}/share/pear" (with ${prefix} not expanded), and pear installs itslef in /usr/pear instead of /usr/share/pear as is it stated in the GNU layout. Previous Comments: [2006-12-20 00:21:08] [EMAIL PROTECTED] Please check out this patch: http://tony2001.phpclub.net/dev/tmp/bug39890.diff Apply with `patch -p0 < bug39890.diff`, run ./buildconf etc. after that. The patch seems to make autoconf 2.6x happy again. [2006-12-20 00:00:28] [EMAIL PROTECTED] What version of autoconf do you use? [2006-12-19 17:22:48] gabriel at oxeva dot fr Description: When compiling PHP, using the configure script with the --sysconfdir or using the GNU layout option breaks paths such as PHP_INCLUDE_PATH or PHP_SYSCONFDIR set in main/build-defs.h. It seems there is some path expansions are missing in the configure script Reproduce code: --- use the configure script with --prefix=/usr and --with-layout=GNU and/or --sysconfdir=/etc/php some examples : first, rebuild the configure script with ./buildconf --force then, CASE 1 : configure line (sysconfdir, but not the GNU layout): ./configure --prefix=/usr --disable-cgi --sysconfdir=/etc/php CASE 2 : configure with GNU layout, but without sysconfdir : ./configure --prefix=/usr --disable-cgi --with-layout=GNU CASE 3 : configure with GNU layout and sysconfdir : ./configure --prefix=/usr --disable-cgi --sysconfdir=/etc/php --with-layout=GNU Expected result: CASE 1: - Man pages in the right place (/usr/man) CASE 2: - include_path : .:/usr/share/pear - have a working --sysconfdir option CASE 3: - man pages in /usr/man - pear in /usr/share/pear - include_path : .:/usr/share/pear Actual result: -- CASE 1: - man pages installed in /man (directly in the root filesystem!) CASE 2: - include_path broken : include_path => .:${prefix}/share/pear - no option to define where to place files such as pear.conf (in sysconfdir) CASE 3: - man pages installed in /man - pear installed in /pear - include_path broken : include_path => .:${prefix}/share/pear -- Edit this bug report at http://bugs.php.net/?id=39890&edit=1