Problems with locales, glibc and libc6

Hi,
First of all, I'm new in this forum and I'm from Spain, so please forgive me for my poor english.

I've got a problem when I try to install locales package in a Debian Sarge. When I try to do it using apt-get it gives me the next error message:
servidor:~# apt-get install locales
Reading Package Lists...
Building Dependency Tree...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

Since you only requested a single operation it is extremely likely that
the package is simply not installable and a bug report against
that package should be filed.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
locales: Depends: glibc-2.3.2.ds1-22sarge4
E: Broken packages

If I try to install that glibc-2.3.2.ds1-22sarge4 package I get the next message:
servidor:~# apt-get install glibc-2.3.2.ds1-22sarge4
Reading Package Lists...
Building Dependency Tree...
Note, selecting libc6 instead of glibc-2.3.2.ds1-22sarge4
libc6 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 59 not upgraded.

But the glibc package cannot still be installed, so I can't install locales. I've looked for info in internet and seems that libc6 package which I've got installed and which is needed by glibc isn't very stable. I've read too that glibc package really is a virtual package included in libc. I've got other pc with Debian Sarge and libc5 and I installed locales in it without any problem.

Is there any way to install glibc so I can install locales? Should I install libc5 instead of libc6 (downgrade version)? I've seen that there are a lot of programs and important services that depends on libc, so I don't want to disable them if I change of version (also I just can access to this machine via sh because is not in my town).

Thanks in advance and kind regards.

0

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

libc mix-up?

Hi there

The package glibc-2.3.2.ds1-22sarge4 is a virtual package, exactly like you said. It is provided by the package 'libc6' as you can see if you do a

apt-cache show libc6
Package: libc6
State: installed
Automatically installed: no
Version: 2.3.2.ds1-22sarge4
[...]
Provides: glibc-2.3.2.ds1-22sarge4

Now, if you do not have libc6 version 2.3.2.ds1-22sarge4 installed on your machine, this virtual glibc package will not be provided. What libc6 version are you using (i.e. execute 'apt-cache show libc6 | grep Version')?

If you do have a different version, you may need to explicitly downgrade or whatever to the real sarge libc6:

apt-get install libc6=2.3.2.ds1-22sarge4

Be careful though! For whatever reason you have a different libc6, those packages that depended on your different version will be removed.

From what you said, it seems to me that you somehow mixed a Debian Sarge (stable) with something newer or older, but it is just a guess.

I hope that clarified the problem a bit. If not, don't hesitate to ask.

Cheers, Georg

Hi Georg Thanks for the

Hi Georg
Thanks for the answer. I paste you my libc6 version:
servidor:~# apt-cache show libc6 | grep Version
Version: 2.3.6-7
Version: 2.3.2.ds1-22sarge4

If I 'simulate' the installation of that libc6 package I get this:
servidor:~# apt-get install -s libc6=2.3.2.ds1-22sarge4
Reading Package Lists... Done
Building Dependency Tree... Done
Suggested packages:
glibc-doc
The following packages will be REMOVED:
geoip-bin libapache2-mod-geoip libgeoip-dev libgeoip1
The following packages will be DOWNGRADED:
libc6
0 upgraded, 0 newly installed, 1 downgraded, 4 to remove and 59 not upgraded.
Remv geoip-bin (1.3.14-2 )
Remv libapache2-mod-geoip (1.1.7-2 )
Remv libgeoip-dev (1.3.14-2 )
Remv libgeoip1 (1.3.14-2 )
Inst libc6 [2.3.6-7] (2.3.2.ds1-22sarge4 Debian:3.1r3/stable)
Conf libc6 (2.3.2.ds1-22sarge4 Debian:3.1r3/stable)

I know that I should reinstall GeoIP after downgrade libc6. By the way, I remember that maybe while I was installing GeoIP I installed something wrong related to libc6...

The new question is: what could happen with the server if the downgrade fails?

Thanks again and best regards.

Where did you get geoip-bin=1.3.14-2 from?

Hi pakorock

Hmm, do you rely on geoip version 1.3.14-2 (i.e. did you epxplicitly install a newer version than the one in Sarge)?

If you can answer the question with: no, version 1.3.8-1 is good enough ;-) then you may safely do a libc6 downgrade (which removes the newer geoip and you can reinstall the Sarge version).

The only thing I saw was that you have libapache2-mod-geoip installed, which is not available in Sarge. Was this the reason for your newer geoip version?

Alright... not an easy one in this case...

If you still want to keep this newer geoip version, install locales from testing too (which won't work that smoothly, because testing already got newer versions of libc6 and geoip and mixing a newer libc with Sarge as the rest might not always be good... bot often it just works).
apt-get install -t testing locales libc6 geoip-bin ...
Again... I don't think that this is the best way to go, but it is the easiest.

Second way: compile the newer version yourself after having downgraded. After the usual steps (configuring and compiling/linking) install the stuff using checkinstall (not 'make install' directly, but instead 'checkinstall make install'). Checkinstall creates a Debian package which you can install and remove like any other package. That's nice ;-).

Huh... see, not that easy if you want all your software to integrate and cooperate with the rest of the system...
I seriously appreciate the work all those packagers put into Debian where I most of the time just do a aptitude install something :-).

Actually there even is a third possibility:
apt-get -t testing source geoip
Read this http://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.en.html for more details.
Because it is compiled on Sarge, it will fit into your system, although the source package originated from testing.
Hey, this way you just created your own Sarge backport.

Sorry... 'am talking too much...
Summary:
First is the easiest, second is good, third is elegant but requires either a lot of knowledge about Debian or time.

I thus hope you're happy with version 1.3.8 from Sarge. :-).

Good luck,
Georg

Hi again, Thanks for the

Hi again,
Thanks for the answer. I think I'll try the first option, do a libc6 downgrade and then re-install GeoIP. And yes, I installed that version for the reasons you said, because I didn't find any other version with the apache2 module.

The other problem is, this server has an apache2 and a website hosted which needs GeoIP to work. Well, is an essential module (without it the site doesn't work), so I hope to find a compatible GeoIP module.

I'll tell you how it goes... Thanks and regards.

There are large changes from

There are large changes from libc5 to libc6; libc5 will be removed in the future.

You can try to force locales to install anyway, since this looks like a mistake made by the package maintainer:

apt-get install --force-yes locales

Or if you have the *.deb fiel downloaded already:

dpkg -i --force-all .deb

Hi again, Sorry for the

Hi again,
Sorry for the delay in my answer. I downgraded libc6 and everything worked ok, but I couldn't install libapache2-mod-geoip (as I thought), so we've changed the website programation due to this.

Thanks and reagards.

Syndicate content