Hi Mo, On Sun, Jan 05, 2020 at 08:19:07AM +0000, Mo Zhou wrote: > GSL provides a set of CBLAS API/ABI, delivered with shared object > "libgslcblas.so" and header "gsl_cblas.h". That subset becomes > redundant once you include the headers of any standard/compatible > (C)BLAS library. That's what the compilation error means.
Seems you want to tell me to not include gsl_cblas.h header. However, the code has no hit for grep -R gsl_cblas so the header is not included explicitly. So while your hint explains the error I need to admit I have no idea yet, how to fix it. > Make sure that the code only use one CBLAS implementation. In the > context of debian, I'd recommend you use the CBLAS ABI from libblas-dev, > and avoid linking against -lcblas. Link against -lblas instead. OK, once I'm at the linking step I might come back to this hint. Kind regards Andreas. > On Sun, Jan 05, 2020 at 07:55:05AM +0100, Andreas Tille wrote: > > Control: tags -1 help > > > > Hi, > > > > I was asking upstream about this issue[1] and an issue about gsl usage > > is suspected. Any hint how this can be fixed? > > > > > Finally I have a question about building with lapack. I get: > > > > > > ... > > > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -Wdate-time > > > -D_FORTIFY_SOURCE=2 -DDTD_LOC=\"/usr/share/ghmm/ghmm.dtd.1.0\" -g -O2 > > > "-fdebug-prefix-map=/build/ghmm-0.9~rc3=." -fstack-protector-strong - > > > Wformat -Werror=format-security -I/usr/include > > > -I/usr/include/x86_64-linux-gnu -I/usr/include/libxml2 -c rng.c -fPIC > > > -DPIC -o .libs/rng.o > > > In file included from /usr/include/x86_64-linux-gnu/clapack.h:4, > > > from matrixop.c:48: > > > /usr/include/x86_64-linux-gnu/cblas.h:5:9: error: nested redefinition of > > > 'enum CBLAS_ORDER' > > > 5 | enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102 }; > > > | ^~~~~~~~~~~ > > > /usr/include/x86_64-linux-gnu/cblas.h:5:9: error: redeclaration of 'enum > > > CBLAS_ORDER' > > > In file included from /usr/include/gsl/gsl_blas_types.h:28, > > > from /usr/include/gsl/gsl_blas.h:29, > > > from /usr/include/gsl/gsl_linalg.h:30, > > > from matrixop.c:44: > > > /usr/include/gsl/gsl_cblas.h:46:6: note: originally defined here > > > 46 | enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102}; > > > | ^~~~~~~~~~~ > > > In file included from /usr/include/x86_64-linux-gnu/clapack.h:4, > > > from matrixop.c:48: > > > /usr/include/x86_64-linux-gnu/cblas.h:5:22: error: redeclaration of > > > enumerator 'CblasRowMajor' > > > 5 | enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102 }; > > > | ^~~~~~~~~~~~~ > > > In file included from /usr/include/gsl/gsl_blas_types.h:28, > > > from /usr/include/gsl/gsl_blas.h:29, > > > from /usr/include/gsl/gsl_linalg.h:30, > > > from matrixop.c:44: > > > /usr/include/gsl/gsl_cblas.h:46:19: note: previous definition of > > > 'CblasRowMajor' was here > > > 46 | enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102}; > > > | ^~~~~~~~~~~~~ > > > In file included from /usr/include/x86_64-linux-gnu/clapack.h:4, > > > from matrixop.c:48: > > > /usr/include/x86_64-linux-gnu/cblas.h:5:41: error: redeclaration of > > > enumerator 'CblasColMajor' > > > 5 | enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102 }; > > > | ^~~~~~~~~~~~~ > > > > > > > > > > Kind regards > > > > Andreas. > > > > > > [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=936609#19 > > > > -- > > http://fam-tille.de > > > -- http://fam-tille.de