Bug #74125 [Com]: PHP 7.1.2 compilation and libcurl error

From: Date: Fri, 26 Jul 2019 16:37:14 +0000
Subject: Bug #74125 [Com]: PHP 7.1.2 compilation and libcurl error
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-221945@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=74125&edit=1 ID: 74125 Comment by: rg dot viza at gmail dot com Reported by: krazitchek at hotmail dot com Summary: PHP 7.1.2 compilation and libcurl error Status: Closed Type: Bug Package: Compile Failure Operating System: Debian 9 stretch 64bits PHP Version: 7.1.2 Assigned To: remi Block user comment: N Private report: N New Comment: IMHO distro specific issues belong in their distro... It'd unreasonable to expect the configure/php people to keep up with every cockamamie place distro maintainers decide to put things. If you decide to put headers some place besides ../include[library name] you do so at the peril of your users. _every_ source package I've ever seen expects all libraries to be in [include]/[library name]. If the distro people put some stuff in [include]/[library name] and other stuff in [include]/[stupid place]/[library name], they're going to break compiling from source, unless the user is astute enough to add links as necessary. The reason to decide on one place to put all headers is so configure can find --all-- dependencies, not just the dependency living in some weird place you pointed configures --include-dir to. If you point the include directory to the weird place, configure won't be able to find anything but that specific library. The source following standards won't be found then. This is a Debian problem. Hold them up to as an example of how NOT to organize a header directory. If you need to be compiling stuff from source, pick another distro. Anything but Debian based. Previous Comments: ------------------------------------------------------------------------ [2017-08-25 15:07:35] remi@php.net While this is obviously a bug in debian "curl-config not giving correct build options", this have been fixed in 7.0+ by http://git.php.net/?p=php-src.git;a=commit;h=3fd7d819b8ea164bdf255cddcd0a1b1d156f4a3b But IMHO using dpkg command is not acceptable, so a better fix have been applied in 7.2 http://git.php.net/?p=php-src.git;a=commit;h=b8c6ce91b24d314fe9f9996a17942b63ecec249b ------------------------------------------------------------------------ [2017-02-21 13:58:48] deadraid at yandex dot ru sudo ln -s /usr/include/x86_64-linux-gnu/curl /usr/include/curl ------------------------------------------------------------------------ [2017-02-19 08:04:26] krazitchek at hotmail dot com libcurl4-openssl-dev for debian jessie: https://packages.debian.org/fr/jessie/amd64/libcurl4-openssl-dev/filelist libcurl4-openssl-dev for debian stretch: https://packages.debian.org/fr/stretch/amd64/libcurl4-openssl-dev/filelist ------------------------------------------------------------------------ [2017-02-18 20:41:15] krazitchek at hotmail dot com Description: ------------ I tried to compile 7.1.2 as usually but this time ./configure fail with these error: checking for cURL in default path... not found configure: error: Please reinstall the libcurl distribution - easy.h should be in /include/curl/ I'm on Debian Stretch (9) 64 bits. With 'locate easy.h' i found libcurl4-openssl-dev is installed in /usr/include/x86_64-linux-gnu/curl when ./configure expect it in/include/curl/` libcurl4-openssl-dev on debian Jessie install curl in /usr/include/curl/ when Stretch install curl in /usr/include/x86_64-linux-gnu/curl. With the last PHP version i compiled (7.1.1), i had no problems, but this time it failed. To compile: ./buildconf --force && ./configure --prefix=/usr/local/php --with-config-file-path=/etc/php/lib --enable-bcmath --with-bz2 --with-zlib --enable-zip --enable-calendar --enable-exif --enable-ftp --with-gettext --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-xpm-dir --enable-mbstring --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --enable-intl --enable-soap --with-readline --with-curl --with-mcrypt --with-xsl --enable-sockets curl and libcurl4-openssl-dev packages are installed via apt-get. I tried with --with-curl=/usr/include/x86_64-linux-gnu/curl/ but it doesn't work. I'm not sure but i think something change in libcurl4-openssl-dev package in debian 8 jessie (packages.debian.org/fr/jessie/amd64/libcurl4-openssl-dev/…) and debian 9 stretch (packages.debian.org/fr/stretch/amd64/libcurl4-openssl-dev/…‌​). We can see on those two urls that path is not the same for the same package. Jessie version match requirement (/usr/include/curl/easy.h) while stretch version don't match requirement (/usr/include/x86_64-linux-gnu/curl/easy.h) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=74125&edit=1

« previous php.bugs (#221945) next »