When compiling from stage2, there's a circular dependency with the perl and I think java use flags.

I should have posted straight away (sorry) because now my memory of the installation is a bit fuzzy - but basically perl requires automake and automake requires perl. emerge gets it's nickers in a twist and you have to force it to emerge libperl without checking dependencies... and go through those dependies required by automake until you have a working perl install.

I found my way around anyway, but if emerge fails at such an early stage during a first install it may discourage some people from finishing the Gentoo install. Which would be a shame cos this is my favourite distro, and I'm recommending it to people

i have this problem (i am a newbie to gentoo, i have been using mandrake before but this seems to be a lot harder ) and i have no clue how to work around. Can you help me a bit with it because i must admit i feel like giving up...

I just followed the documentation and ended up with this when i had to do emerge system.

As you are running off the LiveCD at this point (I guess?) and already have automake available in binary form you can build stuff anyway even if it's not in your system proper yet.

so for the dependencies that are circular, force them in. like libperl for instance - emerge it without dependencies:

Code:

emerge --nodeps libperl

then when you have the dependencies in that are screwing it up, you should be able to do a normal emerge again. Do this with all the dependencies that appear on both the automake and perl sides until you can actually emerge successfully without using --nodeps.

Code:

emerge perl

I wish I had written down what I did at the time so I could be more helpful - but as you must be pretty hands on to even attempt installing Gentoo - this will probably be enough info to help you out.

For anyone else scratching their heads and wondering what we are on about whom already have an installed system - do this:

Just one question: i am not running from Live CD, does this make a lot of difference or should it work out just fine as well? (i had a knoppix cd and thought that this way of installing would work just as fine as well - which it up till now quite did). I am just asking because you ask for it. And how can i check that i have automake available already in binary format (because i think i don't but i am not sure if i think of the right things).

Forcing things in with nodeps until it works should be ok if you are on the livecd or not - as long as anything you try and force is does not directly rely on perl or automake to be there to actually build at all.

You can check if something is there by

Code:

emerge --search automake

It will tell you if you have something installed already. There is another way listed in the install handbook. That handbook is worthwhile printing out if you can, esp if you can print it out for work and get work to pay for it

If you don't have automake there and it refuses to emerge, do the nodeps thing with it's listed dependencies until it does.

Mentioned elsewhere and read to follow up to this thread, I have exactly this same problem, the other thread did not have a solution so I'm hoping I can find one here?

The newest versions of driverloader (2.06+) added a second service (in /etc/init.d). Before this, there was just one (driverloader) which starts the driverloader module after the network service. The second service (driverloaderbuild) automatically compiles the driverloader module if needed, and therefore needs to be before the network service.

If you check out the two services mentioned (/etc/init.d/driverloaderbuild and /etc/init.d/checkroot) you'll notice that in the "depend()" section, which tells the system what order things need to be loaded in, they both have "before *", so the files are telling the system they both need to be loaded first - before each other - hence the circular dependancy.

I got around this by editing the depend() section of /etc/init.d/driverloaderbuild from "before *" to "before net" - since driverloaderbuild only needs to be loaded before the net service is loaded, not before _everything_ else.