Andreas Tille: > [..] > > compile: > [mkdir] Created dir: > /build/biojava3-live-3.1.0+dfsg/build/biojava3-structure-gui/classes > [javac] > /build/biojava3-live-3.1.0+dfsg/biojava3-structure-gui/build.xml:73: warning: > 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set > to false for repeatable builds > [javac] Compiling 109 source files to > /build/biojava3-live-3.1.0+dfsg/build/biojava3-structure-gui/classes > [javac] > /build/biojava3-live-3.1.0+dfsg/biojava3-structure-gui/src/main/java/org/biojava/bio/structure/align/gui/jmol/MyJmolStatusListener.java:34: > error: package org.jmol.constant does not exist > [javac] import org.jmol.constant.EnumCallback; > [javac] ^ > [javac] > /build/biojava3-live-3.1.0+dfsg/biojava3-structure-gui/src/main/java/org/biojava/bio/structure/align/gui/jmol/MyJmolStatusListener.java:114: > error: cannot find symbol > [javac] public void notifyCallback(EnumCallback arg0, Object[] arg1) { > [javac] ^ > [javac] symbol: class EnumCallback > [javac] location: class MyJmolStatusListener > [javac] > /build/biojava3-live-3.1.0+dfsg/biojava3-structure-gui/src/main/java/org/biojava/bio/structure/align/gui/jmol/MyJmolStatusListener.java:120: > error: cannot find symbol > [javac] public boolean notifyEnabled(EnumCallback arg0) { > [javac] ^ > [javac] symbol: class EnumCallback > [javac] location: class MyJmolStatusListener > [javac] > /build/biojava3-live-3.1.0+dfsg/biojava3-structure-gui/src/main/java/org/biojava/bio/structure/align/gui/jmol/StructureAlignmentJmol.java:445: > error: cannot find symbol > [javac] String atomInfo = viewer.getAtomInfo(pos); > [javac] ^ > [javac] symbol: method getAtomInfo(int) > [javac] location: variable viewer of type JmolViewer > [javac] > /build/biojava3-live-3.1.0+dfsg/biojava3-structure-gui/src/main/java/org/biojava/bio/structure/align/gui/jmol/StructureAlignmentJmol.java:478: > error: cannot find symbol > [javac] String atomInfo = viewer.getAtomInfo(pos); > [javac] ^ > [javac] symbol: method getAtomInfo(int) > [javac] location: variable viewer of type JmolViewer > [javac] > /build/biojava3-live-3.1.0+dfsg/biojava3-structure-gui/src/main/java/org/biojava/bio/structure/align/gui/jmol/MyJmolStatusListener.java:36: > error: MyJmolStatusListener is not abstract and does not override abstract > method resizeInnerPanel(String) in JmolStatusListener > [javac] public class MyJmolStatusListener implements JmolStatusListener { > [javac] ^ > [javac] > /build/biojava3-live-3.1.0+dfsg/biojava3-structure-gui/src/main/java/org/biojava/bio/structure/align/gui/jmol/MyJmolStatusListener.java:139: > error: resizeInnerPanel(String) in MyJmolStatusListener cannot implement > resizeInnerPanel(String) in JmolStatusListener > [javac] public void resizeInnerPanel(String data) { > [javac] ^ > [javac] return type void is not compatible with int[] > [javac] > /build/biojava3-live-3.1.0+dfsg/biojava3-structure-gui/src/main/java/org/biojava/bio/structure/align/gui/jmol/MyJmolStatusListener.java:79: > error: name clash: notifyCallback(int,Object[]) in MyJmolStatusListener > overrides a method whose erasure is the same as another method, yet neither > overrides the other > [javac] public void notifyCallback(int arg0, Object[] arg1) { > [javac] ^ > [javac] first method: notifyCallback(CBK,Object[]) in > JmolCallbackListener > [javac] second method: notifyCallback(EnumCallback,Object[]) in > MyJmolStatusListener > [javac] > /build/biojava3-live-3.1.0+dfsg/biojava3-structure-gui/src/main/java/org/biojava/bio/structure/align/gui/jmol/MyJmolStatusListener.java:84: > error: name clash: notifyEnabled(int) in MyJmolStatusListener overrides a > method whose erasure is the same as another method, yet neither overrides the > other > [javac] public boolean notifyEnabled(int arg0) { > [javac] ^ > [javac] first method: notifyEnabled(CBK) in JmolCallbackListener > [javac] second method: notifyEnabled(EnumCallback) in > MyJmolStatusListener > [javac] Note: > /build/biojava3-live-3.1.0+dfsg/biojava3-structure-gui/src/main/java/org/biojava/bio/structure/align/gui/jmol/JmolPanel.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] 9 errors > > BUILD FAILED > /build/biojava3-live-3.1.0+dfsg/biojava3-structure-gui/build.xml:73: Compile > failed; see the compiler error output for details. >
This basically means that Jmol changed its API between version 12 and 14. I don't think I messed up the packaging, the missing things like org.jmol.constant.EnumCallback are not even in the current source code. Someone will have to go through the changes and make biojava3-live work with Jmol 14 again, this involves Java coding. What I normally do is grep the source code to see if there's anything "similar" in the current source. Or perhaps upstream has a patch, commit, or ticket lying around somewhere where this is already done or half-done. To avoid problems like this in the future, it's recommended to only use things that are clearly labeled as public API. The current version of Jmol has a src/org/jmol/api/ directory, perhaps you can edit the currently-failing code to use this instead. Or, if it is already an old/abandoned project (I notice that biojava4-live exists too) I suggest to consider just removing it from Debian. > Total time: 2 seconds > > > BTW, if it helps I could migrate biojava3-live from SVN to Git if this > might be more convenient for interested people to directly change things > in VCS. > That would help me if I had time to work on it, but probably not directly on the code, for another few weeks. X -- GPG: ed25519/56034877E1F87C35 GPG: rsa4096/1318EFAC5FBBDBCE https://github.com/infinity0/pubkeys.git