The file libgivaro.so.9 that is declared missing by the above error message, is however present at the path that the incantation -L/usr/local/lib feeds in:
root@debian:/# find -name libgivaro.so.9
./usr/lib/givaro-4.0.4/src/.libs/libgivaro.so.9
./usr/local/lib/libgivaro.so.9
If I feed in the second copy of the file, via -L/usr/lib/givaro-4.0.4/src/.libs/ , then I get the same error message.
If I use the complete incantations for linbox, I get an analogous error at the linbox level:
rahm@debian:~$ pkg-config --cflags --libs linbox
-O2 -Wall -g -DNDEBUG -U_LB_DEBUG -DDISABLE_COMMENTATOR -fopenmp -fabi-version=6 -I/usr/local/include -L/usr/local/lib -llinbox -fopenmp -lopenblas -lgivaro -lgmp -lgmpxx
rahm@debian:~$ g++ -O2 -Wall -g -DNDEBUG -U_LB_DEBUG -DDISABLE_COMMENTATOR -fopenmp -fabi-version=6 -I/usr/local/include -L/usr/local/lib -llinbox -fopenmp -lopenblas -lgivaro -lgmp -lgmpxx testblank.c -o Test.out
rahm@debian:~$ ./Test.out
./Test.out: error while loading shared libraries: liblinbox.so.0: cannot open shared object file: No such file or directory
Please note also that using only the --cflags incantations, and not the --libs incantations, the dummy program is compiled correctly, but the compilation crashes when adding a call to a linbox library, e.g.,
#include <linbox/solutions/det.h>
Here are some details on my installation:
1.) After having replaced the function decompress
by tar -xf in the linbox-auto-install.sh file,
and having run
sudo apt-get install gcc
sudo apt-get install git-core
sudo apt-get install libopenblas-dev
the installation seems to work at first glance, except that at the end it does not find some files that seem to be important for fflas-ffpack:
-e * building Fflas-Ffpack...
make CXXFLAGS+=""
linbox-auto-install.sh: 713: linbox-auto-install.sh: make: not found
-e * installing Fflas-Ffpack...
linbox-auto-install.sh: 723: linbox-auto-install.sh: make: not found
""""""""""""""""""""""""""""""""""
2.) So it seems necessary to install manually GMP, then givaro, then fflas-ffpack, then linbox.
Having run
sudo apt-get install pkg-config
and installed GMP from
https://gmplib.org/manual/Installing-GMP.html#Installing-GMPfinally I got Givaro to be installed.
Then I did install fflas-ffpack with the manually installed openBlas:
root@debian:/usr/lib/fflas-ffpack-2.3.2# ./configure --with-blas-libs="-lopenblas"
make
make install
Then I did install linbox with the manually installed openBlas:
root@debian:/usr/lib/linbox-1.5.2#./configure --with-blas-libs="-lopenblas"
make
make install
Everything seemed to run well, except that the "make" command of linbox produced one warning,
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
make[3]: Entering directory '/usr/lib/linbox-1.5.2/benchmarks'
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -Wall -g -DNDEBUG -U_LB_DEBUG -DDISABLE_COMMENTATOR -DLinBoxSrcOnly -fopenmp -fabi-version=6 -I/usr/local/include -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -MT benchmark.lo -MD -MP -MF .deps/benchmark.Tpo -c -o benchmark.lo benchmark.C
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -Wall -g -DNDEBUG -U_LB_DEBUG -DDISABLE_COMMENTATOR -DLinBoxSrcOnly -fopenmp -fabi-version=6 -I/usr/local/include -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -MT benchmark.lo -MD -MP -MF .deps/benchmark.Tpo -c benchmark.C -fPIC -DPIC -o .libs/benchmark.o
In file included from benchmark.h:63:0,
from benchmark.C:36:
benchmark-metadata.h: In member function ‘void LinBox::MetaData::clean()’:
benchmark-metadata.h:58:4: warning: nonnull argument ‘this’ compared to NULL [-Wnonnull-compare]
if (this != NULL) {
^~
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -Wall -g -DNDEBUG -U_LB_DEBUG -DDISABLE_COMMENTATOR -DLinBoxSrcOnly -fopenmp -fabi-version=6 -I/usr/local/include -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -MT benchmark.lo -MD -MP -MF .deps/benchmark.Tpo -c benchmark.C -o benchmark.o >/dev/null 2>&1
mv -f .deps/benchmark.Tpo .deps/benchmark.Plo
/bin/bash ../libtool --tag=CXX --mode=link g++ -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -L/usr/local/lib -fopenmp -lopenblas -lgivaro -lgmp -lgmpxx -o
libbenchmarks.la benchmark.lo ../linbox/
liblinbox.la libtool: link: ar cru .libs/libbenchmarks.a .libs/benchmark.o
ar: `u' modifier ignored since `D' is the default (see `U')
libtool: link: ranlib .libs/libbenchmarks.a
libtool: link: ( cd ".libs" && rm -f "
libbenchmarks.la" && ln -s "../
libbenchmarks.la" "
libbenchmarks.la" )
"""""""""""""""""""""""""""""""""""""""""""""""
Is there a way to repair the installation / find incantations that work?
Or can you recommend me a Linux distribution on which it is known that Linbox can be installed without problems?
Best wishes,
Alexander