You are not logged in.

#1 2020-03-21 14:03:08

NickTouik
Member
Registered: 2014-01-15
Posts: 19

How to make a package use a legacy version of a package (pango-legacy)

I'm trying to get mblock running on my system: https://aur.archlinux.org/packages/mblock/

Installing goes okay, but when running the program I get the following error:

(mblock:49137): Pango-ERROR **: 10:58:27.136: Harfbuzz version too old (1.2.7)

which is due to a newer edition of pango. I verified that downgrading the version of pango resolved the problem, but of course doing so broke a whole bunch of other stuff.

There is a package called pango-legacy: https://aur.archlinux.org/packages/pango-legacy/ which is at a version where there is no such problem. It also installs alongside the normal pango package.

My question is: how can I make mblock use the pango-legacy instead of pango?

p.s. By the way this is to keep my children (and myself) entertained and educated during the self-imposed quarantine.

Last edited by NickTouik (2020-03-21 14:06:06)

Offline

#2 2020-03-21 14:11:00

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 30,522
Website

Re: How to make a package use a legacy version of a package (pango-legacy)

Ideally, you should build the mblock package from source to link to the proper version of pango.  But the package you pointed to is a precompiled binary (but not properly named as such).

If you don't want to build from source, you could most likely do an LD_PRELOAD hack to load the pango from /opt/.


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

#3 2020-03-21 15:32:29

NickTouik
Member
Registered: 2014-01-15
Posts: 19

Re: How to make a package use a legacy version of a package (pango-legacy)

Right, that's the sort of the fix I had in mind: I'm not building from source. Is this like setting some shell variable and then running the program, or putting some lines in  a PKGBUILD file?

Could you provide me with some guidance? Instructions, an example, or a reference to the correct documentation would be great.

Offline

#4 2020-03-21 15:46:31

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 30,522
Website

Re: How to make a package use a legacy version of a package (pango-legacy)


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

#5 2020-03-21 16:59:10

NickTouik
Member
Registered: 2014-01-15
Posts: 19

Re: How to make a package use a legacy version of a package (pango-legacy)

Perfect! I'll report back how it went later today.

Offline

#6 2020-03-22 14:50:31

NickTouik
Member
Registered: 2014-01-15
Posts: 19

Re: How to make a package use a legacy version of a package (pango-legacy)

Unfortunately LD_PRELOAD doesn't work for me as it is used for specific libraries, setting it to /opt/pango-legacy doesn't work.

Finally this worked:

LD_LIBRARY_PATH=/opt/pango-legacy/usr/lib:$LD_LIBRARY_PATH mblock

Which set the library path to the lib subdirectory in the pango-legacy installation directory.

Thanks for the help!

Last edited by NickTouik (2020-03-22 14:51:02)

Offline

Board footer

Powered by FluxBB