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 |