# Error xsl.so (lang/php53 -> lang/php56 issues)



## wahyu (Nov 10, 2015)

Hi after I upgrade my lang/php53 to lang/php56 I got error message from /var/log/php_error.log

```
[07-Nov-2015 05:01:00 Asia/Jakarta] PHP Warning:  Module 'gd' already loaded in Unknown on line 0
[10-Nov-2015 05:01:00 Asia/Jakarta] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20131226/xsl.so' - /usr/local/lib/php/20131226/xsl.so: Undefined symbol "dom_node_class_entry" in Unknown on line 0
```
Can anyone help me ?


----------



## junovitch@ (Nov 11, 2015)

It looks like the update may be incomplete.  Can you post `pkg info -x php` for reference?  Does `pkg check -Bd` show any shared library or dependency issues?


----------



## wahyu (Nov 11, 2015)

Thanks for your advice there is some missing dependency after upgrade my PHP
this is result of `pkg info -x php`

```
mod_php56-5.6.14
php-composer-1.0.0.a8.20140419
php5-session-5.4.45
php53-extensions-1.6
php53-simplexml-5.3.28
php53-sqlite-5.3.28
php53-xml-5.3.28
php53-xmlreader-5.3.28
php53-xmlwriter-5.3.28
php56-5.6.14
php56-bz2-5.6.14
php56-ctype-5.6.14
php56-curl-5.6.14
php56-dom-5.6.14
php56-extensions-1.0
php56-filter-5.6.14
php56-ftp-5.6.14
php56-gd-5.6.14
php56-hash-5.6.14
php56-iconv-5.6.14
php56-imap-5.6.14
php56-json-5.6.14
php56-mbstring-5.6.14
php56-mcrypt-5.6.14
php56-mysql-5.6.14
php56-mysqli-5.6.14
php56-opcache-5.6.14
php56-openssl-5.6.14
php56-pdo-5.6.14
php56-pdo_mysql-5.6.14
php56-pdo_sqlite-5.6.14
php56-phar-5.6.14
php56-posix-5.6.14
php56-snmp-5.6.14
php56-sockets-5.6.14
php56-sqlite3-5.6.14
php56-tokenizer-5.6.14
php56-zip-5.6.14
php56-zlib-5.6.14
```

And this is `pkg check -Bd`

```
>>> Summary of actions performed:

perl5.14 dependency failed to be fixed
php53 dependency failed to be fixed
php53-session dependency failed to be fixed
docbook-sk dependency failed to be fixed
php53-dom dependency failed to be fixed
php53-ctype dependency failed to be fixed
php53-zlib dependency failed to be fixed
php53-phar dependency failed to be fixed
php53-hash dependency failed to be fixed
php53-openssl dependency failed to be fixed
php53-curl dependency failed to be fixed
php53-posix dependency failed to be fixed
php53-filter dependency failed to be fixed
php53-snmp dependency failed to be fixed
php53-mysqli dependency failed to be fixed
php53-tokenizer dependency failed to be fixed
php53-sockets dependency failed to be fixed
php53-imap dependency failed to be fixed
php53-ftp dependency failed to be fixed
php53-iconv dependency failed to be fixed
php53-mysql dependency failed to be fixed
php53-mcrypt dependency failed to be fixed
php53-mbstring dependency failed to be fixed
php53-json dependency failed to be fixed
php53-pdo dependency failed to be fixed
php53-bz2 dependency failed to be fixed
php53-pdo_mysql dependency failed to be fixed
php53-pdo_sqlite dependency failed to be fixed
php53-zip dependency failed to be fixed
php53-sqlite3 dependency failed to be fixed
php53-gd dependency failed to be fixed

>>> There are still missing dependencies.
>>> You are advised to try fixing them manually.
```

So should I update all library to PHP56? Or reinstall missing directory with same version?


----------



## junovitch@ (Nov 11, 2015)

Yes.  All PHP should be version 5.6.  Follow the commands in the 20150220 UPDATING entry (`less -p 20150220 /usr/ports/UPDATING`).

Then remove the php53 variants.
`pkg delete -x php53`

Then install the PHP 5.6 variants of those packages.

Given the version of Perl listed, I will also say do just `pkg upgrade`.  Selectively updating packages is not supported so just installing or upgrading PHP will potentially leave dependencies in a bad state.


----------



## SirDice (Nov 11, 2015)

Interesting, Perl 5.14 was removed from the ports tree almost a year ago. The default Perl version changed from 5.14 to 5.16 more than 2 years ago, the current default is 5.20. That makes me wonder what else is still running on old, deprecated, versions. As junovitch@ said, update everything.

https://svnweb.freebsd.org/ports?view=revision&revision=331361


----------



## wahyu (Nov 12, 2015)

tThanks for your suggestion, it has solved dependency problem but iI still have problem with perl:

```
Checking all packages: 100%
gio-fam-backend has a missing dependency: perl5.14

>>> Missing package dependencies were detected.
>>> Found 1 issue(s) in the package database.

pkg: No packages available to install matching 'perl5.14' have been found in the repositories
>>> Summary of actions performed:

perl5.14 dependency failed to be fixed

>>> There are still missing dependencies.
>>> You are advised to try fixing them manually.

>>> Also make sure to check 'pkg updating' for known issues.
```


----------



## junovitch@ (Nov 13, 2015)

`pkg delete -f perl5.14` (don't delete dependencies) then `pkg upgrade`.  I don't have a system this far behind to validate that for sure but I believe without the old Perl 5.14 that no longer exists as a port, the `pkg upgrade` step should resolve the latest Perl 5.20 as the correct dependency for the packages being updated.


----------



## wahyu (Nov 19, 2015)

I was doing what you suggest but still there are errors

```
pkg: fstat() failed for(/usr/local/lib/python2.7/xml/__init__.py): No such file or directory
pkg: fstat() failed for(/usr/local/lib/python2.7/xml/dom/NodeFilter.py): No such file or directory
pkg: fstat() failed for(/usr/local/lib/python2.7/xml/dom/__init__.py): No such file or directory
pkg: fstat() failed for(/usr/local/lib/python2.7/xml/dom/domreg.py): No such file or directory
pkg: fstat() failed for(/usr/local/lib/python2.7/xml/dom/expatbuilder.py): No such file or directory
pkg: fstat() failed for(/usr/local/lib/python2.7/xml/dom/minicompat.py): No such file or directory
pkg: fstat() failed for(/usr/local/lib/python2.7/xml/dom/pulldom.py): No such file or directory
pkg: fstat() failed for(/usr/local/lib/python2.7/xml/dom/xmlbuilder.py): No such file or directory
pkg: fstat() failed for(/usr/local/lib/python2.7/xml/etree/ElementPath.py): No such file or directory
pkg: fstat() failed for(/usr/local/lib/python2.7/xml/etree/__init__.py): No such file or directory
pkg: fstat() failed for(/usr/local/lib/python2.7/xml/etree/cElementTree.py): No such file or directory
pkg: fstat() failed for(/usr/local/lib/python2.7/xml/parsers/__init__.py): No such file or directory
pkg: fstat() failed for(/usr/local/lib/python2.7/xml/parsers/expat.py): No such file or directory
pkg: fstat() failed for(/usr/local/lib/python2.7/xml/sax/__init__.py): No such file or directory
pkg: fstat() failed for(/usr/local/lib/python2.7/xml/sax/handler.py): No such file or directory
pkg: fstat() failed for(/usr/local/lib/python2.7/xmllib.py): No such file or directory
Checking all packages: 100%
gio-fam-backend has a missing dependency: perl5.14

>>> Missing package dependencies were detected.
>>> Found 1 issue(s) in the package database.

pkg: No packages available to install matching 'perl5.14' have been found in the repositories
>>> Summary of actions performed:

perl5.14 dependency failed to be fixed

>>> There are still missing dependencies.
>>> You are advised to try fixing them manually.

>>> Also make sure to check 'pkg updating' for known issues.
```

and error at /var/log/php-error.log still not gone

```
[14-Nov-2015 05:01:00 Asia/Jakarta] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20131226/xsl.so' - /usr/local/lib/php/20131226/xsl.so: Undefined symbol "dom_node_class_entry" in Unknown on line 0
[14-Nov-2015 05:01:00 Asia/Jakarta] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20131226/mcrypt.so' - Shared object "libmcrypt.so.8" not found, required by "mcrypt.so" in Unknown on line 0
[14-Nov-2015 05:01:00 Asia/Jakarta] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20131226/pdo_sqlite.so' - Shared object "libsqlite3.so.8" not found, required by "pdo_sqlite.so" in Unknown on line 0
[14-Nov-2015 05:01:00 Asia/Jakarta] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20131226/sqlite3.so' - Shared object "libsqlite3.so.8" not found, required by "sqlite3.so" in Unknown on line 0
[17-Nov-2015 05:01:00 Asia/Jakarta] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20131226/xsl.so' - /usr/local/lib/php/20131226/xsl.so: Undefined symbol "dom_node_class_entry" in Unknown on line 0
[17-Nov-2015 05:01:00 Asia/Jakarta] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20131226/mcrypt.so' - Shared object "libmcrypt.so.8" not found, required by "mcrypt.so" in Unknown on line 0
[17-Nov-2015 05:01:00 Asia/Jakarta] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20131226/pdo_sqlite.so' - Shared object "libsqlite3.so.8" not found, required by "pdo_sqlite.so" in Unknown on line 0
[17-Nov-2015 05:01:00 Asia/Jakarta] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20131226/sqlite3.so' - Shared object "libsqlite3.so.8" not found, required by "sqlite3.so" in Unknown on line 0
```


----------



## Tsuroerusu (Oct 17, 2016)

I am seeing this problem with FreeBSD 11.0-RELEASE (at this point almost a year after this thread was last active) of not being able to load xsl.so with PHP 5.6.26. Latest packages installed on a fresh, non-upgraded install. Does anybody know what is causing this? Also, are the PHP ports maintainers aware of this?



```
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20131226/xsl.so' - /usr/local/lib/php/20131226/xsl.so: Undefined symbol "dom_node_class_entry" in Unknown on line 0
```


----------

