View previous topic :: View next topic |
Author |
Message |
paulecoyote n00b
Joined: 06 Aug 2004 Posts: 61
|
Posted: Tue Oct 05, 2004 1:23 pm Post subject: When compiling from stage2, there's a circular dependency |
|
|
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 |
|
Back to top |
|
|
nokietje n00b
Joined: 08 Oct 2004 Posts: 3 Location: Leuven, Belgium
|
Posted: Fri Oct 08, 2004 1:15 pm Post subject: |
|
|
hey,
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. |
|
Back to top |
|
|
paulecoyote n00b
Joined: 06 Aug 2004 Posts: 61
|
Posted: Fri Oct 08, 2004 3:02 pm Post subject: |
|
|
Sure. First do a :
Code: | emerge --pretend perl |
or
Code: |
emerge --pretend automake |
... and see what dependencies need to be built.
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.
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:
Code: | emerge --emptytree --pretend perl
emerge --emptytree --pretend automake |
Now for me and the other guy on this thread, on the Livecd perl appears in automakes dependencies... and automake appears in perls dependencies. |
|
Back to top |
|
|
nokietje n00b
Joined: 08 Oct 2004 Posts: 3 Location: Leuven, Belgium
|
Posted: Fri Oct 08, 2004 3:16 pm Post subject: |
|
|
Hey,
thanks a lot, i will try it tonight (i am at my work now ).
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). |
|
Back to top |
|
|
paulecoyote n00b
Joined: 06 Aug 2004 Posts: 61
|
Posted: Fri Oct 08, 2004 3:36 pm Post subject: |
|
|
I'm not sure - I'm pretty new at this as well.
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. |
|
Back to top |
|
|
hielvc Advocate
Joined: 19 Apr 2002 Posts: 2805 Location: Oceanside, Ca
|
Posted: Fri Oct 08, 2004 4:31 pm Post subject: |
|
|
You might also try this Shink wrote: | Install PERL without gdbm support
# USE="-gdbm" emerge perl
Install autoconf now that PERL is there
# emerge autoconf
Install gdbm (not sure what this is, database of some sort?)
# emerge gdbm
Then I reinstalled perl so it could use gdbm
# emerge unmerge perl
# emerge perl
Then finish the system
# emerge system |
_________________ An A-Z Index of the Linux BASH command line |
|
Back to top |
|
|
paulecoyote n00b
Joined: 06 Aug 2004 Posts: 61
|
Posted: Fri Oct 08, 2004 7:16 pm Post subject: |
|
|
ha! that's why your rating is "l33t" I guess |
|
Back to top |
|
|
nokietje n00b
Joined: 08 Oct 2004 Posts: 3 Location: Leuven, Belgium
|
Posted: Sat Oct 09, 2004 7:24 am Post subject: |
|
|
Hey
thanks a lot it is solved. Here is how i did it. I checked what were the dependencies of automake and i just did
which was the first package in my case. This one installed perl with a lot of other things so after that i could just install automake without forcing anything.
thanks for the help! |
|
Back to top |
|
|
echo6 Guru
Joined: 04 Jan 2003 Posts: 587
|
Posted: Mon Nov 08, 2004 10:10 pm Post subject: |
|
|
Code: | >>> Regenerating /etc/ld.so.cache...
* Caching service dependencies...
* Services 'driverloaderbuild' and 'checkroot' have circular
* dependency of type 'ibefore'; continuing... [ ok ] |
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? |
|
Back to top |
|
|
Dr_Claw n00b
Joined: 26 Dec 2003 Posts: 8 Location: en_GB
|
Posted: Thu Nov 11, 2004 11:36 am Post subject: |
|
|
echo6 wrote: | Code: | >>> Regenerating /etc/ld.so.cache...
* Caching service dependencies...
* Services 'driverloaderbuild' and 'checkroot' have circular
* dependency of type 'ibefore'; continuing... [ ok ] |
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.
It works for me, anyway! |
|
Back to top |
|
|
echo6 Guru
Joined: 04 Jan 2003 Posts: 587
|
Posted: Fri Nov 19, 2004 3:04 pm Post subject: |
|
|
Excellent thanks |
|
Back to top |
|
|
Apropos n00b
Joined: 06 Jan 2004 Posts: 29
|
Posted: Fri Jun 03, 2005 4:25 am Post subject: |
|
|
I had to use Code: | USE="-xvga -berkdb" emerge -va PACKAGE | for some of my perl and automake and autoconf ebuilds. paulecoyote's post using the --nodeps option combined with the above worked. Also I needed to install my kernel for pam.
I will run Code: | emerge --newuse system | and maybe it will remake the packages with my standard USE flags. Haven't done it yet but I'll see. |
|
Back to top |
|
|
Johny the Ripper Tux's lil' helper
Joined: 14 Nov 2004 Posts: 135 Location: EU - Belgium
|
Posted: Mon Jul 04, 2005 8:20 pm Post subject: |
|
|
On my system libperl wouldn't emerge. I solved it by changing the date from 1998 to 2005. Suddenly all went fine _________________ De omnis Belgae bravissimi ... erant |
|
Back to top |
|
|
Slavo Apprentice
Joined: 26 May 2005 Posts: 229
|
Posted: Tue Jul 05, 2005 2:52 pm Post subject: |
|
|
this was thousand times discussed already
you can solve it by
#emerge -O libperl perl
then
#emerge system
later you need to rebuild those 2 packages by
#emerge libperl perl |
|
Back to top |
|
|
|