The Unofficial Gentoo Linux x86 uClibC stage3s’

The catalyst spec files are available here:

Following this Gentoo bug:
We have official experimental uClibC for x86 and amd64 stages.
I will not be maintaining these unofficial ones any longer.

The link to the official archives is:

The uclibc experimental stages on the gentoo mirrors are all outdated(they go back to years), so here are my stage3s’, which have been updated. They’re very similar to, and in fact can be considered to be the same stages that the Gentoo Community provides, only updated.

As of 27th August 2011, they are now built by catalyst.

The stages are built by catalyst now, and I’m looking for the possibility of hosting them on the Gentoo mirrors.

Follow my tutorial here, to get a basic ideology on working with it

stage3-uclibc-x86-26062012 is affected by bug #423491 sys-apps/findutils-4.4.2-r1 and sys-apps/coreutils-8.14 with sys-libs/uclibc – rpmatch.c:58:1: error: redefinition of ‘rpmatch’ /// /usr/include/stdlib.h:810:28: note: previous definition of ‘rpmatch’ was here

The workaround for it right now is to comment the entire function in stdlib.h and those packages will compile well. Also comment the _wur definition, just above the function rpmatch. This is a crude workaround, and it’ll be fixed when upstream decides what’s the solution.

26th June, 2012

The above stage was not build by catalyst, as it could not deal with the rpmatch bug. This stage was created manually from the last release.

5th August, 2011

7th July, 2011

1st June, 2011

25th April, 2011

For historic releases, post a comment, as to which one you require and why a specific version.
If you want the stage1 or stage2, drop a comment and I shall have them uploaded.

For those of you who would like to build these stages themselves, here are the spec files for catalyst:

The catalyst spec files are available here:

In addition, I’ve taken down all the stage files that I used to host here, in favour of the official stages now available from the Gentoo mirrors:


40 responses to “The Unofficial Gentoo Linux x86 uClibC stage3s’”

  1. Hey Jude — please re-upload the stage*.spec files. I’d love to learn from them and create stage-tarballs for Linux/bionic. Thanks!

    1. Hey Mark,
      I just added the link to the spec files at my GitHub repo.

  2. Following this Gentoo bug:
    We have official experimental uClibC for x86 and amd64 stages. I will not be maintaining these unofficial ones any longer.

    The link to the official archives is:

  3. Mephisto Avatar

    Awesome Work Jude! Keep it up man!

  4. A new stage 3 has been uploaded :)

  5. Carlos Avatar

    My friend, you post new files ? ex.: uclibc-x86-2012 ?
    (Sorry My English Is Not Cool)….

    1. judepereira Avatar

      Yes I will upload the new stages shortly, I currently do not have a good internet connection to build the stages.

  6. René Rhéaume Avatar
    René Rhéaume

    Thank you for the effort. I have two questions however. First, where is catalyst recipe you are using? Unlike stages and packages source source, these files are hard to find on the web. Second, do you plan to build a hardened+uclibc stage?

    1. judepereira Avatar

      I’ve just updated this article to include the spec files for catalyst.

      And no, I don’t intend to build hardened + uclibc stages, because not many people use the hardened profile on uclibc, but it there are several other requests, then yes, I will build them and upload them.

  7. /lib/ Avatar

    Thank you very much ;) good to see someone else likes uClibc and similar embedded software :)

  8. Update: Stage has been updated for the month of June(on 1st June, 2011)

  9. chapuzzo Avatar

    Fanatstic job, this saves me looots of time,

  10. Hello all,
    The stage has been updated and is not using the ~x86 testing/unstable branch anymore.

  11. An update for this month has been posted, the stage3 being on an external server(all ports except http/https are blocked by my ISP). Verify the integrity of this file by checking its md5 hash, until I can upload it to my blog space.

  12. PiousMinion Avatar

    OMG, thank you thank you thank you.

    I’ve been bashing my head on my desk for the past 3 days fighting with the old stage3s.
    The september one you have should be okay, but I wouldn’t mind an updated stage3 for november. :P

    Also, you’re doing such a great service, maybe someone at will let you put them on the mirrors. :)

    1. As soon as I get some time, I will update the stage3 and publish it on-line, the only issue is that I have my exams coming up, so I don’t get enough time for embedded development.

  13. Thank you for the stages !
    I’m currently updating my netboot image (ramdisk obtained by PXE) :)

  14. thanks for the work you’ve put in. how did you get python to cross-compile, i’m having massive problems with it. see last comments of:

    1. To revert back to your old version of python, try eselect python, and also try using a different version of python, I compiled python on that system, and it was successful. My latest stage has dev-lang/python-3.1.2-r4, which compiled happily without errors.

    2. i’m not sure what you mean by “older version of python”. in the fresh ROOT=/usr/i686-gentoo-linux-uclibc there is no python at all to start.

      maybe related to

      1. Now I’m lost! Your saying that there is no python at all in my stage3s’? Wait a minute… Done, I just untared my latest update, and here’s the output of python –version
        Python 3.1.2
        emerge works fine there, which means there is python, a working python. What do you mean by fresh?

      2. no, your i386-g-l-u works perfectly, i’m talking about rolling my own i686 right now. :) basically i’d like to replicate your process. i’ve made some progress getting by the unicodedata failure, but that gave another linking failure and now python segfaults on importing going to try to emerge gcc into the chroot and then re-compile python inside chroot.

      3. The process is slightly different, you need to install the package deps and the package itself in the stage3, if your using the ROOT argument for portage, this will ensure that all headers are found, and will successfully install. Comment out the line INSTALL_MASK in make.conf

      4. jude, the solution was to use the python ebuilds from embedded-cross overlay. max_posedon from #gentoo-openmoko has put some work into it and using them python modules compiled correctly using uclibc and without linking host’s glibc in there. he also has several other ebuilds there for packages that have cross-compilation problems. i had previously applied patches from b.g.o manually, so python was my final step.

      5. Thanks a lot Leho, will certainly take a look at the packages in that overlay.

  15. Hey ,

    Check out -> , wasnt sure about your email address :\

    1. Hey, thanks a lot for that link! seems really interesting, I’ve begun downloading several videos from there.

  16. Hello, Thanks a lot for your stages. I’ve tried your stage and I have troubles when reboot or halt, the box refuses to really turn off or reboot, system get stopped but nothing more. I’ve tried to reemerge init, another version of gcc, then init again, but there was no luck.


    1. The problem you are facing is not at all connected to gcc, nor init. If the hardware supports it(very old ones like the celeron do not support software turn off), you’ll need to enable it in the kernel, enable the ACPI Subsystem, and there you should find an option that enables the kernel to shutdown the machine.

      1. Of course it supports, :D same kernel from the old superupdated stage3. and if I execute reboof -f or poweroff -f. The box reboot or turn off each case with the new stage. I was looking on inittab but nothing helpful.

        1. Very interesting issue indeed, man poweroff, indicates that -f doesn’t call shutdown, “Force halt or reboot, don’t call shutdown(8).”; same is the case for reboot, there must be something wrong with the shutdown binary.

    2. Do you have the required libraries for /sbin/shutdown? ldd /sbin/shutdown indicates that you need the following: => (0x00007fff803ff000) => /lib/ (0x00007f89107d0000)
      /lib64/ (0x00007f8910b26000)

      1. Rebuilding init package all required libraries and binary compat are always fixed.
        mbu5 # qfile /sbin/init
        sys-apps/sysvinit (/sbin/init)
        mbu5 # ldd /sbin/shutdown => /lib/ (0xb783a000) => /lib/ (0xb7890000)
        mbu5 #
        By now, I use this two commands inserted in some init script.
        sync;reboot -f
        But I’ll prefer not to hack the init process.

      2. I say you should try the gentoo forums, someone out there will surely be able to help you out. I’ve never had a similar problem or anything, so I can’t tell what is happening wrong somewhere.

  17. Stefan Hellermann Avatar
    Stefan Hellermann

    Thank you for the stages! I faced many problems with the 2008 uclibc-stages on the gentoo-mirrors, yours is working so far :)

    1. Yes, I too had many problems with those stages, they are way too old… Depreciated…

  18. If anyone would like to have the updated stages, you can comment and I’ll be more than glad to upload the latest one.

    1. Awesome job!
      Your effort should definitely be integrated with upstream – if not, please keep posting updated stages up here.
      Ever thought about x86_64 stages?

      thanks a lot :)

      1. judepereira Avatar

        Yes, I’ve asked upstream for this, and they are yet getting back to me. Till then, I will post updates here.

  19. […] This post was mentioned on Twitter by Jude Pereira. Jude Pereira said: New blog post: Gentoo Linux uclibc stage3 2010 [for embedded] […]