Bug #79313 [Asn]: --with-curl switch behaviour change in PHP 7.4
| From: | cmb@php.net | Date: | Thu, 27 Feb 2020 19:07:52 +0000 |
| Subject: | Bug #79313 [Asn]: --with-curl switch behaviour change in PHP 7.4 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-225759@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
Updated by: cmb@php.net
Reported by: fred5 at originsystems dot co dot za
Summary: --with-curl switch behaviour change in PHP 7.4
Status: Assigned
Type: Bug
Package: Compile Failure
Operating System: RHEL 7
PHP Version: 7.4.3
Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
> 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>
Previous Comments:
------------------------------------------------------------------------
[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