Closed acozine closed 8 years ago
None of the FITS 0.10.x versions works correctly with heliotrope as of today. I wonder if hydra-derivatives and/or hydra-file_characterization are compatible with the most recent FITS releases. Heliotrope is on hydra-derivatives 3.0.1 and hydra-file_characterization 0.3.3. I have not tested FITS 0.9.x, but 0.8.4 works for sure, so I'm declaring a dependency on that version for now.
I created a ticket in hydra-derivatives asking for clarification about which versions of FITS are compatible with the current release of hydra-derivatives: https://github.com/projecthydra/hydra-derivatives/issues/100
Justin's original report: I saw stuff in the logs about not being able to run DROID on Java 8, so I would think that (FITS) 0.10.1 would have fixed that.
According to Mike Giarlo, who just closed https://github.com/projecthydra/hydra-derivatives/issues/100, hydra-derivatives is known to support FITS 0.8.x (specifically 0.8.5) - see the updated readme here: https://github.com/projecthydra/hydra-derivatives#dependencies
I tested both FITS 0.8.6 (installed via home-brew) and FITS 0.10.2 (installed manually) and both work without issue in both alexandria and heliotrope.
It would be worth launching rescue-web to ensure that jobs are being processed without errors - for the manual install I needed to symlink fits.sh to fits and hardcode FITS_HOME infits-env.sh
:
#!/bin/bash
#
# Sets up the environment for launching a FITS instance via
# either the fits.sh launcher, or the fits-ngserver.sh Nailgun server
#FITS_HOME=`dirname "$0"`
FITS_HOME="/usr/local/lib/fits-0.10.2"
export FITS_HOME
... #etc.
Though I'd think that if the 0.8.x ansible does this, it would work the same way for 0.10.x,, but it might be worth checking.
Mark's approach works beautifully:
Copy the unzipped fits directory in its entirety to /usr/local/lib/fits-{{ fits_version }}
, symlink /usr/local/lib/fits-{{ fits_version }}/fits
to /usr/local/bin/fits
and to /usr/local/bin/fits.sh
; edit /usr/local/lib/fits-{{ fits_version }}/fits-env.sh
to point FITS_HOME to the /usr/local/lib/fits-{{ fits_version }}
directory, then symlink the edited fits-env.sh
to /usr/local/bin/fits-env.sh
.
I've updated the Ansible scripts to install fits this way and press.curationexperts.com upgraded to 0.10.2.
As a breadcrumb for others, if you see
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/bin/lib/slf4j-log4j12-1.7.12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/bin/lib/tika-app-1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
this method of installing fits will circumvent the issue. The older version of the Tika jar may be installed by Solr or ImageMagick.
install 0.10.1, test