SIMEXP / niak

GNU Octave library for connectivity analysis in large fMRI datasets
http://niak.simexp-lab.org
Other
27 stars 21 forks source link

most of octave svds tests fails ( niak-cog docker) #385

Closed MontrealSergiy closed 5 years ago

MontrealSergiy commented 5 years ago

With the latest niak-cog and simexp/octave docker images (one with octave 4.2-Ubuntu16), Octave's command test svds results in skipping 5 test of 6 svds tests due to 'missing features'. Here svds is very useful function for sparse matrix decomposition/singular value extraction, test is octave's command/function that can test a particular function. The use case is combining niak with some matrix manipulations.

To reproduce: execute

docker run --rm -it simexp/niak-cog
octave
test svds 

Expected

6 of 6 tests passes

Observed

....
***** testif HAVE_ARPACK
 s = svds (speye (10));
 assert (s, ones (6, 1), 8*eps);
----- skipped test

PASSES 1 out of 1 test
Skipped 5 tests due to missing features

Environment CentOs 7.5.1804 Docker version 17.05.0-ce, build 89658be Octave 4.2 (also observed on a ubuntu 16.04 VM with singularity)

Notes

5 svds tests are also skipped by simexp/octave but all svds tests pass in simexp/niak-boss docker image, basically only build on Octave 4.2 are affected

Resembles Octave installation bug known to occurs due to ARPACK's BLAS conflict with OpenBLAS https://github.com/gher-ulg/Documentation/wiki/Octave

MontrealSergiy commented 5 years ago

Also tried test svds on Ubuntu 16.04 VM (with simexp/octave docker image) , the test failed (rather than being skipped)

MontrealSergiy commented 5 years ago

Installing arpack-ng ("Next Generation") over the docker fixes the issue

pbellec commented 5 years ago

Dear @MontrealSergiy thanks a lot for the tip.

Note that the niak container is not a generic octave distribution, and that we try to minimize the dependencies to what is useful for niak. We'll check if adding arpack-ng does not take too much space, and if so we will add it.