php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #38844 CURL support doesn't compile
Submitted: 2006-09-15 13:27 UTC Modified: 2006-09-15 15:43 UTC
From: wirth at bison-soft dot de Assigned:
Status: Closed Package: Compile Failure
PHP Version: 5.2.0RC4 OS: linux 2.4 (RHEL 3)
Private report: No CVE-ID:
 [2006-09-15 13:27 UTC] wirth at bison-soft dot de
Description:
------------
Compile breaks at linkage stage with

ext/curl/streams.o(.text+0xacf): In function `php_curl_stream_opener':
/usr/src/redhat/BUILD/php-5.2.0RC4/ext/curl/streams.c:448: undefined reference to `curl_easy_strerror'

curl_easy_strerror is introduced in libcurl 7.12.0,
RHEL3 includes only libcurl 7.10.6 and your documentation
states "PHP 5.0.0 requires a libcurl version 7.10.5 or greater".

Please either upgrade your documentation or (preferred)
get rid of curl_easy_strerror which only occurs on one
place (streams.c line 448) which would your users free
from the hassel to upgrade curl especially for a new
php version :-).



Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-09-15 13:44 UTC] tony2001@php.net
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 [2006-09-15 15:35 UTC] wirth at bison-soft dot de
the curl_easy_strerror is gone, but there is also exactly
one occurence of curl_multi_strerror (also introduced in 7.12.0) which leads to another fail. I've commented out
the concerning line 438 in my local source tree and than the build finished proberly.

Btw., do you think it's wise to simply log nothing when the
curl_*_strerror type functions are not available? I think something like

#if HAVE_CURL_EASY_STRERROR
    php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s",    curl_easy_strerror(msg->data.result));
#else
    php_error_docref(NULL TSRMLS_CC, E_WARNING, "There was an error code=%d", msg->data.result);
#endif

would be more convenient for the user, and same for the
curl_multi_strerror line in streams.c (assuming there
is already an HAVE_CURL_MULTI_STRERROR test added):

#if HAVE_CURL_MULTI_STRERROR
    php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", curl_multi_strerror(m));
#else
    php_error_docref(NULL TSRMLS_CC, E_WARNING, "There was an error mcode=%d", m);
#endif
 [2006-09-15 15:43 UTC] tony2001@php.net
Fixed in CVS, thanks.
 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Wed Apr 16 18:01:53 2014 UTC