Opened 15 years ago

Closed 15 years ago

Last modified 15 years ago

#156 closed defect (fixed)

Compilation fails in base2 test phase of 'make maintainer-check'

Reported by: Peter Johansson Owned by: Peter Johansson
Priority: major Milestone: se.lu.thep.wenni 0.7
Component: se.lu.thep.wenni Keywords:
Cc:

Description (last modified by Jari Häkkinen)

Relates to ticket:63

With all the automagic download I thought a simple:

./configure --enable-debug && make

would work, but I get the following error:

javac -encoding UTF8 -cp ./BaseCoreAPI/BASE2CorePlugins.jar:BaseCoreAPI/BASE2Core.jar::./PluginUtilities-0.1pre/PluginUtilities-0.1pre.jar:.build  .build/se/lu/thep/wenni/WeNNI.java
.build/se/lu/thep/wenni/WeNNI.java:58: se.lu.thep.wenni.WeNNI is not abstract and does not override abstract method getAbout() in net.sf.basedb.plugins.AbstractRunBinaryPlugin
public class WeNNI
       ^
.build/se/lu/thep/wenni/WeNNI.java:64: cannot find symbol
symbol  : variable about
location: class se.lu.thep.wenni.WeNNI
                about = new AboutImpl
                ^
.build/se/lu/thep/wenni/WeNNI.java:76: cannot find symbol
symbol  : variable defaultChildName
location: class se.lu.thep.wenni.WeNNI
                defaultChildName = "WeNNI imputed bioassayset";
                ^
.build/se/lu/thep/wenni/WeNNI.java:79: cannot find symbol
symbol  : variable permissions
location: class se.lu.thep.wenni.WeNNI
                permissions.add(new Permissions(Item.EXPERIMENT, null,
                ^
.build/se/lu/thep/wenni/WeNNI.java:81: cannot find symbol
symbol  : variable permissions
location: class se.lu.thep.wenni.WeNNI
                permissions.add(new Permissions(Item.JOB, null,
                ^
.build/se/lu/thep/wenni/WeNNI.java:85: cannot find symbol
symbol  : variable plugin_maintype
location: class se.lu.thep.wenni.WeNNI
                plugin_maintype=Plugin.MainType.ANALYZE;
                ^
.build/se/lu/thep/wenni/WeNNI.java:116: getBinaryPath(java.lang.String) in net.sf.basedb.plugins.AbstractRunBinaryPlugin cannot be applied to (java.lang.Class<capture#292 of ? extends se.lu.thep.wenni.WeNNI>,java.lang.String)
                String[] cmd = { getBinaryPath(this.getClass(),"nni") , "--help" };
                                 ^
.build/se/lu/thep/wenni/WeNNI.java:117: cannot find symbol
symbol  : method execute(java.lang.String[],net.sf.basedb.core.ProgressReporter)
location: class se.lu.thep.wenni.WeNNI
                execute(cmd,progress);
                ^
8 errors

Ideas?

Change History (8)

comment:1 by Peter Johansson, 15 years ago

(In [874]) refs #71

Adding some targets for maintainer to check that everything is OK in all three states. The target maintainer-check is just an aggregate of the three distcheck-* targets (that can be called independently if desired). For distcheck-base1 I hardcoded the '--with-basedir' which perhaps needs to be modified by maintainer. I'm not sure if it's possible (well read important) to set that in a less hard-coded manner, i.e., set it in configure.ac. distcheck-base2 did not work for me due to problems compiling the java code (refs #156).

comment:2 by Jari Häkkinen, 15 years ago

Does your software environment fulfil the requirements stated in the INSTALL doc? Is your java compiler version 1.6? I have no problems compiling the latest revision (883) on my machine.

comment:3 by Jari Häkkinen, 15 years ago

Description: modified (diff)
Summary: Compilation fails in base2 modeCompilation fails in base2 test phase of 'make maintainer-check'

Ok, trying 'make maintainer-check' actually fails with your falure message. So, compiling WeNNI.java works normally but not in distcheck.

comment:4 by Jari Häkkinen, 15 years ago

The problem must be that the compiling happens in a directory where the JAVACCLASSPATH makes no sense.

comment:5 by Jari Häkkinen, 15 years ago

Resolution: fixed
Status: newclosed

Ah, I got it! it downloads the pre-version PluginUtilities from baseplugins but it is obsolete. I'll upload a working version ... done. distcheck fails further down.

comment:6 by Peter Johansson, 15 years ago

Ok, now ./configure --enable-debug && make also works for me.

Two comments though:

  1. compilation is triggered even though I just compiled
  2. The new PluginUtilities were not downloaded automatically. Aah I guess in future, new versions will have a new version number and this is not an issue(!).

in reply to:  6 ; comment:7 by Jari Häkkinen, 15 years ago

Replying to peter:

Ok, now ./configure --enable-debug && make also works for me.

Two comments though:

  1. compilation is triggered even though I just compiled

Yes, the java class is always compiled. Some time ago I tried to figure out dependencies and failed, got problems with not compiling when compilation was required. I gave up, but it is doable ... 'ant' does something to avoid compilation but still does it too often. C/C++/autoconf does it much better. I think we should let this issue rest.

  1. The new PluginUtilities were not downloaded automatically. Aah I guess in future, new versions will have a new version number and this is not an issue(!).

The problem is that both WeNNI.java and PluginUtilities are currently in heavy development, code is moved back and forth between class. Versioning will resolve the issue once PluginUtilities is fixed and released.

in reply to:  7 comment:8 by Peter Johansson, 15 years ago

Replying to jari:

Replying to peter:

Ok, now ./configure --enable-debug && make also works for me.

Two comments though:

  1. compilation is triggered even though I just compiled

Yes, the java class is always compiled. Some time ago I tried to figure out dependencies and failed, got problems with not compiling when compilation was required. I gave up, but it is doable ... 'ant' does something to avoid compilation but still does it too often. C/C++/autoconf does it much better. I think we should let this issue rest.

I did some obvious fixes in [888].

Note: See TracTickets for help on using tickets.