Install plugin with dependencies in Fiji

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Install plugin with dependencies in Fiji

lechristophe
Hi,

I'd like to install Alex Herbert's GDSC suite of ImageJ plugins in Fiji :
http://www.sussex.ac.uk/gdsc/intranet/microscopy/imagej/gdsc_plugins#install

However, looking at the dependencies for these, there seems to be a partial
overlap with stuff that is already in Fiji:
beansbinding-1.2.1.jar
commons-math3-3.1.1.jar
ejml-0.23.jar
imagescience.jar
xstream-1.4.4.jar

How should I proceed to avoid conflicts? Can drop all these into Fiji
"jars" folder, hopping it will be sorted out ? I don't know how to detect
if the version between the GDSC plugins and the one included in Fiji are
different, and what to do if this is the case...

Thanks for your help,

Christophe

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Install plugin with dependencies in Fiji

ctrueden
Hi Christophe,

> Can drop all these into Fiji "jars" folder, hopping it will be sorted
> out ?

No, Fiji will not be able to "sort out" all the duplicate JARs
automatically. Why not add only those dependencies not already present?

Better, once you get it working, why not create a personal update site [1]
and upload the GDSC plugins there, so that others can easily install them
into Fiji without going through the dependency management hassle themselves?

> I don't know how to detect if the version between the GDSC plugins and
> the one included in Fiji are different, and what to do if this is the
> case...

It must be done on a case by case basis, since every library is developed
according to different standards. For some projects, e.g. 2.0 and 2.1 may
be incompatible, but for others, 2.1.0 may be backwards compatible with
2.0.0. For SciJava-related work [2] (including ImageJ2, ImgLib2, SCIFIO,
etc.) we use Semantic Versioning [3], which promises backwards
compatibility unless the major version number is incremented.

But in general, for each dependency, you will have to verify this yourself.
Probably easiest to just drop in only the missing dependencies, and see if
it works. And if you get a NoSuchMethodError, look which library produced
it, then try upgrading only that library. With an ImageJ update site, you
can "shadow" one version of a library with a different one.

Regards,
Curtis

[1] http://fiji.sc/Personal_Update_Sites#Add_your_personal_update_site
[2] http://scijava.org/
[3] http://semver.org/



On Tue, Nov 19, 2013 at 9:39 AM, Christophe Leterrier <
[hidden email]> wrote:

> Hi,
>
> I'd like to install Alex Herbert's GDSC suite of ImageJ plugins in Fiji :
>
> http://www.sussex.ac.uk/gdsc/intranet/microscopy/imagej/gdsc_plugins#install
>
> However, looking at the dependencies for these, there seems to be a partial
> overlap with stuff that is already in Fiji:
> beansbinding-1.2.1.jar
> commons-math3-3.1.1.jar
> ejml-0.23.jar
> imagescience.jar
> xstream-1.4.4.jar
>
> How should I proceed to avoid conflicts? Can drop all these into Fiji
> "jars" folder, hopping it will be sorted out ? I don't know how to detect
> if the version between the GDSC plugins and the one included in Fiji are
> different, and what to do if this is the case...
>
> Thanks for your help,
>
> Christophe
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Install plugin with dependencies in Fiji

lechristophe
Dear Curtis,

Thanks for your help. I was able to install the SMLM part of the GFSC
plugins, the part that interests me and that depends only on 3 jars:

commons-math3-3.1.1.jar
ejml-0.23.jar
xstream-1.4.4.jar

I added the xstream and ejml jars in the Fiji jars folder, but the plugins
didn't run with the stock Fiji common-math.jar (no version number).
Replacing the common-math.jar by the GCSD commons-math3-3.1.1.jar in Fiji,
I got the plugins to run.

Digging a bit deeper around the Apache Common Math issue, I found this
message from Johannes a few months ago on on the list, stating that the
common-math.jar version bundled with Fiji is a 3.0-SNAPSHOT (second message
in the thread) :

http://imagej.1557.x6.nabble.com/How-to-handle-dependencies-td5002990.html

In his message, Johannes hinted at a coming evolution of common maths, in
order to get a version number in the jar name, and maybe to update it to a
newer version? If this is still planned, would it be possible to update the
stock common math in Fiji, in order to run the SMLM GCSD plugins natively?

Thanks again,

Christophe


--
Christophe Leterrier
Researcher
Axonal Domains Architecture Team
CRN2M CNRS UMR 7286
Aix Marseille University, France



On Tue, Nov 19, 2013 at 5:14 PM, Curtis Rueden <[hidden email]> wrote:

> Hi Christophe,
>
> > Can drop all these into Fiji "jars" folder, hopping it will be sorted
> > out ?
>
> No, Fiji will not be able to "sort out" all the duplicate JARs
> automatically. Why not add only those dependencies not already present?
>
> Better, once you get it working, why not create a personal update site [1]
> and upload the GDSC plugins there, so that others can easily install them
> into Fiji without going through the dependency management hassle
> themselves?
>
> > I don't know how to detect if the version between the GDSC plugins and
> > the one included in Fiji are different, and what to do if this is the
> > case...
>
> It must be done on a case by case basis, since every library is developed
> according to different standards. For some projects, e.g. 2.0 and 2.1 may
> be incompatible, but for others, 2.1.0 may be backwards compatible with
> 2.0.0. For SciJava-related work [2] (including ImageJ2, ImgLib2, SCIFIO,
> etc.) we use Semantic Versioning [3], which promises backwards
> compatibility unless the major version number is incremented.
>
> But in general, for each dependency, you will have to verify this yourself.
> Probably easiest to just drop in only the missing dependencies, and see if
> it works. And if you get a NoSuchMethodError, look which library produced
> it, then try upgrading only that library. With an ImageJ update site, you
> can "shadow" one version of a library with a different one.
>
> Regards,
> Curtis
>
> [1] http://fiji.sc/Personal_Update_Sites#Add_your_personal_update_site
> [2] http://scijava.org/
> [3] http://semver.org/
>
>
>
> On Tue, Nov 19, 2013 at 9:39 AM, Christophe Leterrier <
> [hidden email]> wrote:
>
> > Hi,
> >
> > I'd like to install Alex Herbert's GDSC suite of ImageJ plugins in Fiji :
> >
> >
> http://www.sussex.ac.uk/gdsc/intranet/microscopy/imagej/gdsc_plugins#install
> >
> > However, looking at the dependencies for these, there seems to be a
> partial
> > overlap with stuff that is already in Fiji:
> > beansbinding-1.2.1.jar
> > commons-math3-3.1.1.jar
> > ejml-0.23.jar
> > imagescience.jar
> > xstream-1.4.4.jar
> >
> > How should I proceed to avoid conflicts? Can drop all these into Fiji
> > "jars" folder, hopping it will be sorted out ? I don't know how to detect
> > if the version between the GDSC plugins and the one included in Fiji are
> > different, and what to do if this is the case...
> >
> > Thanks for your help,
> >
> > Christophe
> >
> > --
> > ImageJ mailing list: http://imagej.nih.gov/ij/list.html
> >
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Install plugin with dependencies in Fiji

dscho
Hi,

On Tue, 19 Nov 2013, Christophe Leterrier wrote:

> I was able to install the SMLM part of the GFSC plugins, the part that
> interests me and that depends only on 3 jars:
>
> commons-math3-3.1.1.jar
> ejml-0.23.jar
> xstream-1.4.4.jar
>
> I added the xstream and ejml jars in the Fiji jars folder, but the plugins
> didn't run with the stock Fiji common-math.jar (no version number).
> Replacing the common-math.jar by the GCSD commons-math3-3.1.1.jar in Fiji,
> I got the plugins to run.

You should be able to "shadow" commons-math on your plugin site, then.
Just rename it so the name is commons-math-3.1.1.jar and remove
commons-math-3.0-SNAPSHOT.jar. The updater should then offer you the
option to shadow that file via your update site.

Please note that I am not really available for assistance this week, as I
have some "real" work to do for a change ;-)

Ciao,
Johannes

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Install plugin with dependencies in Fiji

lechristophe
Hi Johannes,

I am aware that you are at a Hackaton from your Twitter feed and previous
emails to the list. I took care of not suggesting any urgency in my email,
I was just asking if it could be beneficial to update the currently used
common maths in Fiji for the GSDC plugins (which are not mine) and
potentially others at some point in the future.

Thanks for the help,

Christophe


On Wed, Nov 20, 2013 at 7:13 PM, Johannes Schindelin <
[hidden email]> wrote:

> Hi,
>
> On Tue, 19 Nov 2013, Christophe Leterrier wrote:
>
> > I was able to install the SMLM part of the GFSC plugins, the part that
> > interests me and that depends only on 3 jars:
> >
> > commons-math3-3.1.1.jar
> > ejml-0.23.jar
> > xstream-1.4.4.jar
> >
> > I added the xstream and ejml jars in the Fiji jars folder, but the
> plugins
> > didn't run with the stock Fiji common-math.jar (no version number).
> > Replacing the common-math.jar by the GCSD commons-math3-3.1.1.jar in
> Fiji,
> > I got the plugins to run.
>
> You should be able to "shadow" commons-math on your plugin site, then.
> Just rename it so the name is commons-math-3.1.1.jar and remove
> commons-math-3.0-SNAPSHOT.jar. The updater should then offer you the
> option to shadow that file via your update site.
>
> Please note that I am not really available for assistance this week, as I
> have some "real" work to do for a change ;-)
>
> Ciao,
> Johannes
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Install plugin with dependencies in Fiji

lechristophe
They are so much not mine that I keep spelling them wrong! GCSD plugins,
sorry.

Cheers,

C.


On Wed, Nov 20, 2013 at 10:46 PM, Christophe Leterrier <
[hidden email]> wrote:

> Hi Johannes,
>
> I am aware that you are at a Hackaton from your Twitter feed and previous
> emails to the list. I took care of not suggesting any urgency in my email,
> I was just asking if it could be beneficial to update the currently used
> common maths in Fiji for the GSDC plugins (which are not mine) and
> potentially others at some point in the future.
>
> Thanks for the help,
>
> Christophe
>
>
> On Wed, Nov 20, 2013 at 7:13 PM, Johannes Schindelin <
> [hidden email]> wrote:
>
>> Hi,
>>
>> On Tue, 19 Nov 2013, Christophe Leterrier wrote:
>>
>> > I was able to install the SMLM part of the GFSC plugins, the part that
>> > interests me and that depends only on 3 jars:
>> >
>> > commons-math3-3.1.1.jar
>> > ejml-0.23.jar
>> > xstream-1.4.4.jar
>> >
>> > I added the xstream and ejml jars in the Fiji jars folder, but the
>> plugins
>> > didn't run with the stock Fiji common-math.jar (no version number).
>> > Replacing the common-math.jar by the GCSD commons-math3-3.1.1.jar in
>> Fiji,
>> > I got the plugins to run.
>>
>> You should be able to "shadow" commons-math on your plugin site, then.
>> Just rename it so the name is commons-math-3.1.1.jar and remove
>> commons-math-3.0-SNAPSHOT.jar. The updater should then offer you the
>> option to shadow that file via your update site.
>>
>> Please note that I am not really available for assistance this week, as I
>> have some "real" work to do for a change ;-)
>>
>> Ciao,
>> Johannes
>>
>
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html