View previous topic :: View next topic |
Author |
Message |
Moriah Advocate
Joined: 27 Mar 2004 Posts: 2365 Location: Kentucky
|
Posted: Thu May 02, 2013 6:26 pm Post subject: HELP - boost wants to downgrade glibc |
|
|
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 |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21633
|
Posted: Fri May 03, 2013 1:43 am Post subject: |
|
|
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 |
|
|
VoidMage Watchman
Joined: 14 Oct 2006 Posts: 6196
|
Posted: Fri May 03, 2013 2:47 am Post subject: |
|
|
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 |
|
|
Moriah Advocate
Joined: 27 Mar 2004 Posts: 2365 Location: Kentucky
|
Posted: Fri May 03, 2013 4:19 am Post subject: |
|
|
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 |
|
|
jburns Veteran
Joined: 18 Jan 2007 Posts: 1214 Location: Massachusetts USA
|
Posted: Fri May 03, 2013 6:08 am Post subject: |
|
|
Add dev-libs/boost and dev-util/boost-build to the file /etc/portage/package.accept_keywords. |
|
Back to top |
|
|
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
Posted: Fri May 03, 2013 2:57 pm Post subject: |
|
|
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 |
|
|
Moriah Advocate
Joined: 27 Mar 2004 Posts: 2365 Location: Kentucky
|
Posted: Fri May 03, 2013 3:18 pm Post subject: |
|
|
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
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 |
|
|
Stinky_Foot n00b
Joined: 31 Jul 2012 Posts: 27 Location: Piauí, Brazil
|
Posted: Tue May 14, 2013 12:48 pm Post subject: |
|
|
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 |
|
|
ulenrich Veteran
Joined: 10 Oct 2010 Posts: 1480
|
Posted: Tue May 14, 2013 5:34 pm Post subject: |
|
|
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) |
|
Back to top |
|
|
Stinky_Foot n00b
Joined: 31 Jul 2012 Posts: 27 Location: Piauí, Brazil
|
Posted: Fri May 17, 2013 5:54 pm Post subject: |
|
|
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?
_________________ 'I' means I, 'we' means we. |
|
Back to top |
|
|
ulenrich Veteran
Joined: 10 Oct 2010 Posts: 1480
|
Posted: Sat May 18, 2013 8:21 am Post subject: |
|
|
No,
glibc
is the only ebuild you simply cannot downgrade by using usual Gentoo methods.
But
current~unstable
is a working release! |
|
Back to top |
|
|
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
Posted: Sat May 18, 2013 8:49 am Post subject: |
|
|
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 |
|
|
Stinky_Foot n00b
Joined: 31 Jul 2012 Posts: 27 Location: Piauí, Brazil
|
Posted: Sat May 18, 2013 2:44 pm Post subject: |
|
|
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 |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21633
|
Posted: Sat May 18, 2013 5:01 pm Post subject: |
|
|
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 |
|
|
Stinky_Foot n00b
Joined: 31 Jul 2012 Posts: 27 Location: Piauí, Brazil
|
Posted: Sat May 18, 2013 5:50 pm Post subject: |
|
|
Now I'm confused, what I am supposed to do? _________________ 'I' means I, 'we' means we. |
|
Back to top |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21633
|
Posted: Sat May 18, 2013 6:11 pm Post subject: |
|
|
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 |
|
|
Stinky_Foot n00b
Joined: 31 Jul 2012 Posts: 27 Location: Piauí, Brazil
|
Posted: Sat May 18, 2013 7:46 pm Post subject: |
|
|
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 |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21633
|
Posted: Sat May 18, 2013 8:48 pm Post subject: |
|
|
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 |
|
|
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
Posted: Sat May 18, 2013 10:26 pm Post subject: |
|
|
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 |
|
|
frank1980 Tux's lil' helper
Joined: 19 Feb 2006 Posts: 103
|
Posted: Mon Sep 16, 2013 12:46 pm Post subject: |
|
|
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 |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21633
|
Posted: Mon Sep 16, 2013 8:59 pm Post subject: |
|
|
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 |
|
|
lefsha Veteran
Joined: 30 Aug 2004 Posts: 1234 Location: Burgas, Bulgaria
|
Posted: Mon Sep 16, 2013 10:30 pm Post subject: |
|
|
frank1980,
Use boost 1.54.0 that will solve the problem. boost 1.53.0 is somehow broken. _________________ Lefsha |
|
Back to top |
|
|
frank1980 Tux's lil' helper
Joined: 19 Feb 2006 Posts: 103
|
Posted: Tue Sep 17, 2013 2:11 pm Post subject: |
|
|
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 |
|
|
|