Synopsis: I do have java 1.5 unmasked.  I need it for the classes I teach.
So why doesn't db use java 1.5?

On 12/31/05, Holly Bostick <[EMAIL PROTECTED]> wrote:
Jason Stubbs schreef:
> On Saturday 31 December 2005 21:57, Holly Bostick wrote:
>
>> If you look at  the output
>>
>>
>>> [nomerge      ]     sys-libs/db-4.2.52_p2-r1  -bootstrap +doc
>>> +java -nocxx +tcltk
>>
>> the reason db is calling for java is because you have the "java"
>> USE flag set for db.
>>
>> Do you really need db to use Java? If not, disable the flag (# echo
>>  'sys-libs/db -java'  >>/etc/portage/package.use); problem solved.
>
>
> All the way up until the next package which depends on java. Only the
>  first package that is came across is listed as the parent.
> sys-libs/db doesn't call for any specific version of java. The
> complaint is that sun-jdk-1.5 is installed but emerge is wanting to
> install sun-jdk-1.4. This indicates that sun-jdk-1.5 is likely
> masked.
>

Well that's all true, Jason, but my point was that this is an *option*,
not a hard dependency, and many times people have USE flags enabled for
things they don't even need (or need for the specific program).

So Kevin certainly could unmask sun-jdk 1.5 --and if it's installed, then
how did that happen without it being unmasked? Sun-jdk-1.5 is
hard-masked! The original post does not say that any version of the jdk
is actually installed:

> Anyway, my latest emerge world failed because of sun-jdk-1.4.2.10
> (!!!).  The current one is 1.5 something.

Meaning (to me) that Kevin is referring to the current *available*
*version* of sun-jdk, not to any version he might have installed (and my
impression is that he does not in fact have any version of sun-jdk
installed), and he's just concerned that an "out-of-date" version will
be installed rather than the latest.

But if he doesn't need java support in the db at all, then disabling the
USE flag entirely (globally or for this package alone), then java won't
be called by the emerge of db, which saves having to unmask a package
that Kevin may have concerns about installing in the first place if he
runs stable, or even unstable-- sun-jdk-1.5 *is* hard-masked, after all,
and one should rightfully think twice and then think again about
installing a hard-masked package-- and secondly does not install bloat
onto the system (if he doesn't need java support in db, then he has no
reason to install it, or spend the extra compile time installing db java
support).

I've often solved similar issues on my own system by the simple
expedient of disabling the USE flag that was calling the dependency that
was giving me a problem. Helps keep the system clean.

This has been pretty informative.  Perhaps I'm getting closer to understanding this.

Fact: I do have Java 1.5 unmasked.  I teach java, and need to be using the current version.  I have the java USE flag on generally, so there will probably be a number of packages that will call for it.  On the other hand, I don't have a specific need for it in 'db' which I never use explicitly -- I use gdbm or one of the SQL products for what database stuff I do personally.

The question now seems to be: why doesn't db use Java 1.5?  Watching the emerge go by, it seemed to be doing just that -- the filenames were all 1.5.
However, it's not just db.  When I disable java in db using package.use, the problem just switches to another dependency path:

[nomerge      ] x11-terms/xterm-204  +Xaw3d -toolbar +truetype -unicode
[nomerge      ]  x11-libs/Xaw3d-1.5-r1
[nomerge      ]      x11-base/xorg-x11-6.8.2-r6  -3dfx -3dnow +bitmap-fonts -cjk -debug -dlloader -dmx +doc -font-server -insecure-drivers +ipv6 -minimal +mmx +nls -nocxx +opengl +pam -sdk +sse -static +truetype-fonts +type1-fonts (-uclibc) -xprint +xv
[nomerge      ]       sys-apps/util-linux-2.12r-r1  +crypt +nls -old-crypt +pam +perl (-selinux) -static
[nomerge      ]        sys-apps/pam-login-3.17  -livecd +nls (-selinux)
[nomerge      ]         sys-apps/shadow-4.0.7-r4  +nls -nousuid +pam (-selinux) -skey
[nomerge      ]          sys-apps/portage-2.0.53  -build (-selinux)
[nomerge      ]           app-misc/pax-utils-0.1.4  +caps
[nomerge      ]            sys-libs/libcap-1.10-r5  -nocxx +python -static
[nomerge      ]             dev-lang/swig-1.3.21  +X +doc +guile +java +perl -php +python +ruby +tcltk
[ebuild  NSF  ]              dev-java/sun-jdk-1.4.2.10  +X +alsa -browserplugin +doc -examples -jce +mozilla +nsplugin 35,592 kB

Of course, since Java is slotted, I should probably just go ahead and re-emerge  that older version.   I was not clear when I said that emerge failed, because there is the option to download the file from Sun.  It still seems weird, though, that these packages are not satisfying their dependency with the Java that I have.

Sigh.

--
Kevin O'Gorman, PhD

Reply via email to