Doc->Bug #79313 [Opn->Asn]: --with-curl switch behaviour change in PHP 7.4

From: Date: Thu, 27 Feb 2020 19:08:28 +0000
Subject: Doc->Bug #79313 [Opn->Asn]: --with-curl switch behaviour change in PHP 7.4
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-225760@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=79313&edit=1 ID: 79313 User updated by: fred5 at originsystems dot co dot za Reported by: fred5 at originsystems dot co dot za Summary: --with-curl switch behaviour change in PHP 7.4 -Status: Open +Status: Assigned -Type: Documentation Problem +Type: Bug Package: Compile Failure Operating System: RHEL 7 PHP Version: 7.4.3 Block user comment: N Private report: N New Comment: I have copied all my *.pc files into a single PKGINFO directory and set PKG_CONFIG_PATH=${PKGINFO directory} This seems to resolve all my --with-zzzzz issues, however now I am seeing the below issue (which is a provided PHP extension I can find under the PHP source folder). ...right now I can only assume the problem is being introduced because PKG_CONFIG_PATH has been set (as we have never seen this issue prior to 7.4) I would really appreciate some help with this as it is causing real problems for our install. thanks LATEST ERROR ------------ checking whether to enable multibyte string support... yes, shared checking whether to enable multibyte regex support (requires oniguruma)... yes checking for oniguruma... no configure: error: Package requirements (oniguruma) were not met: No package 'oniguruma' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables ONIG_CFLAGS and ONIG_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. Previous Comments: ------------------------------------------------------------------------ [2020-02-27 19:07:52] cmb@php.net > Unfortunately I can only set PKG_CONFIG_PATH once, […] Indeed, but the variable has the same format as PATH, i.e. it supports a colon delimited list of paths. And of course, this needs to be documented in the PHP manual proper (not only in the migration guide[1]). [1] <https://www.php.net/manual/en/migration74.other-changes.php#migration74.other-changes.pkg-config> ------------------------------------------------------------------------ [2020-02-27 18:20:28] fred5 at originsystems dot co dot za thank you. The --with-curl issue is resolved by applying your recommendation however it appears that a number of switches are now "broken" in 7.4 --with-icu-dir, --enable-libxml, --enable-wddx, --enable-hash, --enable-curl, --with-gd, --with-jpeg-dir, --with-webp-dir, --with-freetype-dir, --with-libxml-dir, --enable-zip, --with-libzip, --with-pcre-regex, --with-pcre-dir Unfortunately I can only set PKG_CONFIG_PATH once, which means that I then cant sort out ICU or any of the other compiled locations. So it seems to me that a more workable approach in my scenario would be to use CURL_CFLAGS and CURL_LIBS instead of PKG_CONFIG_PATH. Then I could use ICU_CFLAGS and ICU_LIBS for ICU and so on for all the other switches for which I need to set library location. With this in mind I would greatly appreciate it if you could let me know what i would need to set CURL_CFLAGS and CURL_LIBS to. (from what you tell me I will then work out what to set all the others to as I'm assuming the same conceptual approach would apply) thanks again! ------------------------------------------------------------------------ [2020-02-27 16:05:04] cmb@php.net First, find the location of libcurl.pc; then set PKG_CONFIG_PATH to the directory of that file. E.g. if curl is installed in opt/curl/, libcurl.pc is likely in opt/curl/lib/pkgconfig/, so do PKG_CONFIG_PATH=/opt/curl/lib/pkgconfig/ ./configure … ------------------------------------------------------------------------ [2020-02-27 15:52:17] fred5 at originsystems dot co dot za updating the title to hopefully be more meaningful. ------------------------------------------------------------------------ [2020-02-27 15:48:02] fred5 at originsystems dot co dot za Description: ------------ Up to 7.3.15 supports this PHP compile switch: --with-curl=shared,${BUILD_TARGET_CURL} where ${BUILD_TARGET_CURL} = the folder into which our latest curl compile is located (currently 7.68.0) However 7.4 produces this error: checking for cURL support... yes checking for libcurl >= 7.15.5... no configure: error: Package requirements (libcurl >= 7.15.5) were not met: No package 'libcurl' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables CURL_CFLAGS and CURL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. I'm not sure what is going on but I can't seem to get PKG_CONFIG_PATH / CURL_CFLAGS / CURL_LIBS to have any effect, no matter what I set them to. thanks Test script: --------------- n/a ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=79313&edit=1

« previous php.bugs (#225760) next »