Mailing List Archive

Uclibc chroots and catalyst
I am curious to know if anyone has had any odd issues with using Gentoo's
releng tool, catalyst, to build Uclibc-based stages before.

I was attempting to resurrect MIPS-III, big-endian stages once more using an
old ~2012 mips3 seed stage that Anthony Basile put together a while back. I
started by manually updating the seed to be current (sans ncurses-6.x), and
that all worked out fine. I then fed that seed stage into Catalyst to build a
new stage1, and that also worked fine.

But when I went to run the stage2 spec, it failed due to bash generating a
segfault via an attempted NULL pointer dereference. So I manually tested by
attempting to chroot into the /tmp/stage1root directly, and that's also
segfaulting. I can run other executables within the stage1root via chroot
directly, but it appears that anything linked to ncurses is triggering a segfault.

The original stages were built with gcc-5.3, so I fell back to gcc-4.8.5, but
the segfaults are still happening. I forced the stage1root to upgrade to
ncurses-6.0, but that isn't working either. I manually remerged bash by
setting ROOT="/tmp/stage1root", but it's linking against /lib/libncurses.so.5
from the seed root instead of /lib/libncurses.so.6 in the stage1root.

Not sure how to work around this. Everything in the seed root works fine. If
I manually merge select packages into a different $ROOT (uclibc, ncurses, bash,
readline, libiconv), then copy libgcc_s.so into $ROOT/lib manually, I can
execute bash there just fine. So part of the problem may also be in how
catalyst's stage1 script is merging the packages into $ROOT.

Thoughts?

--
Joshua Kinard
Gentoo/MIPS
kumba@gentoo.org
6144R/F5C6C943 2015-04-27
177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943

"The past tempts us, the present confuses us, the future frightens us. And our
lives slip away, moment by moment, lost in that vast, terrible in-between."

--Emperor Turhan, Centauri Republic