Jump to content
Read the Funtoo Newsletter: Summer 2023 ×
  • 0

Problems Upgrading System



I've been having a few problems upgrading for a while, and I'm embarrassed to say I've let my box get a little out of date. I've been mainly upgrading on a package by package basis. Now, I need to upgrade to Python 3.5 as a dependency for some libs I'm working with, and the problems seem extensive. I managed to get Python upgraded to 3.5.3, but now pip is giving me trouble. I actually managed to solve quite a few of the problems, but a few are still giving me trouble. I'm about ready to give up and do a fresh install, but I figured I'd ask here first, to try to maybe get through them.


I've cleaned out a lot of my world file of packages I don't really use, and cleaned up my package.use & package.accept_keywords, then rewrote them. Now I seem stuck on a few dev-python packages giving me "RuntimeError: maximum recursion depth exceeded"


One of them is dev-python/certifi-2017.1.23


certifi build log: https://pastebin.com/Mdu44q8S

make.conf: https://pastebin.com/t9306hDY

emerge --info certifi: https://pastebin.com/kUZG9Knb


emerge -pqv '=dev-python/certifi-2017.1.23::gentoo'

[ebuild   R   ] dev-python/certifi-2017.1.23  PYTHON_TARGETS="python2_7 python3_4 python3_5* -pypy -pypy3 (-python3_6)" 
Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

I've a Stable Funtoo 64 (multilib).

On my system compiles fine.


My make.conf: https://pastebin.com/fUcvydme


My emerge --info:https://pastebin.com/tbagmxFw

ci74771ht ~ # eselect python list 
Available Python interpreters, in order of preference: 
 [1]   python3.4 
 [2]   python2.7
ci74771ht ~ # emerge -pqv certifi 
[ebuild   R   ] dev-python/certifi-2017.1.23  PYTHON_TARGETS="python2_7 python3_4 -pypy -p
ypy3 (-python3_5) (-python3_6)"     


In Your make.conf are not eclared ABI_X86 and CPU_FLAGS_X86


But ... You want a "Pure64" ? or a 64 with "multilib" ?



# epro list



excuse my question _'_

Link to comment
Share on other sites

  • 0

Well, yeah. I would figure they would compile fine on other's. There's obviously something wrong with my system. I was just hoping someone could possibly point out what it might be.


On a side note, you have a lot of USE variables. 


Edit: I replied before your further comment. I have the ABI's defined in my package.use for multi-lib: https://pastebin.com/2peEzBfF

# eselect python list
Available Python interpreters, in order of preference:
  [1]   python3.4
  [2]   python3.5
  [3]   python2.7 (fallback)

I have it currently set to python 3.4, but that was due to not being able to install pip with python 3.5, so I couldn't get a required lib I needed for development. I just switched it back. Same behavior.


I did rely on my profile to set the proper optimizations, since my CPU family is selected, however I went ahead and added the CPU flags just now.

This should probably be added to the documentation. The top result on google was for old news that was no longer accurate.

cpuinfo2cpuflags is now called cpuid2cpuflags in portage.

to run it you need to call cpuinfo2cpuflags-x86


And it seems setting it to python 3.5 breaks my epro, since it hasn't fully emerged everything yet. Set it back...

# epro list

=== flavor: ===

    core, desktop, hardened, minimal, server, workstation*

=== build: ===

    current, experimental, (stable*)

=== arch: ===

    arm-32bit, arm-64bit, pure64, x86-32bit, (x86-64bit*)

=== subarch: ===

    amd64-bulldozer, amd64-excavator, amd64-jaguar, amd64-k10
    amd64-k8, amd64-k8+sse3, amd64-piledriver, amd64-steamroller
    atom_64, btver1_64, core-avx-i, core2_64, corei7, generic_64
    intel64-broadwell, intel64-haswell, intel64-ivybridge, intel64-nehalem
    intel64-sandybridge*, intel64-silvermont, intel64-westmere
    native_64, nocona, opteron_64, xen-pentium4+sse3_64

=== mix-ins: ===

    X, audio, cinnamon, console-extras, dvd, gfxcard-intel-glamor
    gnome, gnome-3.16-fixups, hardened, kde, kde-plasma-5, lxde
    lxqt, mate, media, media-pro*, mediadevice-audio-consumer, mediadevice-audio-pro
    mediadevice-base, mediadevice-video-consumer, mediadevice-video-pro
    mediaformat-audio-common, mediaformat-audio-extra*, mediaformat-gfx-common
    mediaformat-gfx-extra*, mediaformat-video-common, mediaformat-video-extra*
    no-emul-linux-x86, no-systemd, openvz-host, print*, python3-only
    selinux, vmware-guest, xfce*

Link to comment
Share on other sites

  • 0

hmm...odd...that change caused python targets for 2.7 to disappear. I'm perfectly fine with that though, because I think it's about time that old code be updated to support newer python versions. I'll just add it for the individual packages requiring it.


Will edit when I get through this mess of edits to package.use.


Edit: Turns out that somehow adding the following to my make.conf actually got rid of all my python targets. Odd. I removed it.

PYTHON_TARGETS="2.7 3.4 3.5"

Will try with the python ABI's as well, which you added with an edit, but it's currently emerging some things. Maybe by some miracle it will go through the packages that were failing as well.

Link to comment
Share on other sites

  • 0

But .. this python 3.5 is necessary for You ?

No2w I tri to reproduce your situation .... to make little tests .. or , if You prefer other ways with for wexample teamviewer you can enter in my system and make experiments .. no problem for me ... 

Now i try to unmask and install python 3.5 .... i wish to be able to "reproduce" Your situation _'_

Link to comment
Share on other sites

  • 0

Ugh ... it seems a "Total desaster" .. excuse me i'm not prepared for these "technical difficulties" :'(


Try to delete the Python_3.5


Excuse me for my ignorance :'(


I.m very sorry for this !!!

Link to comment
Share on other sites

  • 0

Yes, Python 3.5 is a requirement for various new python libraries that have come out in the last few years.

The emerge world is actually going well so far. I expect it to fail any moment now...but it's not...which is odd... It should have hit the failing packages by now. But I did just do a sync, plus the changes you mentioned, so we'll see if by some miracle it's actually working now.


Edit: Oh, duh. It's rebuilding practically everything, because now everything has the 32 bit ABI's, rather than only the ones that absolutely require it.


On a side note: they probably would work with Python 3.4 if they made some conditionals, but a lot of the community is working on Python 3.5, so I'm not sure it's a priority.

Link to comment
Share on other sites

  • 0

Dear geekt ... now i've deleted then recompiled "certify" using:

ci74771ht ~ # eselect python list 
Available Python interpreters, in order of preference: 
 [1]   python3.5 
 [2]   python3.4 
 [3]   python2.7

All seems fine.


Then I'm sorry about Your system ... i dunno why it makes troubles in You system :| :'(


i like to be a "tester" for people that laves *too :D i've a 4771 .. then i can make various experiment in a "little time" :)


I hope some Funtoo "gurus" ... can give you a solution with clearly "deluxe" series: D
Link to comment
Share on other sites

  • 0

Well this isn't fun. It stopped with the same error on another dev-python package, and now I can't launch Chromium. Will post the logs for that package when I get it running again.

Edit: I can't get even close to rebuilding chromium because of the dev-python packages. In the morning I'll likely have to boot from a flash drive and see if I can compile them. If not, I'll have to reinstall likely.

BTW, the top of my package.use flag has */* python3_5 or something like that. Not in front of my coputer. But its functionally equivalent to what you said to put in the make.conf, but you had put 3.5, when it should have been python3_5.

I ended up changing it to your way, because it seems like a more proper way.

Link to comment
Share on other sites

  • 0
# revdep-rebuild



hmmm nothing to do it is true ? but i don't comprise why on my Fun Stable 64 this softare is compiled but not in Your system :(


If You Want ... try to post it in bugs.funtoo.org



Link to comment
Share on other sites

  • 0

My system is mostly from the stable branch. I only use current when there's either no other option, or its something that needs to be current, or I just need or want a newer version.

There's just something borked somewhere. Either in a config file, or some other part of the system.

Link to comment
Share on other sites

  • 0

Well, I've got a new system installed, full with Python 3.5. Still needs some work, but that should be easy enough.

I at least learned a few things from this experience.

One was that I shouldn't have just changed my ABI's...especially with an unstable system where I couldn't simply recompile everything. I simply didn't remember how much of a pain the ABI's were, and why I had chosen to do a selectively mixed system, versus a fully mixed system, such as you had suggested. I had only dealt with them once, and hadn't reinstalled my system since the change to them had occurred. 

While trying to do the install, I tried to cheat and sort of patch a new install into the old one. I've done this before a few times years ago. It didn't work. I still got the same python maximum recursion error. That tells me that whatever the problem was, it wasn't in any of the standard config files, or even the base packages installed by Funtoo. Where the problem was, I don't know. I ended up wasting a ton of time doing that, then eventually moved my home folder onto another partition, and reinstalled Funtoo from scratch. This took all night, largely due to the fact that I chose to install Chromium with the base system, so I could use the web browser as soon as I started my system. I ended up going to bed super late, when Chromium had already been compiling for 3 and a half hours. If there's any package that makes me want to upgrade my system to an 8 core, it's Chromium.

Before I even posted here I had researched the problem extensively and discovered a few other people that had had it before, but never saw a solution. It would have been nice if I could have found a solution, not only for myself, but for anyone that suffers from it in the future. I at least narrowed it down, minutely, to not being a base package.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...