Description of problem: Package redland-bindings fails to build from source in rawhide. Version-Release number of selected component (if applicable): 1.0.16.1-16.fc25 Steps to Reproduce: koji build --scratch f25 redland-bindings-1.0.16.1-16.fc25.src.rpm Additional info: This package is tracked by Koschei. See: https://apps.fedoraproject.org/koschei/package/redland-bindings
This bug appears to have been reported against 'rawhide' during the Fedora 25 development cycle. Changing version to '25'.
It fails in build phase: gcc -DHAVE_CONFIG_H -I. -DREDLAND_POST_I -DREDLAND_INIT_I -DREDLAND_DECL_I -DREDLAND_TYPEMAP_I -UHAVE_CONFIG_H -I/usr/include/rasqal -I/usr/include/raptor2 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -DREDLAND_BINDINGS_VERSION=\"1.0.16.1\" -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -I/usr/include/rasqal -I/usr/include/raptor2 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -fPIC -DPIC redland_wrap.c -c -o redland_wrap.o redland_wrap.c: In function 'SWIG_landfill': redland_wrap.c:811:51: error: 'rsrc' undeclared (first use in this function) static ZEND_RSRC_DTOR_FUNC(SWIG_landfill) { (void)rsrc; } ^~~~ A difference between working and failing build root is: php-devel 5.6.23-1.fc25 > 7.0.8-1.fc25 php-cli 5.6.23-1.fc25 > 7.0.8-1.fc25 php-common 5.6.23-1.fc25 > 7.0.8-1.fc25 openssl-libs 1:1.0.2h-1.fc25 > 1:1.0.2h-2.fc25 nss 3.24.0-3.fc25 > 3.25.0-3.fc25 libselinux 2.5-8.fc25 > 2.5-9.fc25 php-json > 7.0.8-1.fc25 php-pecl-jsonc-devel 1.3.10-1.fc25 < php-pecl-jsonc 1.3.10-1.fc25 < libnghttp2 1.11.1-1.fc25 > 1.12.0-1.fc25 nss-tools 3.24.0-3.fc25 > 3.25.0-3.fc25 file-libs 5.28-1.fc25 > 5.28-2.fc25 nss-sysinit 3.24.0-3.fc25 > 3.25.0-3.fc25 file 5.28-1.fc25 > 5.28-2.fc25 This is very probably caused by upgrading PHP.
swig doesn't support php7 yet.
Note: Removed blocked bug 1350621 as I removed the redland dependency from php-EasyRdf
*** Bug 1424251 has been marked as a duplicate of this bug. ***
swig already supports PHP 7, but this package uses pregenerated sources and the build fails with: gcc -DHAVE_CONFIG_H -I. -DREDLAND_POST_I -DREDLAND_INIT_I -DREDLAND_DECL_I -DREDLAND_TYPE MAP_I -UHAVE_CONFIG_H -I/usr/include/raptor2 -I/usr/include/rasqal -I/usr/include/php - I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ ext -I/usr/include/php/ext/date/lib -DREDLAND_BINDINGS_VERSION=\"1.0.16.1\" -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-stron g --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-harden ed-cc1 -m64 -mtune=generic -I/usr/include/raptor2 -I/usr/include/rasqal -O2 -g -pipe -W all -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened -cc1 -m64 -mtune=generic -fPIC -DPIC redland_wrap.c -c -o redland_wrap.o redland_wrap.c:730:3: error: #error These bindings need PHP5 - to generate PHP7 bindings use: swig -php7 # error These bindings need PHP5 - to generate PHP7 bindings use: swig -php7 ^~~~~ I was told that's its impossible to regenerate the sources. If this is true I will try to disable the PHP support in this package.
After patching these two files: --- a/configure.ac +++ b/configure.ac @@ -165,7 +165,9 @@ if test "X$PHP_CONFIG" != X ; then PHP_INCLUDES=`$PHP_CONFIG --includes` PHP_EXTENSION_DIR=`$PHP_CONFIG --extension-dir` - if test $PHP_VERSION '>' 5.0.0; then + if test $PHP_VERSION '>' 7; then + PHP_SWIG="-php7" + elif test $PHP_VERSION '>' 5.0.0; then PHP_SWIG="-php5" else PHP_SWIG="-php4" diff --git a/php/redland-post.i b/php/redland-post.i index 2ab09dd..6b16e0a 100644 --- a/php/redland-post.i +++ b/php/redland-post.i @@ -132,8 +132,11 @@ librdf_php_world_init(void) exception_ce = zend_exception_get_default(); INIT_CLASS_ENTRY(ee_ce, "RedlandException", NULL); redland_exception_ptr = zend_register_internal_class_ex(&ee_ce, - exception_ce, - NULL TSRMLS_CC); + exception_ce +#if PHP_MAJOR_VERSION < 7 + ,NULL TSRMLS_CC +#endif + ); #endif memset(&librdf_php_locator, '\0', sizeof(raptor_locator)); I get tons of these errors: redland_wrap.c: In function ‘_wrap_librdf_world_get_feature’: redland_wrap.c:1700:22: error: invalid type argument of unary ‘*’ (have ‘zval {aka struct _zval_struct}’) if(SWIG_ConvertPtr(*args[1], (void **) &arg2, SWIGTYPE_p_librdf_uri_s, 0) < 0) { ^~~~~~~~ It's probably related to this PHP change <https://nikic.github.io/2015/05/05/Internal-value-representation-in-PHP-7-part-1.html>.
I patched the code and submitted it to upstream in <http://bugs.librdf.org/mantis/view.php?id=622>.
redland-bindings-1.0.16.1-19.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-51d9681974
redland-bindings-1.0.16.1-18.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-d7dd086849
redland-bindings-1.0.16.1-18.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-d7dd086849
redland-bindings-1.0.16.1-19.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-51d9681974
redland-bindings-1.0.16.1-19.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.
redland-bindings-1.0.16.1-18.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.