I am trying to compile BART 0.5.00 on a CentOS cluster. I cloned the master branch from git, and encountered the following error:
gcc -Wall -Wextra -MMD -MF /var/scratch/tbbakker/bart/src/num/.lapack.d -iquote /var/scratch/tbbakker/bart/src/ -I/usr//include/ -I/usr//include -DFFTWTHREADS -DMAIN_LIST="avg, bench, bitmask, cabs, caldir, calmat, carg, casorati, cc, ccapply, cdf97, circshift, conj, conv, copy, cpyphs, creal, crop, delta, ecalib, ecaltwo, estdelay, estdims, estshift, estvar, extract, fakeksp, fft, fftmod, fftrot, fftshift, filter, flatten, flip, fmac, homodyne, index, invert, itsense, join, looklocker, lrmatrix, mandelbrot, mip, moba, nlinv, noise, normalize, nrmse, nufft, ones, pattern, phantom, pics, pocsense, poisson, poly, repmat, reshape, resize, rmfreq, rof, rss, sake, saxpy, scale, sdot, show, slice, spow, sqpics, squeeze, ssa, std, svd, tgv, threshold, toimg, traj, transpose, twixread, var, vec, version, walsh, wave, wavelet, wavepsf, whiten, window, wshfl, zeros, zexp, ()" -include src/main.h -O3 -ffast-math -Wmissing-prototypes -std=gnu11 -fopenmp -c -o /var/scratch/tbbakker/bart/src/num/lapack.o /var/scratch/tbbakker/bart/src/num/lapack.c /var/scratch/tbbakker/bart/src/num/lapack.c:14:21: fatal error: lapacke.h: No such file or directory #include <lapacke.h> ^ compilation terminated. make[1]: *** [/var/scratch/tbbakker/bart/src/num/lapack.o] Error 1
I don't have root access on this system, so could not follow the instructions detailed in the README for installation on CentOS:
sudo yum install devtoolset-8 atlas-devel fftw3-devel libpng-devel lapack-devel
Instead, given the error, I tried building lapack (version 3.9.0) from source. Unfortunately, the error remains.
I tried inspecting the Makefile for a hint, and found the following lines:
ifeq ($(BUILDTYPE), Linux) ifneq (,$(findstring Red Hat,$(shell gcc --version))) CPPFLAGS+=-I/usr/include/lapacke/ LDFLAGS+=-L/usr/lib64/atlas -laterals endif endif
I suspect this tells the compiler where to look for the missing lapacke.h
? As a side-note, this line was missing from the Makefile in bart-0.5.00.tar
I obtained from the BART webpage in another attempt to solve this issue (is this intentional?).
Regardless, /usr/include/lapacke/
indeed exists on this system, and contains (among other files) a file lapacke.h
. I'm rather unfamiliar with these systems, and am unsure how to proceed.
CentOS version: CentOS Linux release 7.4.1708 (Core)
BART version: 0.5.00