You are not logged in.

#1 2019-07-09 06:06:32

chrisdb
Member
From: Belgium
Registered: 2018-05-16
Posts: 155

How does arch handle multiple versions of a lib

Hi,

I was wondering how arch handles packages which require multiple versions of the same library. Like f.e. package one requires aLib version 1, but package two requires version 2 of aLib.

I know arch tries to keep all packages up-to-date, but not every app is so frequently updated.

Are these compiled with specific path parameters, or is there some other magic playing?

Thx


Failure is success in progress.
A.E.

Offline

#2 2019-07-09 06:08:51

Scimmia
Fellow
Registered: 2012-09-01
Posts: 13,729

Re: How does arch handle multiple versions of a lib

Everything is rebuilt against the new lib and the old one goes away.

Offline

#3 2019-07-09 06:15:33

chrisdb
Member
From: Belgium
Registered: 2018-05-16
Posts: 155

Re: How does arch handle multiple versions of a lib

Scimmia wrote:

Everything is rebuilt against the new lib and the old one goes away.

So an app which requires an older version of a lib, is rebuilt with the new one? What does this mean, do you change the source code then to use the new version?


Failure is success in progress.
A.E.

Offline

#4 2019-07-09 06:54:40

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,494

Re: How does arch handle multiple versions of a lib

an app which requires an older version of a lib

What do you mean by "requires"?

Typical breaks are ABI ones, ie. recompling/linking does the job. If the lib is API incompatible it will come in different major versions and you have to install and explicitly link both.
If it's a binary only executable, you'll have to eg. run a script to ensure to LD_PRELOAD the required (typically local) shared object.

Please reveal your specific concern/case rather than asking a generic question about "what does one do if things don't match" - there's a gazillion ways for mismatches (or to deal w/ them, eg. with versioned symbols)

Offline

Board footer

Powered by FluxBB