[Debian-med-packaging] Bug#936609: cblas / gsl hint needed (Was: Bug#936609: Ported ghmm to Python3 but issues with clapack)

Mo Zhou lumin at debian.org
Sun Jan 5 08:19:07 GMT 2020


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.

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.

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
> 



More information about the Debian-med-packaging mailing list