New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing symbols in php8.0-xml? Causes problem with PECL xmlrpc #1576
Comments
What is your libxml2 version and output of ldd on the extension? |
Asking this?
|
Nah, And package versions of the linked libraries. |
What do you mean by package versions of the linked libraries? How do I get this?
|
Hmm, just a thought (I can't check from mobile) - is there a "priority" line in the |
After changing the priority you'll need to run |
There is no I still have php 7.4 installed as a fallback if php 8 does not work for my software. Should I uninstall it? |
Oh, then why are you reporting it here? Nevertheless, most probably you are loading the xmlrpc extension before loading its dependencies first. BTW there's a package for php8.0-xmlrpc |
I don't understand your close. Why? I just deinstalled php7.4. No change. Same error. Now a new error in the php logfile and my software does now work at all. Went back to the PECL version for now.
|
This is a tracker to track issues with the packages and there's no issue with the packages since you installed the extension from PECL. I can't help you unless you can reproduce the issue on clean installation and not on system where you did X random things. |
It was a clean installation. I just upgraded php 7.4 to 8.0 (including php8.0-xmlrpc) and the problems started around xmlrpc. Nevermind, thanks anyway... |
Both issues are caused by upstream and needs to be fixed there - there's missing expat dependency and maybe even libxmlrpc-epi, so it breaks unless something else pulls libexpat.so.1 into the PHP process. See the difference?
But it has nothing to do with the packaging itself. The PECL xmlrpc extension is broken. |
Ok, thanks again. I'll talk to the maintainer of the PECL xmlrpc. |
ext/xmlrpc does not depend on libexpat; it should be able to use the compat layer over libxml2 provided by ext/xml instead. However, apparently I forgot that system libxmlrpc-epi may be built against libexpat. I guess the solution is that ext/xmlrpc needs to check whether ext/xml provides the respective symbols, if Anyhow, thank you @oerdnj, that was helpful for me. :)
ext/xmlrpc has a bundled libxmlrpc-epi, which uses the ZendMM, and as such heeds |
@cmb69 Umm, maybe this is needed at least on Debian? I am not sure about the other platforms though, it might be just Debian quirk.
|
Thanks, I think you're correct. @remicollet, can you confirm that libxmlrpc-epi i should be used on RHEL/Fedora as well? |
A final comment from my side: A manual build of PECL xmlrpc with |
I'm not sure if this is a bug. I recently upgraded my home automation Raspberry to PHP 8.0.3. For that I also changed the repository to https://packages.sury.org/php. On the Raspberry I use the home automation software Homegear. Using the PHP interface of Homegear, I get errors which have not been there with PHP 7.4.
I tracked it down to xmlrpc, which went to PECL. I am in contact with the maintainer to find a solution to the problem.
The error message when using the Homegear PHP interface is:
php: symbol lookup error: /usr/lib/php/20200930/xmlrpc.so: undefined symbol: XML_ParserCreate
Since /usr/lib/php/20200930/xmlrpc.so does use but not define XML_ParserCreate (nm output below), we expected this to be defined in /usr/lib/php/20200930/xml.so. Actually there are no symbols defined at all there:
Is that a bug causing my problem? Or do I just think in the wrong direction?
I am running on:
With PHP packages installed:
Thanks for any help.
The text was updated successfully, but these errors were encountered: