Gentoo Archives: gentoo-java

From: Joshua Nichols <nichoj@g.o>
To: Ivan Yosifov <ivan@×××××××.net>
Cc: gentoo-java@l.g.o
Subject: Re: [gentoo-java] migration/eclass/java-utils.eclass: line 97: [: -ge: unary operator expected
Date: Mon, 01 May 2006 21:21:03
Message-Id: 44567B7E.8000308@gentoo.org
In Reply to: Re: [gentoo-java] migration/eclass/java-utils.eclass: line 97: [: -ge: unary operator expected by Ivan Yosifov
1 Ivan Yosifov wrote:
2 > Am Donnerstag, 20. April 2006 19:03 schrieb Ivan Yosifov:
3 >
4 >> Am Mittwoch, 19. April 2006 18:15 schrieb Joshua Nichols:
5 >>
6 >>> Ivan Yosifov wrote:
7 >>>
8 >>>> Am Dienstag, 18. April 2006 19:36 schrieb Joshua Nichols:
9 >>>>
10 >>>>> Ivan Yosifov wrote:
11 >>>>>
12 >>>>>> Hello,
13 >>>>>>
14 >>>>>> Happens while emergeing eclipse:
15 >>>>>>
16 >>>>>> home ~ # emerge -1 eclipse-sdk
17 >>>>>> Calculating dependencies... done!
18 >>>>>>
19 >>>>>>
20 >>>>>>>>> Emerging (1 of 1) dev-util/eclipse-sdk-3.1.2 to /
21 >>>>>>>>> checksums files ....
22 >>>>>>>>> checksums src_uri ;-) eclipse-sourceBuild-srcIncluded-3.1.2.zip
23 >>>>>>>>>
24 >>>>>> * Checking for sufficient physical RAM
25 >>>>>> * Checking for bad CFLAGS
26 >>>>>> * Found offending option -fomit-frame-pointer in your CFLAGS
27 >>>>>> ....
28 >>>>>> * Tip: use equery depgraph "=eclipse-sdk-3.1.2" to list all
29 >>>>>> dependencies.
30 >>>>>>
31 >>>>>> /usr/local/portage/migration/migration/eclass/java-utils.eclass: line
32 >>>>>> 97: [: -ge: unary operator expected
33 >>>>>> Detected a JDK < 1.5.0
34 >>>>>> Detected a JDK >= 1.4.2
35 >>>>>>
36 >>>>>>
37 >>>>>>>>> Unpacking source...
38 >>>>>>>>>
39 >>>>>> /usr/local/portage/migration/migration/ is where I've put the
40 >>>>>> migration overlay revision 2114. Bash is 3.1_p17. Is this an eclass
41 >>>>>> bug or something else ?
42 >>>>>>
43 >>>>> Something else, I think. I've been working on the eclipse ebuilds
44 >>>>> (while using migration-overlay, obviously), and hadn't noticed any
45 >>>>> problems.
46 >>>>>
47 >>>>> It might have something to do with the ebuild itself. Someone went and
48 >>>>> committed a bump to 3.1.2 without consulting with us Java folks, so
49 >>>>> I'm not sure what condition it is. Expect to see a new revision in a
50 >>>>> day or so...
51 >>>>>
52 >>>>> Josh
53 >>>>>
54 >>>> I am getting the same with the new eclipse-sdk-3.1.2-r1. I added some
55 >>>> debugging output to the eclass in java-utils_is-vm-version-ge():
56 >>>>
57 >>>> --- ./java-utils.eclass 2006-04-19 10:58:43.000000000 +0300
58 >>>> +++ /usr/local/portage/migration/migration/eclass/java-utils.eclass
59 >>>> 2006-04-19 11:00:25.000000000 +0300
60 >>>> @@ -91,6 +91,12 @@
61 >>>> local vm_patch=$(echo ${vm_version} | cut -d. -f3)
62 >>>> local vm_extra=$(echo ${vm_version} | cut -d. -f4)
63 >>>>
64 >>>> + echo ${vm_major}
65 >>>> + echo ${vm_minor}
66 >>>> + echo ${user_major}
67 >>>> + echo ${user_minor}
68 >>>> + echo ${vm_patch}
69 >>>> + echo ${user_patch}
70 >>>> if [ ${vm_major} -ge ${user_major} ] && [ ${vm_minor} -gt
71 >>>> ${user_minor} ] ; then
72 >>>> echo "Detected a JDK >= ${user_version}"
73 >>>> return 0
74 >>>>
75 >>>> and the output is:
76 >>>>
77 >>>> * Tip: use equery depgraph "=eclipse-sdk-3.1.2-r1" to list all
78 >>>> dependencies.
79 >>>>
80 >>>> 1
81 >>>> 5
82 >>>> 1
83 >>>> 5
84 >>>>
85 >>>> 0
86 >>>> /usr/local/portage/migration/migration/eclass/java-utils.eclass: line
87 >>>> 103: [: -ge: unary operator expected
88 >>>> Detected a JDK < 1.5.0
89 >>>> 1
90 >>>> 5
91 >>>> 1
92 >>>> 4
93 >>>>
94 >>>> 2
95 >>>> Detected a JDK >= 1.4.2
96 >>>>
97 >>>>
98 >>>>>>> Unpacking source...
99 >>>>>>>
100 >>>> ,meaning that vm_patch is ending up empty and that seems to confuse -ge
101 >>>> conditionals using it.
102 >>>>
103 >>> I'll have to look into this, but it probably just needs to sanity
104 >>> checking for the vm_extra and company.
105 >>>
106 >>> Aside from that, what is the original of the ebuild for eclipse that you
107 >>> are using? Also, which VM are you using? I haven't been able to quite
108 >>> reproduce this problem...
109 >>>
110 >>> Josh
111 >>>
112 >> I am using the eclipse-sdk-3.1.2-r1 ebuild from the main tree, attached
113 >> here for reference. I have sun-jdk 1.4.2.10-r13 and 1.5.0.06-r13 installed.
114 >> The problem with vm_patch seems to be that
115 >>
116 >> java-config -f | sed -e "s/.*-\([0-9.]\+\).*/\1/" ( in
117 >> java-utils_get-vm-version )
118 >>
119 >> returns just "1.5" and so
120 >>
121 >> vm_patch=$(echo ${vm_version} | cut -d. -f3) ( in
122 >> java-utils_is-vm-version-ge ) ends up being an empty string. There is no
123 >> third field to cut.
124 >>
125 >
126 > Still an issue with eclipse-sdk-3.1.2-r2 and migration overlay revision 2129.
127 >
128 >
129
130 Could you check the contents of /usr/bin/java-config ? If it is a python
131 script, try remerging java-config-wrapper.
132
133 I just finished helping a user in #gentoo-java that was having the same
134 issue, and that did the trick.
135
136 Now, I need to track down why it's the original java-config, instead of
137 the new wrapper for java-config....
138
139 - Josh
140 --
141 gentoo-java@g.o mailing list

Replies

Subject Author
Re: [gentoo-java] migration/eclass/java-utils.eclass: line 97: [: -ge: unary operator expected Mathew Robertson <mathew.robertson@××××××××××××××.au>