Am Mittwoch, 19. April 2006 18:15 schrieb Joshua Nichols: > Ivan Yosifov wrote: > > Am Dienstag, 18. April 2006 19:36 schrieb Joshua Nichols: > >> Ivan Yosifov wrote: > >>> Hello, > >>> > >>> Happens while emergeing eclipse: > >>> > >>> home ~ # emerge -1 eclipse-sdk > >>> Calculating dependencies... done! > >>> > >>>>>> Emerging (1 of 1) dev-util/eclipse-sdk-3.1.2 to / > >>>>>> checksums files .... > >>>>>> checksums src_uri ;-) eclipse-sourceBuild-srcIncluded-3.1.2.zip > >>> > >>> * Checking for sufficient physical RAM > >>> * Checking for bad CFLAGS > >>> * Found offending option -fomit-frame-pointer in your CFLAGS > >>> .... > >>> * Tip: use equery depgraph "=eclipse-sdk-3.1.2" to list all > >>> dependencies. > >>> > >>> /usr/local/portage/migration/migration/eclass/java-utils.eclass: line > >>> 97: [: -ge: unary operator expected > >>> Detected a JDK < 1.5.0 > >>> Detected a JDK >= 1.4.2 > >>> > >>>>>> Unpacking source... > >>> > >>> /usr/local/portage/migration/migration/ is where I've put the migration > >>> overlay revision 2114. Bash is 3.1_p17. Is this an eclass bug or > >>> something else ? > >> > >> Something else, I think. I've been working on the eclipse ebuilds (while > >> using migration-overlay, obviously), and hadn't noticed any problems. > >> > >> It might have something to do with the ebuild itself. Someone went and > >> committed a bump to 3.1.2 without consulting with us Java folks, so I'm > >> not sure what condition it is. Expect to see a new revision in a day or > >> so... > >> > >> Josh > > > > I am getting the same with the new eclipse-sdk-3.1.2-r1. I added some > > debugging output to the eclass in java-utils_is-vm-version-ge(): > > > > --- ./java-utils.eclass 2006-04-19 10:58:43.000000000 +0300 > > +++ /usr/local/portage/migration/migration/eclass/java-utils.eclass > > 2006-04-19 11:00:25.000000000 +0300 > > @@ -91,6 +91,12 @@ > > local vm_patch=$(echo ${vm_version} | cut -d. -f3) > > local vm_extra=$(echo ${vm_version} | cut -d. -f4) > > > > + echo ${vm_major} > > + echo ${vm_minor} > > + echo ${user_major} > > + echo ${user_minor} > > + echo ${vm_patch} > > + echo ${user_patch} > > if [ ${vm_major} -ge ${user_major} ] && [ ${vm_minor} -gt > > ${user_minor} ] ; then > > echo "Detected a JDK >= ${user_version}" > > return 0 > > > > and the output is: > > > > * Tip: use equery depgraph "=eclipse-sdk-3.1.2-r1" to list all > > dependencies. > > > > 1 > > 5 > > 1 > > 5 > > > > 0 > > /usr/local/portage/migration/migration/eclass/java-utils.eclass: line > > 103: [: -ge: unary operator expected > > Detected a JDK < 1.5.0 > > 1 > > 5 > > 1 > > 4 > > > > 2 > > Detected a JDK >= 1.4.2 > > > >>>> Unpacking source... > > > > ,meaning that vm_patch is ending up empty and that seems to confuse -ge > > conditionals using it. > > I'll have to look into this, but it probably just needs to sanity > checking for the vm_extra and company. > > Aside from that, what is the original of the ebuild for eclipse that you > are using? Also, which VM are you using? I haven't been able to quite > reproduce this problem... > > Josh I am using the eclipse-sdk-3.1.2-r1 ebuild from the main tree, attached here for reference. I have sun-jdk 1.4.2.10-r13 and 1.5.0.06-r13 installed. The problem with vm_patch seems to be that java-config -f | sed -e "s/.*-\([0-9.]\+\).*/\1/" ( in java-utils_get-vm-version ) returns just "1.5" and so vm_patch=$(echo ${vm_version} | cut -d. -f3) ( in java-utils_is-vm-version-ge ) ends up being an empty string. There is no third field to cut. -- Cheers, Ivan Yosifov.