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

Andreas Tille tille at debian.org
Mon Jan 6 11:56:17 GMT 2020


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



More information about the Debian-med-packaging mailing list