Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
HELP - boost wants to downgrade glibc
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
Moriah
Veteran
Veteran


Joined: 27 Mar 2004
Posts: 1868
Location: Kentucky

PostPosted: Thu May 02, 2013 6:26 pm    Post subject: HELP - boost wants to downgrade glibc Reply with quote

I am installing a new system, so I fetched the stage3 yesterday. I need lvm2, which needs boost, but boost tried to downgrade the already installed glibc, which sets off alarms:
Code:

livecd ~ # emerge -pv boost

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     UD ] sys-libs/glibc-2.15-r3:2.2 [2.16.0:2.2] USE="(multilib) -debug -gd (-hardened) -profile (-selinux) -vanilla (-suid%) (-systemtap%)" 0 kB
[ebuild  N     ] dev-libs/boost-1.49.0-r2  USE="-debug -doc -icu -mpi -python -static-libs -tools" 0 kB

Total: 2 packages (1 downgrade, 1 new), Size of downloads: 0 kB
livecd ~ #

Here is what the alarms look like:
Code:

livecd ~ # emerge boost
Calculating dependencies... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 2) sys-libs/glibc-2.15-r3
 * glibc-2.15.tar.xz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                  [ ok ]
 * glibc-ports-2.15.tar.xz SHA256 SHA512 WHIRLPOOL size ;-) ...                                            [ ok ]
 * glibc-2.15-patches-23.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...                                      [ ok ]
 * Sanity check to keep you from breaking your system:
 *  Downgrading glibc is not supported and a sure way to destruction
 * ERROR: sys-libs/glibc-2.15-r3 failed (setup phase):
 *   aborting to save your system
 *
 * Call stack:
 *              ebuild.sh, line  93:  Called pkg_setup
 *   glibc-2.15-r3.ebuild, line 171:  Called eblit-run 'pkg_setup'
 *   glibc-2.15-r3.ebuild, line 157:  Called eblit-glibc-pkg_setup
 *        pkg_setup.eblit, line  55:  Called die
 * The specific snippet of code:
 *                      die "aborting to save your system"
 *
 * If you need support, post the output of `emerge --info '=sys-libs/glibc-2.15-r3'`,
 * the complete build log and the output of `emerge -pqv '=sys-libs/glibc-2.15-r3'`.
 * The complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.15-r3/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-libs/glibc-2.15-r3/temp/die.env'.
 * Working directory: '/var/tmp/portage/sys-libs/glibc-2.15-r3'
 * S: '/var/tmp/portage/sys-libs/glibc-2.15-r3/work/glibc-2.15'

>>> Failed to emerge sys-libs/glibc-2.15-r3, Log file:

>>>  '/var/tmp/portage/sys-libs/glibc-2.15-r3/temp/build.log'

I have another system that has the same setup, only an earlier glibc (sys-libs/glibc-2.15-r3:2.2), and everything works.

How do I resolve this so I can get on with my system installation? :?:
_________________
The MyWord KJV Bible tool is at http://www.elilabs.com/~myword

Foghorn Leghorn is a Warner Bros. cartoon character.
Back to top
View user's profile Send private message
Hu
Watchman
Watchman


Joined: 06 Mar 2007
Posts: 8828

PostPosted: Fri May 03, 2013 1:43 am    Post subject: Reply with quote

That version of Boost requires a lower glibc at runtime. Use a newer version of Boost. Based on the ChangeLog message, I suspect that glibc 2.16 and later have header definitions that conflict with the ones in Boost 1.49.
Back to top
View user's profile Send private message
VoidMage
Watchman
Watchman


Joined: 14 Oct 2006
Posts: 5404

PostPosted: Fri May 03, 2013 2:47 am    Post subject: Reply with quote

Hu wrote:
That version of Boost requires a lower glibc at runtime. Use a newer version of Boost. Based on the ChangeLog message, I suspect that glibc 2.16 and later have header definitions that conflict with the ones in Boost 1.49.


Actually, it was mostly a matter of a single definition - TIME_UTC (c11, according to google) - new in glibc 2.16 and used in boost <=1.50 for other purpose (renamed to TIME_UTC_ in later versions of boost).
Back to top
View user's profile Send private message
Moriah
Veteran
Veteran


Joined: 27 Mar 2004
Posts: 1868
Location: Kentucky

PostPosted: Fri May 03, 2013 4:19 am    Post subject: Reply with quote

The problem is that 1.49.0-r2 is the most recent version of boost that shows up after emerge --sync:
Code:

livecd ~ # emerge -s boost
Searching...   
[ Results for search key : boost ]
[ Applications found : 4 ]

*  dev-libs/boost
      Latest version available: 1.49.0-r2
      Latest version installed: [ Not Installed ]
      Size of files: 47,363 kB
      Homepage:      http://www.boost.org/
      Description:   Boost Libraries for C++
      License:       Boost-1.0

*  dev-util/boost-build
      Latest version available: 1.49.0
      Latest version installed: [ Not Installed ]
      Size of files: 47,363 kB
      Homepage:      http://www.boost.org/doc/tools/build/index.html
      Description:   A system for large project software construction, which is simple to use and powerful.
      License:       Boost-1.0

So how do I get a more recent version of boost? :?:
_________________
The MyWord KJV Bible tool is at http://www.elilabs.com/~myword

Foghorn Leghorn is a Warner Bros. cartoon character.
Back to top
View user's profile Send private message
jburns
l33t
l33t


Joined: 18 Jan 2007
Posts: 802
Location: Massachusetts USA

PostPosted: Fri May 03, 2013 6:08 am    Post subject: Reply with quote

Add dev-libs/boost and dev-util/boost-build to the file /etc/portage/package.accept_keywords.
Back to top
View user's profile Send private message
krinn
Advocate
Advocate


Joined: 02 May 2003
Posts: 4138

PostPosted: Fri May 03, 2013 2:57 pm    Post subject: Reply with quote

It could happen if you use stage3 file that include an unstable glibc (the 2.16) so installing it you end up with an unstable glibc.
But once install, if you pickup the stable keyword in your make.conf boost stable will be selected, but that boost stable couldn't run with that unstable glibc, hence the "want downgrade".

If it's that, it is something to filebug, stage3 should only be made with stable package.
Back to top
View user's profile Send private message
Moriah
Veteran
Veteran


Joined: 27 Mar 2004
Posts: 1868
Location: Kentucky

PostPosted: Fri May 03, 2013 3:18 pm    Post subject: Reply with quote

Good point. I maybe might have missed with the mouse when I selected the stage 3. From the http://mirror.mcs.anl.gov/pub/gentoo/releases/amd64/current-stage3/ site, I fetched stage3-x32-20130425.tar.bz2 when I probably wanted stage3-amd64-20130425.tar.bz2 :oops:

I think at this early stage of the game, the best thing to do is just start over -- especially since its just a kvm virtual machine anyway. There is no obvious way to repair this error that I can see.
_________________
The MyWord KJV Bible tool is at http://www.elilabs.com/~myword

Foghorn Leghorn is a Warner Bros. cartoon character.
Back to top
View user's profile Send private message
Stinky_Foot
n00b
n00b


Joined: 31 Jul 2012
Posts: 27
Location: Piauí, Brazil

PostPosted: Tue May 14, 2013 12:48 pm    Post subject: Reply with quote

I faced the same problem yesterday when I was trying to update my whole system. Got some messages of conflicting dependencies that I was trying to resolve masking some of them, but then the emerge always tried to emerge first glibc-2.15-r3 (whilst I have 2.17) and I got the error. Suddenly, after trying various alternatives without success, it came to me to put the "--exclude=glibc" variable into the command since my version of glibc is the latest available, it worked and I was able to do the updating (well, in parts because some packages still refuse to compile, but I think it is a different problem).
_________________
'I' means I, 'we' means we.
Back to top
View user's profile Send private message
ulenrich
Veteran
Veteran


Joined: 10 Oct 2010
Posts: 1131

PostPosted: Tue May 14, 2013 5:34 pm    Post subject: Reply with quote

Stinky_Foot wrote:
the emerge always tried to emerge first glibc-2.15-r3 (whilst I have 2.17) and I got the error. Suddenly, after trying various alternatives without success, it came to me to put the "--exclude=glibc" variable into the command since my version of glibc is the latest available,
Well, then build from sources capable of using the new glibc. You have a current~unstable glibc which works well with ~arch keyword.

Me not wonder :
Quote:
I was able to do the updating ... some packages still refuse to compile, but I think it is a different problem
Yes, that is your problem: Think of
arch
~arch
as two very different releases! As a beginner this is the most efficient approach to not get in trouble. (At the moment unstable~arch is hit by some automake errors, just wait some days)
_________________
fun2gen2
Back to top
View user's profile Send private message
Stinky_Foot
n00b
n00b


Joined: 31 Jul 2012
Posts: 27
Location: Piauí, Brazil

PostPosted: Fri May 17, 2013 5:54 pm    Post subject: Reply with quote

Quote:
Yes, that is your problem: Think of
arch
~arch
as two very different releases! As a beginner this is the most efficient approach to not get in trouble. (At the moment unstable~arch is hit by some automake errors, just wait some days)


Aw, I see... I inadvertently put the "~amd64" into make.conf (what a silly thing to do!). Now, there is any chance to get an stable "version" again without downgrading glibc and breaking the whole thing?
:cry:
_________________
'I' means I, 'we' means we.
Back to top
View user's profile Send private message
ulenrich
Veteran
Veteran


Joined: 10 Oct 2010
Posts: 1131

PostPosted: Sat May 18, 2013 8:21 am    Post subject: Reply with quote

No,
glibc
is the only ebuild you simply cannot downgrade by using usual Gentoo methods.

But
current~unstable
is a working release!
_________________
fun2gen2
Back to top
View user's profile Send private message
krinn
Advocate
Advocate


Joined: 02 May 2003
Posts: 4138

PostPosted: Sat May 18, 2013 8:49 am    Post subject: Reply with quote

The safest thing to do, is just stop this, as it will continue until you do take action.
You should drop the ~amd64 keyword and add your current glibc to package.unmask to prevent the "portage want downgrade glibc" but "portage doesn't want to do it" chicken/egg loop.

And then just wait, as soon as stable have a better version or revision as your unstable glibc, your tree will be back to full stable.
Back to top
View user's profile Send private message
Stinky_Foot
n00b
n00b


Joined: 31 Jul 2012
Posts: 27
Location: Piauí, Brazil

PostPosted: Sat May 18, 2013 2:44 pm    Post subject: Reply with quote

All right, I suspected that the only remedy was to wait... thanks for the replies, guys.
_________________
'I' means I, 'we' means we.
Back to top
View user's profile Send private message
Hu
Watchman
Watchman


Joined: 06 Mar 2007
Posts: 8828

PostPosted: Sat May 18, 2013 5:01 pm    Post subject: Reply with quote

krinn wrote:
You should drop the ~amd64 keyword and add your current glibc to package.unmask to prevent the "portage want downgrade glibc" but "portage doesn't want to do it" chicken/egg loop.
I believe you meant package.accept_keywords, not package.unmask, since you told him to remove the global keyword setting.
Back to top
View user's profile Send private message
Stinky_Foot
n00b
n00b


Joined: 31 Jul 2012
Posts: 27
Location: Piauí, Brazil

PostPosted: Sat May 18, 2013 5:50 pm    Post subject: Reply with quote

Now I'm confused, what I am supposed to do?
_________________
'I' means I, 'we' means we.
Back to top
View user's profile Send private message
Hu
Watchman
Watchman


Joined: 06 Mar 2007
Posts: 8828

PostPosted: Sat May 18, 2013 6:11 pm    Post subject: Reply with quote

Stinky_Foot wrote:
Now I'm confused, what I am supposed to do?
Follow krinn's instructions, but use the file package.accept_keywords instead of the package.unmask that he specified. If you get it wrong, the glibc anti-downgrade logic will throw a big warning, but you will not be able to easily break your system.
Back to top
View user's profile Send private message
Stinky_Foot
n00b
n00b


Joined: 31 Jul 2012
Posts: 27
Location: Piauí, Brazil

PostPosted: Sat May 18, 2013 7:46 pm    Post subject: Reply with quote

So, is something like:

Code:
# echo ">=sys-libs/glibc-2.17" >> /etc/portage/package.accept_keywords


:?:
_________________
'I' means I, 'we' means we.
Back to top
View user's profile Send private message
Hu
Watchman
Watchman


Joined: 06 Mar 2007
Posts: 8828

PostPosted: Sat May 18, 2013 8:48 pm    Post subject: Reply with quote

Stinky_Foot wrote:
Code:
# echo ">=sys-libs/glibc-2.17" >> /etc/portage/package.accept_keywords
Yes, if you want to stay on unstable glibc forever. If you want to move back to the stable tree, I suggest using <sys-libs/glibc-2.18 instead. This will permit you to keep your existing 2.17, permit you to upgrade to any minor patches on 2.17, and not permit you to take 2.18 until it is marked stable. You could also use ~sys-libs/glibc-2.17 to permit your existing 2.17 and any Gentoo revision bumps of it, but prohibit both patches (2.17.N) and major releases.
Back to top
View user's profile Send private message
krinn
Advocate
Advocate


Joined: 02 May 2003
Posts: 4138

PostPosted: Sat May 18, 2013 10:26 pm    Post subject: Reply with quote

Hu wrote:
I believe you meant package.accept_keywords, not package.unmask, since you told him to remove the global keyword setting.


Right of course, thanks for fixing it.
Back to top
View user's profile Send private message
frank1980
Tux's lil' helper
Tux's lil' helper


Joined: 19 Feb 2006
Posts: 100

PostPosted: Mon Sep 16, 2013 12:46 pm    Post subject: Reply with quote

I have the same problem. But I use ~arch from every beginning of using Gentoo. I found glibc-2.17 and boost-1.53 were in ~arch, I did an unusual way to upgrade the system. I used "emerge kdebase-meta glibc" instead of "emerge -uDN world". Now I have the latest glibc, but boost need older glibc. You know gentoo refuses downgrading glibc.

I can't do anything now, any hints? Thank you.
Back to top
View user's profile Send private message
Hu
Watchman
Watchman


Joined: 06 Mar 2007
Posts: 8828

PostPosted: Mon Sep 16, 2013 8:59 pm    Post subject: Reply with quote

Please post the full output of emerge --pretend --verbose --deep --update --newuse --tree --unordered-display dev-libs/boost dev-util/boost-build.
Back to top
View user's profile Send private message
lefsha
Veteran
Veteran


Joined: 30 Aug 2004
Posts: 1012
Location: Sankt-Petersburg, Russia

PostPosted: Mon Sep 16, 2013 10:30 pm    Post subject: Reply with quote

frank1980,

Use boost 1.54.0 that will solve the problem. boost 1.53.0 is somehow broken.
_________________
Lefsha
Back to top
View user's profile Send private message
frank1980
Tux's lil' helper
Tux's lil' helper


Joined: 19 Feb 2006
Posts: 100

PostPosted: Tue Sep 17, 2013 2:11 pm    Post subject: Reply with quote

Thanks lefsha and Hu. I found boost-1.54 are in hard mask situation, I decide to wait till it is unmasked by official.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum