Hans-Gunther Borrmann posted
below, on Wed, 08 Mar 2006 10:35:14 +0100:
> I tried to "emerge --oneshot glibc" on a dual opteron system with
> "MAKEOPTS="-j3" in make.conf. The emerge began several times to loop at
> different places. The looping program always was "sh". I could successfully
> emerge glibc after commenting out my MAKEOPTS setting in make.conf. What are
> the experiences with setting MAKEOPTS on smp servers?
I'm running a dual Opteron (242) here, and routinely run MAKEOPTS="-j6
-l6" here, plus sometimes run multiple parallel emerges (using emerge -tp
first to see what the dependencies are, then emerge -a to verify that the
same dependency isn't in both).
As I'm running ~amd64, plus running way out front with still-masked gccs
(now gcc-4.0.2-rX and gcc-4.1.0), which sometime last year (with
gcc-4.0.0) required still experimental glibcs if I wanted to compile themm
with the new gcc, I tend to do more merging of everything, including
glibc, than most, and IDR ever having that sort of issue.
Occasionally, there's an ebuild that has parallel job issues, but they
tend to be pretty rare, because as they are found and bugged, the ebuild
will be adjusted to filter out the -jX and force serial compilation jobs.
In fact, a quick: "grep MAKEOPTS /p/sys-libs/glibc/*|grep j1" returns a
huge number of hits, multiple per ebuild, where serial compilation is
already forced by the various glibc ebuilds.
Assuming you didn't manually filter all those forced -j1 calls, all I can
say is perhaps another one or more need added. They apparently haven't
been triggered for most of us or it'd already be forced, but maybe your
machine just happens to trigger it in a different area. <shrug> Either
that or there's something strange going on with your bash or make or the
like and it's filtering the wrong thing.
What glibc are you attempting to merge, what are your bash, portage, gcc,
and make versions, and where exactly is the error? If you know bash
scripting well enough to follow what the ebuild is doing, it shouldn't be
hard to verify whether the problem make calls are forcing -j1 or not (some
in the glibc ebuilds do, some don't).
Also note that MAKEOPTS and MAKE_OPTS are two entirely different vars.
There's a note in the xorg ebuilds mentioning that some users had set the
_ version instead of the run-together version, and it messed things up.
The xorg ebuilds have a preemptive fix for the problem that the glibc
ebuilds are missing. If you mistakenly set MAKE_OPTS instead of MAKEOPTS...
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman in
email@example.com mailing list