Hi Martin,
I have a few questions related to recompiling fabber.
1. Do I need to compile FSL from the source as well, or the already compiled version can be used?
2. I tried compiling FSL to make sure that I have all the libraries required for building fabber, but unfortunately I'm getting errors (similar to the one listed below).
3. I also tried to build fabber-core using the already compiled version of FSL, but still I'm getting somehow the similar errors.
OS specifications: Ubuntu 16.04, gcc 5.4
I tried solving this according to this thread: https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind1710&L=FSL&P=R45352&1=FSL&9=A&I=-3&J=on&d=No+Match%3BMatch%3BMatches&z=4
but this didn't work either. I even downgraded my gcc to 4.8 to make it more compatible, but ended up having the same errors.
I think the issue is linking the BLAS and LAPACK libraries as I'm getting "undefined reference to `dgels_', `dgetri_', `dgemm_', `dgesv_' etc repeatedly. But, I am not sure how to fix this. Your help related to this would be really appreciated.
Fabber make install error:
amnah@amnah-VirtualBox:~/Desktop/fabber_core-master$ make install
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
Makefile:67: warning: overriding recipe for target 'clean'
/usr/share/fsl/6.0/config/common/rules.mk:32: warning: ignoring old recipe for target 'clean'
make[1]: Entering directory '/home/amnah/Desktop/fabber_core-master'
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
Makefile:67: warning: overriding recipe for target 'clean'
/usr/share/fsl/6.0/config/common/rules.mk:32: warning: ignoring old recipe for target 'clean'
make[2]: Entering directory '/home/amnah/Desktop/fabber_core-master'
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
Makefile:67: warning: overriding recipe for target 'clean'
/usr/share/fsl/6.0/config/common/rules.mk:32: warning: ignoring old recipe for target 'clean'
c++ -Wall -ansi -pedantic -Wno-long-long -m64 -g -O3 -fexpensive-optimizations -m64 -I/usr/share/fsl/6.0/extras/include/boost -I/usr/share/fsl/6.0/extras/include/armawrap/armawrap -DARMA_USE_LAPACK -DARMA_USE_BLAS -DARMA_64BIT_WORD -I/usr/share/fsl/6.0/extras/include/libprob -I/usr/share/fsl/6.0/extras/include/boost -DFABBER_SRC_DIR="\"/home/amnah/Desktop/fabber_core-master\"" -DFABBER_BUILD_DIR="\"/home/amnah/Desktop/fabber_core-master\"" -I. -IfabberBuild/include -I/usr/share/fsl/6.0/include -DGIT_SHA1=\"\" -DGIT_DATE="\"\"" -L/usr/share/fsl/6.0/extras/lib -lopenblas -L/usr/share/fsl/6.0/extras/lib -L/lib64 -L. -LfabberBuild/lib -L/usr/share/fsl/6.0/lib -o fabber tools.o rundata.o dist_mvn.o easylog.o fabber_capi.o version.o dist_gamma.o rundata_array.o noisemodel.o fwdmodel.o inference.o fwdmodel_linear.o fwdmodel_poly.o convergence.o motioncorr.o priors.o transforms.o inference_vb.o inference_nlls.o covariance_cache.o noisemodel_white.o noisemodel_ar.o setup.o factories.o rundata_newimage.o fabber_core.o fabber_main.o -lutils -lnewimage -lmiscmaths -lprob -lnewmat -lNewNifti -lznz -lz -ldl
tools.o: In function `getrf<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:37: undefined reference to `dgetrf_'
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:37: undefined reference to `dgetrf_'
dist_mvn.o: In function `getrf<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:37: undefined reference to `dgetrf_'
dist_mvn.o: In function `getri<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:71: undefined reference to `dgetri_'
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:71: undefined reference to `dgetri_'
fwdmodel_linear.o: In function `gemm<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:69: undefined reference to `dgemm_'
fwdmodel_linear.o: In function `gemv<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:34: undefined reference to `dgemv_'
inference_nlls.o: In function `dot<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:183: undefined reference to `ddot_'
inference_nlls.o: In function `gemv<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:34: undefined reference to `dgemv_'
inference_nlls.o: In function `gemm<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:69: undefined reference to `dgemm_'
inference_nlls.o: In function `gemv<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:34: undefined reference to `dgemv_'
inference_nlls.o: In function `gemm<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:69: undefined reference to `dgemm_'
inference_nlls.o: In function `syrk<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:104: undefined reference to `dsyrk_'
covariance_cache.o: In function `gemv<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:34: undefined reference to `dgemv_'
covariance_cache.o: In function `dot<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:183: undefined reference to `ddot_'
covariance_cache.o: In function `syrk<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:104: undefined reference to `dsyrk_'
covariance_cache.o: In function `gemm<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:69: undefined reference to `dgemm_'
noisemodel_white.o: In function `gels<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:677: undefined reference to `dgels_'
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:677: undefined reference to `dgels_'
noisemodel_white.o: In function `gesv<double>':
/usr/share/fsl/6.0/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:643: undefined reference to `dgesv_'
/usr/share/fsl/6.0/lib/libnewimage.a(newimage.o): In function `syevd<double>':
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:161: undefined reference to `dsyevd_'
/usr/share/fsl/6.0/lib/libnewimage.a(newimage.o): In function `syev<double>':
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:139: undefined reference to `dsyev_'
/usr/share/fsl/6.0/lib/libnewimage.a(newimage.o): In function `gels<double>':
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:677: undefined reference to `dgels_'
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:677: undefined reference to `dgels_'
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:677: undefined reference to `dgels_'
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:677: undefined reference to `dgels_'
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:677: undefined reference to `dgels_'
/usr/share/fsl/6.0/lib/libnewimage.a(newimage.o):/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:677: more undefined references to `dgels_' follow
/usr/share/fsl/6.0/lib/libmiscmaths.a(miscmaths.o): In function `syev<double>':
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:139: undefined reference to `dsyev_'
/usr/share/fsl/6.0/lib/libmiscmaths.a(miscmaths.o): In function `gesdd<double>':
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:583: undefined reference to `dgesdd_'
/usr/share/fsl/6.0/lib/libmiscmaths.a(miscmaths.o): In function `gesvd<double>':
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:518: undefined reference to `dgesvd_'
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/lapack_wrapper.hpp:518: undefined reference to `dgesvd_'
/usr/share/fsl/6.0/lib/libmiscmaths.a(miscmaths.o): In function `gemm<double>':
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:69: undefined reference to `dgemm_'
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:69: undefined reference to `dgemm_'
/usr/share/fsl/6.0/lib/libmiscmaths.a(nonlin.o): In function `gemv<double>':
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:34: undefined reference to `dgemv_'
/usr/share/fsl/6.0/lib/libmiscmaths.a(nonlin.o): In function `syrk<double>':
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:104: undefined reference to `dsyrk_'
/usr/share/fsl/6.0/lib/libmiscmaths.a(nonlin.o): In function `gemm<double>':
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:69: undefined reference to `dgemm_'
/usr/share/fsl/6.0/lib/libmiscmaths.a(nonlin.o): In function `gemv<double>':
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:34: undefined reference to `dgemv_'
/usr/share/fsl/6.0/lib/libmiscmaths.a(nonlin.o): In function `gemm<double>':
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:69: undefined reference to `dgemm_'
/usr/share/fsl/6.0/lib/libmiscmaths.a(bfmatrix.o): In function `dot<double>':
/home/fs0/cowboy/var/centos7/sandboxes/fsl/extras/include/armawrap/armawrap/armadillo_bits/blas_wrapper.hpp:183: undefined reference to `ddot_'
collect2: error: ld returned 1 exit status
Makefile:74: recipe for target 'fabber' failed
make[2]: *** [fabber] Error 1
make[2]: Leaving directory '/home/amnah/Desktop/fabber_core-master'
/usr/share/fsl/6.0/config/common/rules.mk:56: recipe for target 'master-install-script' failed
make[1]: *** [master-install-script] Error 2
make[1]: Leaving directory '/home/amnah/Desktop/fabber_core-master'
/usr/share/fsl/6.0/config/common/rules.mk:35: recipe for target 'install' failed
make: *** [install] Error 2
########################################################################
To unsubscribe from the FSL list, click the following link:
https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=FSL&A=1
|