From Gentoo Wiki
Jump to:navigation Jump to:search

Hello folks!

I am using gentoo occasionaly when I have to compile my kernel. Then, when the kernel fist my needs, I use it with other distributions.

I do this because gentoo compiles the kernel from source and thsi is the best way to comply with kernel open-source philosophy.

But this has a draw back: I am not a gentoo expert.

When compiling a source code, I use man pages and emerge advices to acheive updates. I do not use evoluted software such as X11 or complex programs, just kernel compiling.

Recently, I tried to update my system (emerge --update world) and I had the following answer: app-text/open-jade-1.3.2-r3 is cycling with app-text/opensp-1.5.2-r3 making a circular dependancy. The advice is to apply the following change: - app-text/opensp-1.5.2-r3 (change USE: -text)

After trying several options I realised I cannot understand this sentence: what is this begining "-", do I have to put "- app-text/opensp-1.5.2-r3" in package.use ? >> CERTAINALY No as the beginnig "-" is rejected.

is the beginning "-" just for a list enumeration character? Maybe or maybe not? Can you tell me where do I have to put this package instruction?

More over the trailing "(change USE: -text) is certainely not an instruction but a human level advice: Does it means I have to put "-test" in make.conf USE variable? Or is the beginning "-" just for fun and do I have to put "test" in USE variable?

In fact, my trouble is I do not have enough experience to understand this advice: it is not a direct computer instruction and it is not a human readable advice instruction with sufficient human level explaination to produce a computer instruction?

Can you help me understand what to do?


P.S.: I beleive it is very powerfull to use cross distribution use because it allows to detect universal linux way of life even if it needs more time to understand each distribution philosophy.


After navigating through forums I found that I have to consult ebuilds to detect dependencies.

Then opensp has a test dependency to openjade.

But I cannot remove the test dependency in make.conf or package.use. It has no effect:

USE="-test" emerge opensp

leads to circular dependency.

emerging continues to depend on a "{test}" flag so that I cannot emerge.

Looking at ebuilds it appears that openjade has a RDEPEND dependency to opensp.

But as stated in saying: Post-Merge Dependencies

The PDEPEND variable specifies dependencies which must be merged after the package. This is sometimes used for plugins which have a dependency upon the package being merged. Generally PDEPEND should be avoided in favour of RDEPEND except where this will create circular dependency chains.

so I think it should be a PDEPENDENCY.

Trying so, I found I need --digest option to the emerge command in order to avoid ebuild corruption. But it does not solve the circular dependency problem.

I would like to warn the ebuild maintainer but how can I contact him (email does not appear in ebuild) ?

After some web browsing, it appears that test flag cannot be modified by USE variable but by FEATURES variable, so the solution is:


FEATURES="-test" emerge opensp

the emerge advice is wrong, it says change-use "-test" but the emerge man page says it has no effect.