PDA

View Full Version : Newbie confused about updating



Lister
11th August 2008, 01:51 PM
I am running Fedora 7.

On trying to install VLC I get a missing dependancy on GLIBC_2.8.

I am running GLIBC.2.6.4.

After some searching, it appears that attempting to upgrade my version of GLIBC will pretty much break everything, so I am stuffed.

My questions therefore are:

1) Why is there even a VLC package for Fedora 7 if it depends on c libraries that are not compatible with Fedora 7?

2) It appears people advice against using Fedora as a production enviroment, and suggest CentOS as an example instead. How does this deal with core library issues? I don't see how a longer release cycle fixes the problem of newer core library requirements? I assume upgrading GLIBC will break CentOS just as much as Fedora?

3) Do new software packages tend to link against the latest libraries by default, or only because they actually need the new functionality. ie Is it likely I'd be able to compile vlc myself against GLIBC_2.6? (And if so, why wasn't this done for the Fedora 7 package?)

Sorry for all the questions!

Cheers,
Lister

JN4OldSchool
11th August 2008, 01:58 PM
I am running Fedora 7.

On trying to install VLC I get a missing dependancy on GLIBC_2.8.

I am running GLIBC.2.6.4.

After some searching, it appears that attempting to upgrade my version of GLIBC will pretty much break everything, so I am stuffed.

My questions therefore are:

1) Why is there even a VLC package for Fedora 7 if it depends on c libraries that are not compatible with Fedora 7?

2) It appears people advice against using Fedora as a production enviroment, and suggest CentOS as an example instead. How does this deal with core library issues? I don't see how a longer release cycle fixes the problem of newer core library requirements? I assume upgrading GLIBC will break CentOS just as much as Fedora?

3) Do new software packages tend to link against the latest libraries by default, or only because they actually need the new functionality. ie Is it likely I'd be able to compile vlc myself against GLIBC_2.6? (And if so, why wasn't this done for the Fedora 7 package?)

Sorry for all the questions!

Cheers,
Lister

You answer this very question! HOW are you trying to update? F7 is now EOL! Do you still have a live repo? This is EXACTLY why it is not a good idea to use Fedora as a production environment. Unless your system is already set up and you can compile in the things you will need in the future.

The longer release cycle fixes this issue because these dependencies are brought in via yum. To be Frank (edit: oops, capital "F" :) Or Jeff or Bert...), if I wanted to compile every package myself then I would be using Gentoo at the least, more likely my own spin of LFS. The beauty of Fedora (and most distros) is the package management.

markkuk
11th August 2008, 02:23 PM
1) Why is there even a VLC package for Fedora 7 if it depends on c libraries that are not compatible with Fedora 7?
The package isn't for Fedora 7. Where did you get it?


I assume upgrading GLIBC will break CentOS just as much as Fedora?

Yes, that's why glibc version doesn't change during the release cycle.

Lister
11th August 2008, 02:53 PM
You answer this very question! HOW are you trying to update? F7 is now EOL! Do you still have a live repo? This is EXACTLY why it is not a good idea to use Fedora as a production environment.
OK apologies, I think I boobed. I had a livna development repo enabled which seemed to have been picking up non FC7 stuff, so that answers my first question.


The longer release cycle fixes this issue because these dependencies are brought in via yum.
So if my CentOS install is running GCLIB_2.6, I can upgrade to GCLIB_2.7 simply by doing yum update gclib? And everything just works? :confused:

pete_1967
11th August 2008, 03:09 PM
So if my CentOS install is running GCLIB_2.6, I can upgrade to GCLIB_2.7 simply by doing yum update gclib? And everything just works? :confused:

glibc on CentOS 5.2 is:


RPM Group : System Environment/Libraries
Source : glibc-2.5-24.src.rpm
Build Time : Sat May 24 04:12:28 2008
Install Time : Tue Jul 1 11:18:46 2008
License : LGPL


VLC:


RPM Group : Applications/Multimedia
Source : vlc-0.8.6h-1.el5.rf.src.rpm
Build Time : Mon Jun 9 14:16:12 2008


You can always try to update the default library version yourself but there is no guarantee it'll be successful.

What markkuk and JN4OldSchool are trying to tell you is that there are specific versions of software and libs etc that work together. You either live with them or manually update your versions and solve the dependency problems yourself.


And just to clarify:

The difference between CentOS/ RHEL and Fedora is that CentOS is supported for five (or so) years, so you still get your system updates in 2013 for CentOS 5 whereas support for each Fedora version is only 13 months. So now your Fedora 7 is unsupported and "obsolete" but if you had installed CentOS4, it would still be supported.

The biggest difference between "stable" and "cutting edge" distros is that "stable" ones come with older versions of software than "cutting edge" ones thus they are less prone to problems.

Lister
11th August 2008, 03:40 PM
The difference between CentOS/ RHEL and Fedora is that CentOS is supported for five (or so) years, so you still get your system updates in 2013 for CentOS 5 whereas support for each Fedora version is only 13 months. So now your Fedora 7 is unsupported and "obsolete" but if you had installed CentOS4, it would still be supported.

Sorry if I'm being thick, but I'm still unsure how much "supported" covers.

ie.

I install CentOS and so have package updates for 5 years.

3 years down the line, VLC becomes dependant on a newer version of the c runtime than I have installed.

Since I am still "supported", does that mean that yum will simply update my runtime with the newer version so that VLC can run? What about everything else on my box that still links against the old version? Does yum somehow update all that too?

I suspect not. in which case I am unable to use the newer versions of VLC whether I'm supported or not?

pete_1967
11th August 2008, 03:47 PM
I install CentOS and so have package updates for 5 years.

3 years down the line, VLC becomes dependant on a newer version of the c runtime than I have installed.

Since I am still "supported", does that mean that yum will simply update my runtime with the newer version so that VLC can run? What about everything else on my box that still links against the old version? Does yum somehow update all that too?

IF Red Hat decides to update RHEL 5.2 (that's CentOS 5.2) to latest packages, then yes, everything will get updated. This is highly unlikely though (although there was update from RHEL 5 to 5.2 with quite remarkable changes, such as FF2 to 3). That means that you are "stuck" with an old version of software for the duration of the distro's lifecycle. You need to upgrade to next version if you want newer versions (that'll be CentOS 6 at some point in future).



I suspect not. in which case I am unable to use the newer versions of VLC whether I'm supported or not?
You are not unable to do that, you just have to do updating yourself and resolve dependency issues along the way.

Lister
11th August 2008, 04:12 PM
You are not unable to do that, you just have to do updating yourself and resolve dependency issues along the way.

Thanks for the reply, but HOW would I "resolve dependency issues"?

From my limited understanding, updating the c runtime library would break every single package that was linked against the old version. That's pretty much every single package on the machine I would suspect?

So to resolve the dependancy issues I would have to either find binaries that were linked both against the new runtime, AND against the various versions of the libraries used by CentOS (once I'd upgraded them to runtime compatible version too of course)

Or, I recompile every app and library against my new runtime library?

Either way sounds so horrendously complicated as to be impossible to my newbie eyes, or do I have the wrong end of the stick somewhere? :confused:

As an aside (sorry!) how do people install two packages that require different versions of a particular library? Is it impossible or is there some way of pointing each package at a particular library version?

Sorry for all the questions, I appreciate everyone's replies.

pete_1967
11th August 2008, 05:00 PM
Thanks for the reply, but HOW would I "resolve dependency issues"?

From my limited understanding, updating the c runtime library would break every single package that was linked against the old version. That's pretty much every single package on the machine I would suspect?

So to resolve the dependancy issues I would have to either find binaries that were linked both against the new runtime, AND against the various versions of the libraries used by CentOS (once I'd upgraded them to runtime compatible version too of course)

Or, I recompile every app and library against my new runtime library?

Pretty much, or you build new RPMs from up to date sources.



Either way sounds so horrendously complicated as to be impossible to my newbie eyes, or do I have the wrong end of the stick somewhere? :confused:

Who said it'd be easy? ;)


As an aside (sorry!) how do people install two packages that require different versions of a particular library? Is it impossible or is there some way of pointing each package at a particular library version?

You can easily do that by building new libraries from source and defining their location elsewhere (e.g. /opt/) and then compile your program with said path to libraries.

You should also be able to build package with default paths but using slightly different name for the new library and use that library name in your software package (configuring the .spec file).

On the other hand, that's where distros like Fedora show their benefits; it's not uncommon to get version upgrades of the packages during the life cycle of the version. So, you lose in its short support time and gain in getting the latest and greatest software. You just have to decide which one you prefer. Or move on to Gentoo for example where you compile everything from source yourself.

markkuk
11th August 2008, 05:59 PM
Sorry if I'm being thick, but I'm still unsure how much "supported" covers.

It covers the packages included in the distribution, not any third party packages.


3 years down the line, VLC becomes dependant on a newer version of the c runtime than I have installed.

Since I am still "supported", does that mean that yum will simply update my runtime with the newer version so that VLC can run?
VLC isn't part of the CentOS distribution. If some third-party repository provides VLC packages for CentOS they must either provide a version of VLC that works with the glibc version used in CentOS (which won't change) or drop VLC from the repo.