NOTICE! This is a static HTML version of a legacy Fiji BugZilla bug.

The Fiji project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Bug 162 - Fake doesn't compile TrakEM2:
Fake doesn't compile TrakEM2:
Status: RESOLVED FIXED
Product: Fiji
Classification: Unclassified
Component: Other
unspecified
PC Linux
: P2 normal
Assigned To: ImageJ Bugs Mailing List
Depends on:
Blocks:
 
Reported: 2010-04-13 02:44 CDT by Albert Cardona
Modified: 2010-04-13 17:37 CDT
0 users

See Also:

Description Albert Cardona 2010-04-13 02:44:40 CDT
Fake is being too clever:

albert@mac:~/Programming/fiji (master)$ cd TrakEM2/
albert@mac:~/Programming/fiji/TrakEM2 (master)$ find -name "*java" -exec touch {} \;
albert@mac:~/Programming/fiji/TrakEM2 (master)$ cd ..
albert@mac:~/Programming/fiji (master)$ ./Build.sh 
Building jars/VectorString.jar <- TrakEM2/ jars/Jama-1.0.2.jar
Building in TrakEM2/
Building VectorString.jar <- ini/trakem2/vector/Editions.java ini/...
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Leaving TrakEM2/
Building third-party-plugins <- plugins/TransformJ_.jar plugins/ij...
Building all <- fiji jars/ij.jar plugins/loci_tools.jar plugins/VI...
albert@mac:~/Programming/fiji (master)$ find -name "AreaList.class"
albert@mac:~/Programming/fiji (master)$

A TrakEM2_.jar appears but doesn't reflect my changes in the source files.

So I am now editing files in TrakEM2 and Fake doesn't compile TrakEM2.
Yet, a plugins/TrakEM2_.jar appears after running ./Build.sh

Where does the jar come from?

I have manually removed all *class files from fiji/build/ and from fiji/TrakEM2/build/, and also all TrakEM2_.jar files except the fiji/precompiled/TrakEM2_.jar. If I remove the latter, Fake downloads a jar from online repos and doesn't compile anyway.

The tip commit of my local fiji master branch:


commit 5f9395551d4e57bd0ea92e7078277f4635f577a0
Author: Johannes Schindelin <johannes.schindelin@gmx.de>
Date:   Sun Apr 4 21:57:35 2010 +0200

    Add an Exact Signed Euclidean Distance Transform


Help very appreciated.
Comment 1 Albert Cardona 2010-04-13 02:54:04 CDT
After I disconnect from internet, Fake still refuses to compile my TrakEM2 java files (I have removed all .class files) and insists on downloading, which fails:

$ ./fiji --build debug=true plugins/TrakEM2_.jar
Building plugins/TrakEM2_.jar <- jars/ij.jar plugins/VIB_.jar jars...
Building plugins/TrakEM2_.jar[./fiji --jar plugins/Fiji_Updater.ja...
Could not parse db.xml.gz: pacific.mpi-cbg.de
Error while executing the main() method of class 'fiji.updater.Main' in 'plugins/Fiji_Updater.jar':
java.lang.RuntimeException: java.net.UnknownHostException: pacific.mpi-cbg.de
        at fiji.updater.Main.getInstance(Main.java:168)
        at fiji.updater.Main.main(Main.java:197)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at fiji.JarLauncher.launchJar(JarLauncher.java:82)
        at fiji.JarLauncher.main(JarLauncher.java:25)
Caused by: java.net.UnknownHostException: pacific.mpi-cbg.de
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:525)
        at java.net.Socket.connect(Socket.java:475)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:233)
        at sun.net.www.http.HttpClient.New(HttpClient.java:306)
        at sun.net.www.http.HttpClient.New(HttpClient.java:323)
        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:860)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:801)
        at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:726)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1049)
        at java.net.URL.openStream(URL.java:1010)
        at fiji.updater.Main.<init>(Main.java:48)
        at fiji.updater.Main.<init>(Main.java:43)
        at fiji.updater.Main.getInstance(Main.java:164)
        ... 7 more
Program failed: './fiji --jar plugins/Fiji_Updater.jar --update $TARGET'
Failed: 1
        in rule plugins/TrakEM2_.jar[./fiji --jar plugins/Fiji_Updater.ja...
        in rule plugins/TrakEM2_.jar <- jars/ij.jar plugins/VIB_.jar jars...
        in rule  <- plugins/TrakEM2_.jar
Comment 2 Albert Cardona 2010-04-13 02:57:28 CDT
Now I "git pull" fiji, which had numerous changes (VIB was merged, etc). Fake still DOWNLOADED a TrakEM2_.jar instead of compiling it!
Comment 3 Johannes Schindelin 2010-04-13 16:35:15 CDT
Turns out that there was a missing space in the TrakEM2_.jar rule, preventing Fiji Build to change into the proper directory.
Comment 4 Albert Cardona 2010-04-13 17:37:45 CDT
Thanks Johannes for helping out!