You are not logged in.

#1 2022-10-29 00:54:37

mdcclxv
Member
Registered: 2022-04-26
Posts: 57

[SOLVED] How can I get old version of icu binaries

Hi there,

I suddenly started getting the following errors when running php73.

PHP Warning:  PHP Startup: Unable to load dynamic library 'xml.so' (tried: /usr/lib/php73/modules/xml.so (libicui18n.so.71: cannot open shared object file: No such file or directory), /usr/lib/php73/modules/xml.so.so (/usr/lib/php73/modules/xml.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'dom.so' (tried: /usr/lib/php73/modules/dom.so (libicui18n.so.71: cannot open shared object file: No such file or directory), /usr/lib/php73/modules/dom.so.so (/usr/lib/php73/modules/dom.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'intl.so' (tried: /usr/lib/php73/modules/intl.so (libicuio.so.71: cannot open shared object file: No such file or directory), /usr/lib/php73/modules/intl.so.so (/usr/lib/php73/modules/intl.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'simplexml.so' (tried: /usr/lib/php73/modules/simplexml.so (libicui18n.so.71: cannot open shared object file: No such file or directory), /usr/lib/php73/modules/simplexml.so.so (/usr/lib/php73/modules/simplexml.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'soap.so' (tried: /usr/lib/php73/modules/soap.so (libicui18n.so.71: cannot open shared object file: No such file or directory), /usr/lib/php73/modules/soap.so.so (/usr/lib/php73/modules/soap.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'wddx.so' (tried: /usr/lib/php73/modules/wddx.so (/usr/lib/php73/modules/wddx.so: undefined symbol: php_XML_SetUserData), /usr/lib/php73/modules/wddx.so.so (/usr/lib/php73/modules/wddx.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'xmlreader.so' (tried: /usr/lib/php73/modules/xmlreader.so (libicui18n.so.71: cannot open shared object file: No such file or directory), /usr/lib/php73/modules/xmlreader.so.so (/usr/lib/php73/modules/xmlreader.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'xmlwriter.so' (tried: /usr/lib/php73/modules/xmlwriter.so (libicui18n.so.71: cannot open shared object file: No such file or directory), /usr/lib/php73/modules/xmlwriter.so.so (/usr/lib/php73/modules/xmlwriter.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'xsl.so' (tried: /usr/lib/php73/modules/xsl.so (/usr/lib/php73/modules/xsl.so: undefined symbol: php_dom_create_object), /usr/lib/php73/modules/xsl.so.so (/usr/lib/php73/modules/xsl.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

After some digging I found out that icu was updated to version 72.1. I tried creating .71 symlinks to the corresponding .72.1 modules, but I'm getting some "undefined symbol" errors, which makes sense given the version difference.

My question is where/how can I get my hands on the .71 version of icu binaries? Ditching php73 for a newer version is not an option, I'm involved in a large legacy project.

Thanks in advance.

Last edited by mdcclxv (2022-10-29 20:08:12)

Offline

#2 2022-10-29 00:57:19

Slithery
Administrator
From: Norfolk, UK
Registered: 2013-12-01
Posts: 5,624

Re: [SOLVED] How can I get old version of icu binaries

You're going about this the wrong way.
As php73 is an AUR package it's your responsibilty to rebuild it against the new version of icu instead of trying to install older versions of the library.

Moving to 'AUR Issues'.


No, it didn't "fix" anything. It just shifted the brokeness one space to the right. - jasonwryan
Closing -- for deletion; Banning -- for muppetry. - jasonwryan

aur - dotfiles

Offline

#3 2022-10-29 10:51:53

mdcclxv
Member
Registered: 2022-04-26
Posts: 57

Re: [SOLVED] How can I get old version of icu binaries

Ok, I get it.

How do I rebuild a specific package with yay? I tried --rebuild which does nothing:

/zork: yay -S --rebuild php73
warning: php73-7.3.33-7 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) php73-7.3.33-7

Total Installed Size:  5.19 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring                                                                               [################################################################] 100%
(1/1) checking package integrity                                                                             [################################################################] 100%
(1/1) loading package files                                                                                  [################################################################] 100%
(1/1) checking for file conflicts                                                                            [################################################################] 100%
(1/1) checking available disk space                                                                          [################################################################] 100%
:: Processing package changes...
(1/1) reinstalling php73                                                                                     [################################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

Other stuff I could find is --rebuildall and --rebuildtree, but as far as I can tell, I definitely don't want that.

Thanks.

Offline

#4 2022-10-29 10:58:24

Slithery
Administrator
From: Norfolk, UK
Registered: 2013-12-01
Posts: 5,624

Re: [SOLVED] How can I get old version of icu binaries

Don't use yay, do it properly using makepkg.

Edit - And get rid of those symlinks, it's a sure fire way to break your system.

Last edited by Slithery (2022-10-29 10:59:44)


No, it didn't "fix" anything. It just shifted the brokeness one space to the right. - jasonwryan
Closing -- for deletion; Banning -- for muppetry. - jasonwryan

aur - dotfiles

Offline

#5 2022-10-29 11:11:03

mdcclxv
Member
Registered: 2022-04-26
Posts: 57

Re: [SOLVED] How can I get old version of icu binaries

Slithery wrote:

Don't use yay, do it properly using makepkg.

Edit - And get rid of those symlinks, it's a sure fire way to break your system.

Oh man, that's opening a can of worms. I tried and this is what I get:

/zork/php73.git/php73[master]: makepkg
==> Making package: php73 7.3.33-7 (Sat 29 Oct 2022 02:06:24 PM EEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Missing dependencies:
  -> patchelf
  -> smtp-forwarder
  -> smtp-forwarder
==> ERROR: Could not resolve all dependencies.
/zork/php73.git/php73[master]: 

And those dependencies will also requires their own dependencies and so on. Isn't there a more streamlined process?
Plus, suppose I manage to build a dependency, how do I point makepkg to it?

Thanks.

Last edited by mdcclxv (2022-10-29 11:27:22)

Offline

#6 2022-10-29 11:31:55

mdcclxv
Member
Registered: 2022-04-26
Posts: 57

Re: [SOLVED] How can I get old version of icu binaries

Nevermind my previous post, it just hit me, I installed the dependencies via yay, it's building right now.

Offline

#7 2022-10-29 12:25:54

Slithery
Administrator
From: Norfolk, UK
Registered: 2013-12-01
Posts: 5,624

Re: [SOLVED] How can I get old version of icu binaries

mdcclxv wrote:
==> Missing dependencies:
  -> patchelf
  -> smtp-forwarder

Both of those dependencies are in the main repos, you just needed to pass the -s flag to makepkg as explained in all of the documentation.
Yay is not your package manager. Please learn the difference between pacman and a crappy AUR helper.


No, it didn't "fix" anything. It just shifted the brokeness one space to the right. - jasonwryan
Closing -- for deletion; Banning -- for muppetry. - jasonwryan

aur - dotfiles

Offline

#8 2022-10-29 20:07:54

mdcclxv
Member
Registered: 2022-04-26
Posts: 57

Re: [SOLVED] How can I get old version of icu binaries

Noted. Thanks for your advice, really helpful. All working now.

Offline

#9 2022-11-03 18:04:48

Rikj000
Member
Registered: 2022-11-03
Posts: 1
Website

Re: [SOLVED] How can I get old version of icu binaries

For others struggling,
I've managed to get it working by simply installing `icu71-bin` from the AUR.

For now you manually have to do some minor alterations to the `PKGBUILD` as described here though:
https://aur.archlinux.org/packages/icu7 … ent-886771
(Basically, change all occurrences of `69` to `71`)

However the maintainer of the `icu71-bin` AUR package is already aware of the issue and mentioned that it will be resolved soon.

Last edited by Rikj000 (2022-11-03 18:06:56)

Offline

#10 2022-11-03 23:26:05

Scimmia
Fellow
Registered: 2012-09-01
Posts: 9,799

Re: [SOLVED] How can I get old version of icu binaries

As was said multiple times in this thread, installing an old ICU is NOT a solution. Rebuilding your non-repo binaries is.

Offline

Board footer

Powered by FluxBB