Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1350620 - redland-bindings: FTBFS in rawhide: 'rsrc' undeclared
Summary: redland-bindings: FTBFS in rawhide: 'rsrc' undeclared
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: redland-bindings
Version: 25
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Petr Pisar
QA Contact: Fedora Extras Quality Assurance
URL: http://bugs.librdf.org/mantis/view.ph...
Whiteboard:
: 1424251 (view as bug list)
Depends On: 1356985
Blocks: F26FTBFS
TreeView+ depends on / blocked
 
Reported: 2016-06-27 21:45 UTC by Shawn Iwinski
Modified: 2017-06-26 08:18 UTC (History)
4 users (show)

Fixed In Version: redland-bindings-1.0.16.1-20.fc27 redland-bindings-1.0.16.1-19.fc26 redland-bindings-1.0.16.1-18.fc25
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-06-19 14:34:33 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Shawn Iwinski 2016-06-27 21:45:38 UTC
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

Comment 1 Jan Kurik 2016-07-26 05:08:22 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 25 development cycle.
Changing version to '25'.

Comment 2 Petr Pisar 2016-10-05 14:17:34 UTC
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.

Comment 3 Jitka Plesnikova 2016-10-12 15:23:40 UTC
swig doesn't support php7 yet.

Comment 4 Shawn Iwinski 2016-10-14 19:30:25 UTC
Note: Removed blocked bug 1350621 as I removed the redland dependency from php-EasyRdf

Comment 5 Petr Pisar 2017-06-13 12:31:25 UTC
*** Bug 1424251 has been marked as a duplicate of this bug. ***

Comment 6 Petr Pisar 2017-06-13 12:49:45 UTC
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.

Comment 7 Petr Pisar 2017-06-13 16:26:44 UTC
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>.

Comment 8 Petr Pisar 2017-06-14 05:34:01 UTC
I patched the code and submitted it to upstream in <http://bugs.librdf.org/mantis/view.php?id=622>.

Comment 9 Fedora Update System 2017-06-14 05:38:41 UTC
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

Comment 10 Fedora Update System 2017-06-14 05:44:16 UTC
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

Comment 11 Fedora Update System 2017-06-15 10:57:56 UTC
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

Comment 12 Fedora Update System 2017-06-15 13:58:42 UTC
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

Comment 13 Fedora Update System 2017-06-19 14:34:33 UTC
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.

Comment 14 Fedora Update System 2017-06-23 01:56:23 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.