[Bug 269785] java/eclipse-ecj: Very much outdated

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 23 Feb 2023 19:00:50 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269785

            Bug ID: 269785
           Summary: java/eclipse-ecj: Very much outdated
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: salvadore@freebsd.org
                CC: gerald@FreeBSD.org, java@FreeBSD.org, jonc@chen.org.nz

Created attachment 240350
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=240350&action=edit
Attempt to update to 4.5.2

As I am attempting to remove old unsupported GCC related ports from our ports
tree, I suggested changing the math/scilab dependency on lang/gcc-ecj45 in a
dependency on java/eclipse-ecj, which has been done with commit
https://cgit.freebsd.org/ports/commit/?id=2d4eee31a5304dec391dcad3a9011ec32f7e912e
.

However, the version of devel/eclipse-ecj we have in the ports tree is 4.4.2,
which is behind what gcc-ecj45 offered. It would be nice if java/eclipse-ecj
could be updated to version 4.5.2 at least. Gerald and I have made an attempt,
that I attach to the bug report, but it failed with the following error:

===>  Building for eclipse-ecj-4.5.2
Buildfile:
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.5.2/build.xml

build:
   [delete] Deleting directory
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.5.2/bin
    [mkdir] Created dir:
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.5.2/bin
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.5.2/build.xml:27:
warning: 'includeantruntime' was not set, defaulting to
build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 446 source files to
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.5.2/bin
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.5.2/org/eclipse/jdt/internal/compiler/batch/ClasspathDirectory.java:21:
error: cannot find symbol
    [javac] import org.eclipse.jdt.core.JavaCore;
    [javac]                            ^
    [javac]   symbol:   class JavaCore
    [javac]   location: package org.eclipse.jdt.core
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.5.2/org/eclipse/jdt/internal/compiler/batch/ClasspathDirectory.java:192:
error: cannot find symbol
    [javac]                                     new
CompilerOptions(JavaCore.getOptions()),
    [javac]                                                         ^
    [javac]   symbol:   variable JavaCore
    [javac]   location: class ClasspathDirectory
    [javac] Note:
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.5.2/org/eclipse/jdt/core/JDTCompilerAdapter.java
uses or overrides a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 2 errors

BUILD FAILED
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.5.2/build.xml:27:
Compile failed; see the compiler error output for details.

Total time: 4 seconds
*** Error code 1

Stop.
make: stopped in /usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj

Since version 4.5.2 would still be very outdated and the update to that version
is not straightforward, I also made an attempt to update the port to the latest
version (4.26), that I also attach to the bug report. But it failed as well,
with the following error:

===>  Building for eclipse-ecj-4.26
Buildfile:
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/build.xml

build:
    [mkdir] Created dir:
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/bin
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/build.xml:29:
warning: 'includeantruntime' was not set, defaulting to
build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 541 source files to
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/bin
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/TypeElementImpl.java:32:
error: cannot find symbol
    [javac] import javax.lang.model.element.RecordComponentElement;
    [javac]                                ^
    [javac]   symbol:   class RecordComponentElement
    [javac]   location: package javax.lang.model.element
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/TypeElementImpl.java:183:
error: cannot find symbol
    [javac]     public List<? extends RecordComponentElement>
getRecordComponents() {
    [javac]                           ^
    [javac]   symbol:   class RecordComponentElement
    [javac]   location: class TypeElementImpl
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/RecordComponentElementImpl.java:20:
error: cannot find symbol
    [javac] import javax.lang.model.element.RecordComponentElement;
    [javac]                                ^
    [javac]   symbol:   class RecordComponentElement
    [javac]   location: package javax.lang.model.element
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/RecordComponentElementImpl.java:28:
error: cannot find symbol
    [javac] public class RecordComponentElementImpl extends VariableElementImpl
implements RecordComponentElement {
    [javac]                                                                    
           ^
    [javac]   symbol: class RecordComponentElement
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/Factory.java:331:
error: an enum switch case label must be the unqualified name of an enumeration
constant
    [javac]                     case RECORD :
    [javac]                          ^
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/ElementsImpl.java:352:
error: an enum switch case label must be the unqualified name of an enumeration
constant
    [javac]                     case RECORD :
    [javac]                          ^
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/ElementsImpl.java:383:
error: an enum switch case label must be the unqualified name of an enumeration
constant
    [javac]                     case RECORD_COMPONENT :
    [javac]                          ^
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/ElementsImpl.java:589:
error: an enum switch case label must be the unqualified name of an enumeration
constant
    [javac]                     case RECORD :
    [javac]                          ^
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/ElementsImpl.java:602:
error: an enum switch case label must be the unqualified name of an enumeration
constant
    [javac]                     case RECORD_COMPONENT :
    [javac]                          ^
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/ElementsImpl.java:734:
error: method does not override or implement a method from a supertype
    [javac]     @Override
    [javac]     ^
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/TypeElementImpl.java:89:
error: an enum switch case label must be the unqualified name of an enumeration
constant
    [javac]                             case RECORD :
    [javac]                                  ^
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/TypeElementImpl.java:109:
error: an enum switch case label must be the unqualified name of an enumeration
constant
    [javac]                             case RECORD_COMPONENT :
    [javac]                                  ^
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/TypeElementImpl.java:170:
error: cannot find symbol
    [javac]                             RecordComponentElement rec = new
RecordComponentElementImpl(_env, comp);
    [javac]                             ^
    [javac]   symbol:   class RecordComponentElement
    [javac]   location: class TypeElementImpl
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/TypeElementImpl.java:182:
error: method does not override or implement a method from a supertype
    [javac]     @Override
    [javac]     ^
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/TypeElementImpl.java:186:
error: cannot find symbol
    [javac]                     List<RecordComponentElement> enclosed = new
ArrayList<>();
    [javac]                          ^
    [javac]   symbol:   class RecordComponentElement
    [javac]   location: class TypeElementImpl
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/TypeElementImpl.java:188:
error: cannot find symbol
    [javac]                             RecordComponentElement variable = new
RecordComponentElementImpl(_env, comp);
    [javac]                             ^
    [javac]   symbol:   class RecordComponentElement
    [javac]   location: class TypeElementImpl
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/TypeElementImpl.java:198:
error: method does not override or implement a method from a supertype
    [javac]     @Override
    [javac]     ^
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/TypeElementImpl.java:264:
error: cannot find symbol
    [javac]                     return ElementKind.RECORD;
    [javac]                                       ^
    [javac]   symbol:   variable RECORD
    [javac]   location: class ElementKind
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/RecordComponentElementImpl.java:36:
error: cannot find symbol
    [javac]             return ElementKind.RECORD_COMPONENT;
    [javac]                               ^
    [javac]   symbol:   variable RECORD_COMPONENT
    [javac]   location: class ElementKind
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/RecordComponentElementImpl.java:39:
error: method does not override or implement a method from a supertype
    [javac]     @Override
    [javac]     ^
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/RecordComponentElementImpl.java:52:
error: cannot find symbol
    [javac]             return visitor.visitRecordComponent(this, param);
    [javac]                           ^
    [javac]   symbol:   method
visitRecordComponent(RecordComponentElementImpl,P)
    [javac]   location: variable visitor of type ElementVisitor<R,P>
    [javac]   where P,R are type-variables:
    [javac]     P extends Object declared in method
<R,P>accept(ElementVisitor<R,P>,P)
    [javac]     R extends Object declared in method
<R,P>accept(ElementVisitor<R,P>,P)
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/TypesImpl.java:142:
error: an enum switch case label must be the unqualified name of an enumeration
constant
    [javac]             case RECORD_COMPONENT:
    [javac]                  ^
    [javac]
/usr/home/lorenzo/FreeBSD/wrkdir/usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj/work/eclipse-ecj-4.26/org/eclipse/jdt/internal/compiler/apt/model/TypesImpl.java:164:
error: an enum switch case label must be the unqualified name of an enumeration
constant
    [javac]             case RECORD:
    [javac]                  ^
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 23 errors
*** Error code 1

Stop.
make: stopped in /usr/home/lorenzo/FreeBSD/ports/test/java/eclipse-ecj

Is anyone able to help?

-- 
You are receiving this mail because:
You are the assignee for the bug.