On Tue, Apr 12, 2016 at 11:13 AM, Michal Privoznik <mprivozn(a)redhat.com> wrote:
I'm afraid, this will not fly. While preprocessing this code, my
compiler tries to expand RETURN_STRING() macro first (with VIRT_COPY_OPT
still not expanded). Therefore it finds an argument missing and produces
an compilation error.
What we can do here is create a wrapper over RETURN_STRING, e.g.
VIR_RETURN_STRING() that will behave differently for PHP7 and the rest.
Unfortunately, this is where I have to stop the review as it's getting
hairy and I gotta run. Sorry.
Michal
Unfortunately, I cannot reproduce your problem. On my CentOS 7.2
system, I built, installed, and tested using gcc-4.8.5-4.el7 with
libvirt-1.2.17-13.el7_2.4 and its associated devel package. I've
compiled it as a PHP 5.4 module (using the default PHP), as a PHP 5.6
module (using Remi's SCL for PHP 5.6), and as a PHP 7.0 module (using
Remi's SCL for PHP 7.0). It worked properly with both build systems,
and all 17 tests passed with the `make test` run on the newer build
system.
For reference on my CentOS 7.2 system, I'm using the following:
* gcc-4.8.5-4.el7
* libvirt-daemon-1.2.17-13.el7_2.4
* libvirt-devel-1.2.17-13.el7_2.4
* xz-devel-5.1.2-12alpha.el7
* libxml2-devel-2.9.1-6.el7_2.2
* libxslt-1.1.28-5.el7
* xhtml1-dtds-1.0-20020801.11.el7
Here are the PHP packages I have installed:
* php-cli-5.4.16-36.el7_1
* php-common-5.4.16-36.el7_1
* php-devel-5.4.16-36.el7_1
* php56-runtime-2.1-5.el7.remi
* php56-php-cli-5.6.20-1.el7.remi
* php56-php-pecl-jsonc-1.3.9-1.el7.remi
* php56-php-pecl-zip-1.13.2-1.el7.remi
* php56-php-pecl-jsonc-devel-1.3.9-1.el7.remi
* php56-php-common-5.6.20-1.el7.remi
* php56-php-devel-5.6.20-1.el7.remi
* php70-runtime-1.0-4.el7.remi
* php70-php-json-7.0.5-1.el7.remi
* php70-php-cli-7.0.5-1.el7.remi
* php70-php-common-7.0.5-1.el7.remi
* php70-php-devel-7.0.5-1.el7.remi
For kicks, I tested on Fedora 23 with the latest system libvirt and
php 5.6 packages available, and everything seems to work as expected.
Here are the packages on my Fedora system:
* gcc-5.3.1-2.fc23
* libvirt-daemon-1.2.18.2-3.fc23
* libvirt-devel-1.2.18.2-3.fc23
* xz-devel-5.2.1-3.fc23
* libxml2-devel-2.9.3-2.fc23
* libxslt-1.1.28-11.fc23
* xhtml1-dtds-1.0-20020801.13.fc23
Here are the PHP packages on my Fedora system:
* php-cli-5.6.20-1.fc23
* php-common-5.6.20-1.fc23
* php-pecl-jsonc-1.3.9-1.fc23
* php-pecl-jsonc-devel-1.3.9-1.fc23
* php-devel-5.6.20-1.fc23
Obviously there's some kind of mismatch in my environment and yours
that is causing problems. Could you please tell me what your
environment is and what you're using so that I can see if I can
reproduce the issue?
--
真実はいつも一つ!/ Always, there's only one truth!