Edit report at https://bugs.php.net/bug.php?id=77463&edit=1
ID: 77463
User updated by: office at vargapeter dot net
Reported by: office at vargapeter dot net
Summary: gcc warning & PHP doesn't start using own openssl &
curl
Status: Open
Type: Bug
Package: Compile Warning
Operating System: SLES 12.4
PHP Version: 7.2.14
Block user comment: N
Private report: N
New Comment:
This maybe an important information:
SLES 12.4 distribution openssl version is "OpenSSL 1.0.2p-fips 14 Aug 2018"
Compiling CURL with "OpenSSL 1.1.0h 27 Mar 2018" causes PHP to crash because it differs
from the distribution.
Previous Comments:
------------------------------------------------------------------------
[2019-02-19 23:36:26] office at vargapeter dot net
The error when I run httpd -X from gdb:
httpd: Syntax error on line 233 of /etc/apache2/httpd.conf: Cannot load
/usr/local/libexec/mod_dav_svn.so into server: /usr/local/libexec/mod_dav_svn.so: undefined symbol:
dav_do_find_liveprop
-------------
Very strange:
-------------
When I DISABLE the PHP7 module then Apache starts!
I can access without any problem the SVN features in the browser.
Enabling PHP7 --> I get the above error message.
+++++++++++++++++++++++++++++++++++++++++++++++++
I am using the subversion 1.11.0 downloaded from the Apache site https://subversion.apache.org/download.cgi
However, it looks like something in libphp7.so prevents mod_dav_svn.so from loading and then it
complains regarding the undefined symbol dav_do_find_liveprop.
Maybe this has something to do with this problem:
In PHP 7.2.13 I see while installation this:
libtool --mode=install install libphp7.la /usr/lib64/apache2-prefork/
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Suddenly, even nothing changed in the configuration string [I am using a script] this changed to:
libtool --mode=install install libphp7.la /usr/lib64/apache2/
^^^^^^^^^^^^^^^^^^^
So, first, I had to set a symbolic link to the new location of libphp7.la in order Apache does find
it. But with this new location the mod_dav_svn.so problems started.
For each PHP version I use --with-apxs2=/usr/bin/apxs2-prefork
Any idea? I have this problems since I am using the personalized curl and openssl. I had to do this
because I upgraded to SLES 12.4 and while the upgrade process the distribution curl developer
version was removed and THEREFORE I am forced to used my own versions.
***************
I could fix it:
***************
When I compile a separated CURL [7.63.0] version USING the distribution openssl version into a
DIFFERENT directory and use this [e.q. --with-curl=/php-curl-version] then IT WORKS and the above
libtool commands are using the correct paths [e.q. /usr/lib64/apache2-prefork/].
....................................................................
Guys, can it be you have a bug in the above described constellation?
....................................................................
------------------------------------------------------------------------
[2019-01-18 14:57:42] cmb@php.net
See <https://bugs.php.net/bugs-generating-backtrace.php>.
------------------------------------------------------------------------
[2019-01-18 11:56:25] office at vargapeter dot net
How can I get it?
In the Apache log file is nothing. The Apache process just doesn't start. Please provide
instruction how I can post here the stack trace.
Compiling it with the old distribution versions of curl and openssl works fine.
------------------------------------------------------------------------
[2019-01-18 11:25:28] nikic@php.net
Would it be possible to provide a stack trace for the crash?
------------------------------------------------------------------------
[2019-01-15 14:15:40] office at vargapeter dot net
Description:
------------
Compiling PHP 7.2.14 with gcc 8.2.0 produces lot of warnings when using openssl 1.1.0h and curl
7.63.0 which differ from the SLES 12.4 distribution versions and have been compiled into a separate
directories.
I provide the path to the personalized curl and openssl versions to the ./configure script using
--with-openssl=/FaF/openssl
--with-curl=/FaF/curl
Also then, once PHP compiles and installs it cannot be started.
No error messages are logged in the Apache log file but Apache apparently crashes.
I set also the relative path to the personalized openssl and curl libraries for the linker using:
LDFLAGS="-Wl,--rpath=/FaF/openssl/lib -Wl,--rpath=/FaF/curl/lib" ./configure
my-configuration
Using the distribution versions of openssl & curl work.
May be a problem when loading the personalized libraries?
Expected result:
----------------
No warnings and crash when starting the compiled PHP version.
Actual result:
--------------
/builds/php-7.2.14/ext/openssl/xp_ssl.c:965:3: warning: âTLSv1_client_methodâ is
deprecated [-Wdeprecated-declarations]
return is_client ? TLSv1_client_method() : TLSv1_server_method();
^~~~~~
In file included from /FaF/openssl/include/openssl/ct.h:13,
from /FaF/openssl/include/openssl/ssl.h:61,
from /builds/php-7.2.14/ext/openssl/xp_ssl.c:34:
/FaF/openssl/include/openssl/ssl.h:1629:45: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_client_method(void)) /* TLSv1.0 */
^~~~~~~~~~~~~~~~~~~
/FaF/openssl/include/openssl/opensslconf.h:99:35: note: in definition of macro
âDECLARE_DEPRECATEDâ
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
^
/FaF/openssl/include/openssl/ssl.h:1629:1: note: in expansion of macro
âDEPRECATEDIN_1_1_0â
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_client_method(void)) /* TLSv1.0 */
^~~~~~~~~~~~~~~~~~
/builds/php-7.2.14/ext/openssl/xp_ssl.c:965:3: warning: âTLSv1_server_methodâ is
deprecated [-Wdeprecated-declarations]
return is_client ? TLSv1_client_method() : TLSv1_server_method();
^~~~~~
In file included from /FaF/openssl/include/openssl/ct.h:13,
from /FaF/openssl/include/openssl/ssl.h:61,
from /builds/php-7.2.14/ext/openssl/xp_ssl.c:34:
/FaF/openssl/include/openssl/ssl.h:1628:45: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_server_method(void)) /* TLSv1.0 */
^~~~~~~~~~~~~~~~~~~
/FaF/openssl/include/openssl/opensslconf.h:99:35: note: in definition of macro
âDECLARE_DEPRECATEDâ
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
^
/FaF/openssl/include/openssl/ssl.h:1628:1: note: in expansion of macro
âDEPRECATEDIN_1_1_0â
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_server_method(void)) /* TLSv1.0 */
^~~~~~~~~~~~~~~~~~
/builds/php-7.2.14/ext/openssl/xp_ssl.c:968:3: warning: âTLSv1_1_client_methodâ is
deprecated [-Wdeprecated-declarations]
return is_client ? TLSv1_1_client_method() : TLSv1_1_server_method();
^~~~~~
In file included from /FaF/openssl/include/openssl/ct.h:13,
from /FaF/openssl/include/openssl/ssl.h:61,
from /builds/php-7.2.14/ext/openssl/xp_ssl.c:34:
/FaF/openssl/include/openssl/ssl.h:1635:45: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_client_method(void)) /* TLSv1.1 */
^~~~~~~~~~~~~~~~~~~~~
/FaF/openssl/include/openssl/opensslconf.h:99:35: note: in definition of macro
âDECLARE_DEPRECATEDâ
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
^
/FaF/openssl/include/openssl/ssl.h:1635:1: note: in expansion of macro
âDEPRECATEDIN_1_1_0â
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_client_method(void)) /* TLSv1.1 */
^~~~~~~~~~~~~~~~~~
/builds/php-7.2.14/ext/openssl/xp_ssl.c:968:3: warning: âTLSv1_1_server_methodâ is
deprecated [-Wdeprecated-declarations]
return is_client ? TLSv1_1_client_method() : TLSv1_1_server_method();
^~~~~~
In file included from /FaF/openssl/include/openssl/ct.h:13,
from /FaF/openssl/include/openssl/ssl.h:61,
from /builds/php-7.2.14/ext/openssl/xp_ssl.c:34:
/FaF/openssl/include/openssl/ssl.h:1634:45: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_server_method(void)) /* TLSv1.1 */
^~~~~~~~~~~~~~~~~~~~~
/FaF/openssl/include/openssl/opensslconf.h:99:35: note: in definition of macro
âDECLARE_DEPRECATEDâ
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
^
/FaF/openssl/include/openssl/ssl.h:1634:1: note: in expansion of macro
âDEPRECATEDIN_1_1_0â
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_server_method(void)) /* TLSv1.1 */
^~~~~~~~~~~~~~~~~~
/builds/php-7.2.14/ext/openssl/xp_ssl.c:976:3: warning: âTLSv1_2_client_methodâ is
deprecated [-Wdeprecated-declarations]
return is_client ? TLSv1_2_client_method() : TLSv1_2_server_method();
^~~~~~
In file included from /FaF/openssl/include/openssl/ct.h:13,
from /FaF/openssl/include/openssl/ssl.h:61,
from /builds/php-7.2.14/ext/openssl/xp_ssl.c:34:
/FaF/openssl/include/openssl/ssl.h:1641:45: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_client_method(void)) /* TLSv1.2 */
^~~~~~~~~~~~~~~~~~~~~
/FaF/openssl/include/openssl/opensslconf.h:99:35: note: in definition of macro
âDECLARE_DEPRECATEDâ
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
^
/FaF/openssl/include/openssl/ssl.h:1641:1: note: in expansion of macro
âDEPRECATEDIN_1_1_0â
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_client_method(void)) /* TLSv1.2 */
^~~~~~~~~~~~~~~~~~
/builds/php-7.2.14/ext/openssl/xp_ssl.c:976:3: warning: âTLSv1_2_server_methodâ is
deprecated [-Wdeprecated-declarations]
return is_client ? TLSv1_2_client_method() : TLSv1_2_server_method();
^~~~~~
In file included from /FaF/openssl/include/openssl/ct.h:13,
from /FaF/openssl/include/openssl/ssl.h:61,
from /builds/php-7.2.14/ext/openssl/xp_ssl.c:34:
/FaF/openssl/include/openssl/ssl.h:1640:45: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_server_method(void)) /* TLSv1.2 */
^~~~~~~~~~~~~~~~~~~~~
/FaF/openssl/include/openssl/opensslconf.h:99:35: note: in definition of macro
âDECLARE_DEPRECATEDâ
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
^
/FaF/openssl/include/openssl/ssl.h:1640:1: note: in expansion of macro
âDEPRECATEDIN_1_1_0â
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_server_method(void)) /* TLSv1.2 */
^~~~~~~~~~~~~~~~~~
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=77463&edit=1