I needed to bump local curl build version to fix a (php-unrelated) SEGV.  
Currently, I have

        curl -V
                curl 7.67.1-DEV (x86_64-pc-linux-gnu) libcurl/7.67.1-DEV 
OpenSSL/1.1.1d zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 
(+libidn2/2.2.0) libssh2/1.9.0_DEV nghttp2/1.40.0-DEV
                Release-Date: [unreleased]
                Protocols: dict file ftp ftps http https imap imaps pop3 pop3s 
scp sftp smtp smtps tftp
                Features: AsynchDNS brotli HTTP2 HTTPS-proxy IDN IPv6 Largefile 
libz Metalink NTLM NTLM_WB PSL SSL TLS-SRP UnixSockets

Rebuilding my usual PHP7.3/git install,
(add'l note: fwiw, the following issue also occurs with 7.4/git ...)

        cd php7

        git branch -a | grep \*
                * PHP-7.3

        git log | head
                commit 9083e178f656878cab46aee52b555346ef92a768
                Author: Dmitry Stogov <dmi...@zend.com>
                Date:   Tue Nov 12 12:59:50 2019 +0300

                    Fixed wrong constant usage

                commit ea2a125789d2e6cf7416bd706be1ac44df1367e4
                Merge: 4a55794b98 2c9926f156
                Author: Stanislav Malyshev <s...@php.net>
                Date:   Mon Nov 11 23:08:38 2019 -0800

works nicely as usual,

        /usr/local/php7/bin/php -v
                PHP 7.3.13-dev (cli) (built: Nov 14 2019 19:53:24) ( NTS )
                Copyright (c) 1997-2018 The PHP Group
                Zend Engine v3.3.13-dev, Copyright (c) 1998-2018 Zend 
Technologies
                    with Zend OPcache v7.3.13-dev, Copyright (c) 1999-2018, by 
Zend Technologies

But curl extension now fails,

        ext/curl/interface.c:778:25: error: ‘CURLE_OBSOLETE20’ undeclared 
(first use in this function); did you mean ‘CURLE_OBSOLETE50’?
                          778 |  REGISTER_CURL_CONSTANT(CURLE_FTP_WRITE_ERROR);


Before making noise about in @bugs, wanted to check 1st; known issue? 
additional/new config req'd?

Here's more detail

        cd ext/curl

        /usr/local/php7/bin/phpize
                Configuring for:
                PHP Api Version:         20180731
                Zend Module Api No:      20180731
                Zend Extension Api No:   320180731

        ./configure \
        --with-php-config=/usr/local/php7/bin/php-config \
        --with-curl=/usr/local \
        --with-libdir=lib64 \
        --enable-shared --disable-static \
        --with-gnu-ld
                ...
                checking for cURL support... yes, shared
                checking for libcurl.pc... using 
/usr/local/lib64/pkgconfig/libcurl.pc
                checking for cURL 7.15.5 or greater... 7.67.1-DEV
                checking for SSL support in libcurl... yes
                checking how to run the C preprocessor... /usr/bin/cpp-9
                checking for openssl support in libcurl... checking for ANSI C 
header files... yes
                ...
                checking for gnutls support in libcurl... no
                checking for curl_easy_perform in -lcurl... yes
                checking for curl_easy_strerror in -lcurl... yes
                checking for curl_multi_strerror in -lcurl... yes
                ...

, at `make`,

        make V=1
                /bin/sh /usr/local/src/php7-src/ext/curl/libtool --mode=compile 
/usr/bin/gcc-9  -I. -I/usr/local/src/php7-src/ext/curl -DPHP_ATOM_INC 
-I/usr/local/src/php7-src/ext/curl/include 
-I/usr/local/src/php7-src/ext/curl/main -I/usr/local/src/php7-src/ext/curl 
-I/usr/local/php7/include/php -I/usr/local/php7/include/php/main 
-I/usr/local/php7/include/php/TSRM -I/usr/local/php7/include/php/Zend 
-I/usr/local/php7/include/php/ext -I/usr/local/php7/include/php/ext/date/lib 
-I/usr/local/include  -O3 -Wall -fstack-protector-strong -funwind-tables 
-fasynchronous-unwind-tables -fmessage-length=0 -grecord-gcc-switches 
-march=native -mtune=native -D_FORTIFY_SOURCE=2 -DHAVE_CONFIG_H  -O3 -Wall 
-fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables 
-fmessage-length=0 -grecord-gcc-switches -march=native -mtune=native   -c 
/usr/local/src/php7-src/ext/curl/interface.c -o interface.lo
                mkdir .libs
                 /usr/bin/gcc-9 -I. -I/usr/local/src/php7-src/ext/curl 
-DPHP_ATOM_INC -I/usr/local/src/php7-src/ext/curl/include 
-I/usr/local/src/php7-src/ext/curl/main -I/usr/local/src/php7-src/ext/curl 
-I/usr/local/php7/include/php -I/usr/local/php7/include/php/main 
-I/usr/local/php7/include/php/TSRM -I/usr/local/php7/include/php/Zend 
-I/usr/local/php7/include/php/ext -I/usr/local/php7/include/php/ext/date/lib 
-I/usr/local/include -O3 -Wall -fstack-protector-strong -funwind-tables 
-fasynchronous-unwind-tables -fmessage-length=0 -grecord-gcc-switches 
-march=native -mtune=native -D_FORTIFY_SOURCE=2 -DHAVE_CONFIG_H -O3 -Wall 
-fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables 
-fmessage-length=0 -grecord-gcc-switches -march=native -mtune=native -c 
/usr/local/src/php7-src/ext/curl/interface.c  -fPIC -DPIC -o .libs/interface.o
                In file included from 
/usr/local/php7/include/php/main/php.h:468,
                                 from 
/usr/local/src/php7-src/ext/curl/interface.c:25:
                /usr/local/src/php7-src/ext/curl/interface.c: In function 
‘zm_startup_curl’:
                /usr/local/src/php7-src/ext/curl/interface.c:778:25: error: 
‘CURLE_OBSOLETE20’ undeclared (first use in this function); did you mean 
‘CURLE_OBSOLETE50’?
                  778 |  REGISTER_CURL_CONSTANT(CURLE_FTP_WRITE_ERROR);
                      |                         ^~~~~~~~~~~~~~~~~~~~~
                /usr/local/php7/include/php/Zend/zend_constants.h:53:105: note: 
in definition of macro ‘REGISTER_LONG_CONSTANT’
                   53 | #define REGISTER_LONG_CONSTANT(name, lval, flags)  
zend_register_long_constant((name), sizeof(name)-1, (lval), (flags), 
module_number)
                      |                                                         
                                                ^~~~
                /usr/local/src/php7-src/ext/curl/interface.c:778:2: note: in 
expansion of macro ‘REGISTER_CURL_CONSTANT’
                  778 |  REGISTER_CURL_CONSTANT(CURLE_FTP_WRITE_ERROR);
                      |  ^~~~~~~~~~~~~~~~~~~~~~
                /usr/local/src/php7-src/ext/curl/interface.c:778:25: note: each 
undeclared identifier is reported only once for each function it appears in
                  778 |  REGISTER_CURL_CONSTANT(CURLE_FTP_WRITE_ERROR);
                      |                         ^~~~~~~~~~~~~~~~~~~~~
                /usr/local/php7/include/php/Zend/zend_constants.h:53:105: note: 
in definition of macro ‘REGISTER_LONG_CONSTANT’
                   53 | #define REGISTER_LONG_CONSTANT(name, lval, flags)  
zend_register_long_constant((name), sizeof(name)-1, (lval), (flags), 
module_number)
                      |                                                         
                                                ^~~~
                /usr/local/src/php7-src/ext/curl/interface.c:778:2: note: in 
expansion of macro ‘REGISTER_CURL_CONSTANT’
                  778 |  REGISTER_CURL_CONSTANT(CURLE_FTP_WRITE_ERROR);
                      |  ^~~~~~~~~~~~~~~~~~~~~~
                make: *** [Makefile:194: interface.lo] Error 1

noting

        /usr/local/src/php7-src/ext/curl/interface.c
                    ...
                    REGISTER_CURL_CONSTANT(CURLE_FTP_WEIRD_USER_REPLY);
        778         REGISTER_CURL_CONSTANT(CURLE_FTP_WRITE_ERROR);
                    REGISTER_CURL_CONSTANT(CURLE_FUNCTION_NOT_FOUND);
                    ...

checking,

        grep CURLE_OBSOLETE /usr/local/include/curl/curl.h
                  CURLE_OBSOLETE24,              /* 24 - NOT USED */
                  CURLE_OBSOLETE29,              /* 29 - NOT USED */
                  CURLE_OBSOLETE32,              /* 32 - NOT USED */
                  CURLE_OBSOLETE40,              /* 40 - NOT USED */
                  CURLE_OBSOLETE44,              /* 44 - NOT USED */
                  CURLE_OBSOLETE46,              /* 46 - NOT USED */
                  CURLE_OBSOLETE50,              /* 50 - NOT USED */
                  CURLE_OBSOLETE51,              /* 51 - NOT USED */
                  CURLE_OBSOLETE57,              /* 57 - NOT IN USE */
                #define CURLE_OBSOLETE16 CURLE_HTTP2
                #define CURLE_OBSOLETE10 CURLE_FTP_ACCEPT_FAILED
                #define CURLE_OBSOLETE12 CURLE_FTP_ACCEPT_TIMEOUT
                #define CURLE_OBSOLETE CURLE_OBSOLETE50 /* no one should be 
using this! */
                #define CURLE_BAD_PASSWORD_ENTERED CURLE_OBSOLETE46
                #define CURLE_BAD_CALLING_ORDER CURLE_OBSOLETE44
                #define CURLE_FTP_USER_PASSWORD_INCORRECT CURLE_OBSOLETE10
                #define CURLE_FTP_CANT_RECONNECT CURLE_OBSOLETE16
                #define CURLE_FTP_COULDNT_GET_SIZE CURLE_OBSOLETE32
                #define CURLE_FTP_COULDNT_SET_ASCII CURLE_OBSOLETE29
                #define CURLE_FTP_WEIRD_USER_REPLY CURLE_OBSOLETE12
        !       #define CURLE_FTP_WRITE_ERROR CURLE_OBSOLETE20
                #define CURLE_LIBRARY_NOT_FOUND CURLE_OBSOLETE40
                #define CURLE_MALFORMAT_USER CURLE_OBSOLETE24
                #define CURLE_SHARE_IN_USE CURLE_OBSOLETE57

A problem on my end, or a bug with new(er) curl/libcurl 'vs' php ext/curl?

If more info's needed b4 redirecting, or to deal with here, pls let me know.

thx!

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to