You are not logged in.

#1 2008-08-19 18:18:46

pheon
Member
From: Berlin, Germany
Registered: 2008-05-14
Posts: 91

Symlinking of libraries in general?

Hello,
this is not based on an acutal problem, I seek guidance on that topic in general.
Let's assume program foo is built against library libbar-x.y. You upgrade (for whatever reason) library libbar-x.y to library libbar-x.z. Now the "dependency" is broken hence program foo is unable to run, until it is upgraded to a version built against library libbar-x.z.

Many people link the libraries (ln -s libbar-x.z libbar-x.y) to "hotfix" the problem (until the new version of foo is available).
I know, that there is no guarantor that this will work as it depends highly on the changes made to the library. However sometimes it "just works".
Actually I've done this myself a few times and afterwards deleted the symlink.

But...

Given that the library has influence on the acutal result of a program, it comes to my mind that there might be a chance that something goes terribly wrong while running this program.
In most of this cases, the program would just crash and that's it.
But let's assume, the program runs superficially as intendend and does not produce errors like hell, the result of the programm (a file, datastream or whatever) is some kind of corrupted.

So,,,,the corrupted data could cause serious damage to the entire system (especially if those data are used from other programs... some kind of error propagation).

Therefore my question:

What libs should never ever be symlinked (in that way)?

Do have essential parts of the system (glibc, kernel, filesystem related stuff and so on) some kind of protection against this potential cause of failure? (If this is possible at all)

Is jaunty symlinking really like playing with fire or am I just too worried?


Hope someone has wise words on that wink

Best regards

Last edited by pheon (2008-08-19 18:24:42)


watching someone else use your computer is like watching a drunk orangutan solve a rubix cube

Offline

#2 2008-08-19 18:34:43

brebs
Member
Registered: 2007-04-03
Posts: 3,742

Re: Symlinking of libraries in general?

pheon wrote:

What libs should never ever be symlinked (in that way)?

ALL of them. Recompile instead.

Offline

#3 2008-08-19 23:55:34

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,498
Website

Re: Symlinking of libraries in general?

brebs wrote:
pheon wrote:

What libs should never ever be symlinked (in that way)?

ALL of them. Recompile instead.

+7314589.  Symlinking libraries is the #1 worst advise I see on the forums.

Offline

#4 2008-08-20 08:47:30

oliwer
Member
From: Paris
Registered: 2007-06-30
Posts: 153
Website

Re: Symlinking of libraries in general?

That kind of problem often happens with proprietary apps that you can't recompile. So symlinking (or even funnier: renaming) is the only way.

Offline

#5 2008-08-20 08:56:23

k2t0f12d
Member
Registered: 2008-02-17
Posts: 31

Re: Symlinking of libraries in general?

oliwer wrote:

That kind of problem often happens with proprietary apps that you can't recompile. So symlinking (or even funnier: renaming) is the only way.

Stop using non-free software.  roll

Offline

#6 2008-08-20 09:59:36

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,498
Website

Re: Symlinking of libraries in general?

oliwer wrote:

That kind of problem often happens with proprietary apps that you can't recompile. So symlinking (or even funnier: renaming) is the only way.

It is not the only way...  build the library version you need and install it along side the current version in the Arch repos.  You will need to removing lots of conflicting files but it can be done fairly easily in most cases.

Offline

Board footer

Powered by FluxBB