Gentoo Archives: gentoo-user

From: Kevin O'Gorman <kogorman@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] emerge going weird
Date: Sat, 31 Dec 2005 18:01:32
Message-Id: 9acccfe50512310955u4d237430ndfcb04b0a7f401e9@mail.gmail.com
In Reply to: Re: [gentoo-user] emerge going weird by Holly Bostick
1 Synopsis: I'm really confused
2
3 On 12/31/05, Holly Bostick <motub@××××××.nl> wrote:
4 >
5 > Kevin O'Gorman schreef:
6 > > Synopsis: I do have java 1.5 unmasked. I need it for the classes I
7 > > teach. So why doesn't db use java 1.5?
8 > >
9 > > On 12/31/05, Holly Bostick <motub@××××××.nl> wrote:
10 > >
11 > >> Jason Stubbs schreef:
12 > >>
13 > >>> On Saturday 31 December 2005 21:57, Holly Bostick wrote:
14 > >>>
15 > >>>
16 > >>>> If you look at the output
17 > >>>>
18 > >>>>
19 > >>>>
20 > >>>>> [nomerge ] sys-libs/db-4.2.52_p2-r1 -bootstrap +doc
21 > >>>>> +java -nocxx +tcltk
22 > >>>>
23 > >>>> the reason db is calling for java is because you have the
24 > >>>> "java" USE flag set for db.
25 > >>>>
26 > >>>> Do you really need db to use Java? If not, disable the flag (#
27 > >>>> echo 'sys-libs/db -java' >>/etc/portage/package.use); problem
28 > >>>> solved.
29 > >>>
30 > >>>
31 > >>> All the way up until the next package which depends on java. Only
32 > >>> the first package that is came across is listed as the parent.
33 > >>> sys-libs/db doesn't call for any specific version of java. The
34 > >>> complaint is that sun-jdk-1.5 is installed but emerge is wanting
35 > >>> to install sun-jdk-1.4. This indicates that sun-jdk-1.5 is likely
36 > >>> masked.
37 > >>>
38 > >>
39 > >> Well that's all true, Jason, but my point was that this is an
40 > >> *option*, not a hard dependency, and many times people have USE
41 > >> flags enabled for things they don't even need (or need for the
42 > >> specific program).
43 > >>
44 > >> So Kevin certainly could unmask sun-jdk 1.5 --and if it's
45 > >> installed, then how did that happen without it being unmasked?
46 > >> Sun-jdk-1.5 is hard-masked! The original post does not say that any
47 > >> version of the jdk is actually installed:
48 > >>
49 > >>
50 > >>> Anyway, my latest emerge world failed because of sun-jdk-1.4.2.10
51 > >>> (!!!). The current one is 1.5 something.
52 > >>
53 > >> Meaning (to me) that Kevin is referring to the current *available*
54 > >> *version* of sun-jdk, not to any version he might have installed
55 > >> (and my impression is that he does not in fact have any version of
56 > >> sun-jdk installed), and he's just concerned that an "out-of-date"
57 > >> version will be installed rather than the latest.
58 > >>
59 > >> But if he doesn't need java support in the db at all, then
60 > >> disabling the USE flag entirely (globally or for this package
61 > >> alone), then java won't be called by the emerge of db, which saves
62 > >> having to unmask a package that Kevin may have concerns about
63 > >> installing in the first place if he runs stable, or even unstable--
64 > >> sun-jdk-1.5 *is* hard-masked, after all, and one should rightfully
65 > >> think twice and then think again about installing a hard-masked
66 > >> package-- and secondly does not install bloat onto the system (if
67 > >> he doesn't need java support in db, then he has no reason to
68 > >> install it, or spend the extra compile time installing db java
69 > >> support).
70 > >>
71 > >> I've often solved similar issues on my own system by the simple
72 > >> expedient of disabling the USE flag that was calling the dependency
73 > >> that was giving me a problem. Helps keep the system clean.
74 > >
75 > >
76 > >
77 > > This has been pretty informative. Perhaps I'm getting closer to
78 > > understanding this.
79 > >
80 > > Fact: I do have Java 1.5 unmasked. I teach java, and need to be
81 > > using the current version. I have the java USE flag on generally, so
82 > > there will probably be a number of packages that will call for it.
83 > > On the other hand, I don't have a specific need for it in 'db' which
84 > > I never use explicitly -- I use gdbm or one of the SQL products for
85 > > what database stuff I do personally.
86 > >
87 > > The question now seems to be: why doesn't db use Java 1.5? Watching
88 > > the emerge go by, it seemed to be doing just that -- the filenames
89 > > were all 1.5. However, it's not just db. When I disable java in db
90 > > using package.use, the problem just switches to another dependency
91 > > path:
92 > >
93 > > [nomerge ] dev-lang/swig-1.3.21 +X +doc +guile
94 > > +java +perl -php +python +ruby +tcltk [ebuild NSF ]
95 > > dev-java/sun-jdk-1.4.2.10 +X +alsa -browserplugin +doc -examples
96 > > -jce +mozilla +nsplugin 35,592 kB
97 >
98 > Quite possibly because the issue may be in your virtuals rather than in
99 > the world file:
100 >
101 > Runtime Dependencies
102 > swig-1.3.27
103 > <snip>
104 > java virtual/jdk
105 >
106 >
107 > I presume that db (among others) also relies on virtual/jdk rather than
108 > an explicit package or package version).
109 >
110 > And iirc, the virtual is not going to be linked to a hard-masked package
111 > (or at least it most likely is not atm, or the hard-masked packages are
112 > listed after the stable packages).
113 >
114 > So what I would do is check /var/cache/edb/virtuals and see what the
115 > listing for jdk actually is.
116 >
117 > IIrc, mine now reads
118 >
119 > virtual/jdk dev-java/sun-jdk dev-java/blackdown-jdk
120 >
121 > because I manually reversed sun-jdk and blackdown-jdk; otherwise
122 > everything that relied on virtual/jdk kept trying to install blackdown,
123 > which I don't want.
124 >
125 > And may I ask, when you say that you have sun-jdk unmasked, you mean
126 > both in package.unmask and in package.keywords, right? Because it not
127 > being unmasked in package.keywords (as well as disabling the hard mask
128 > in package.unmask) is the only reason I can think of that only the
129 > stable version is coming up (since clearly swig, for example, is
130 > recognizing that sun-jdk is the preferred virtual/jdk as opposed to all
131 > the other java jdks that are available, but does not recognize the
132 > unstable versions thereof).
133 >
134 > Anyway, a bit confused, but I hope it's helpful
135
136
137
138 Yes, helpful. Not yet clarifying. In fact, it just got worse. I didn't
139 know
140 anything about 'virtuals', and when I look, it seems none of this should
141 be happening. Here's the things from virtuals that relate to java:
142
143 treat # fgrep 'java
144 > jdk
145 > jre' /var/cache/edb/virtuals
146 virtual/jre dev-java/blackdown-jdk dev-java/blackdown-jre
147 virtual/jdk dev-java/blackdown-jdk
148 virtual/java-scheme dev-java/blackdown-jdk dev-java/blackdown-jre
149 treat #
150
151 So why am I getting away with a sun-jdk satisfying this dependency at all?
152 And how did this happen? Maybe a thing I chose 'way back when I first
153 installed and had no idea what any of this stuff did?
154
155 Update: after downloading the sun-jdk-1.4... the emerge went through.
156 I'm up and running, but I'm still:
157
158 ++ Confused in California
159
160 --
161 Kevin O'Gorman, PhD

Replies

Subject Author
Re: [gentoo-user] emerge going weird Kevin O'Gorman <kogorman@×××××.com>