[Neurodebian-devel] any ideas why linking against gslcblas "doesn't work" on Ubuntus?

Yaroslav Halchenko debian at onerussian.com
Tue Sep 3 12:59:59 UTC 2013


Need input since can't figure it out myself... I am on a quest to
robustify our AFNI's builds.   Everything is working smooth on Debians
but all Ubuntus fail while linking against gsl/gslcblas -- it is like if
there were no -lgslcblas on the line, but it is there!  See below what I
am talking about and please find complete logs at
http://neuro.debian.net/_files/_buildlogs/afni/0.20130830~dfsg.1

I only can see the difference that on Ubuntu there is
-Wl,-Bsymbolic-functions but if I remove it for that final linkage (may be it
played its role already though while building gsl) -- nothing changes:

so here it is -- gslcblas has the definitions, I do have -lgsl
-lgslcblas, according to strace gslcblas is read at least -- but references are
still undefined:

~/afni-0.20130830~dfsg.1/build-x86_64-linux-gnu/avovk# nm -D /usr/lib/libgslcblas.so | grep cblas_dgemv  000000000000ea00 T cblas_dgemv    
~/afni-0.20130830~dfsg.1/build-x86_64-linux-gnu/avovk# gcc  --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat-security -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wno-unused  -fopenmp -DUSE_OMP  -Wl,-z,now -Wl,-z,relro -Wl,--no-undefined CMakeFiles/3dkmeans.dir/3dkmeans.c.o CMakeFiles/3dkmeans.dir/cluster_floatNOMASK.c.o CMakeFiles/3dkmeans.dir/thd_segtools_fNM.c.o  -o 3dkmeans ../libmri.so ../libmrix.so ../coxplot/libcoxplot.so libsegtools.so -lSM -lICE -lX11 -lXext -lXm -lXmHTML ../libmri.so -lvolpack -lnetcdf -lXt -lf2c -lgiftiio -lnifticdf -lniftiio -lz -lnifticdf -lniftiio -lz -lgsl  -lgslcblas -lm -Wl,-rpath,"/tmp/buildd/afni-0.20130830~dfsg.1/build-x86_64-linux-gnu:/tmp/buildd/afni-0.20130830~dfsg.1/build-x86_64-linux-gnu/coxplot:/tmp/buildd/afni-0.20130830~dfsg.1/build-x86_64-linux-gnu/avovk:" -DNDEBUG
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libgsl.so: undefined reference to `cblas_ztrsv'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libgsl.so: undefined reference to `cblas_scasum'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libgsl.so: undefined reference to `cblas_izamax'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libgsl.so: undefined reference to `cblas_dnrm2'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libgsl.so: undefined reference to `cblas_zdotc_sub'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libgsl.so: undefined reference to `cblas_cgemv'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libgsl.so: undefined reference to `cblas_cher2k'
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libgsl.so: undefined reference to `cblas_cdotu_sub'
...

I can build fine while linking against system-wide cblas but I would like
to stay consistent here for now and link against gslcblas.

if anyone interested to give it a shout -- whole packaging is available
at http://git.debian.org/?p=pkg-exppsy/afni.git and the .orig.tar.gz at
http://www.onerussian.com/tmp/afni_0.20130830~dfsg.1.orig.tar.gz
MD5: cbab81425a8cb73c1153d290b10d48ce

-- 
Yaroslav O. Halchenko, Ph.D.
http://neuro.debian.net http://www.pymvpa.org http://www.fail2ban.org
Senior Research Associate,     Psychological and Brain Sciences Dept.
Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
Phone: +1 (603) 646-9834                       Fax: +1 (603) 646-1419
WWW:   http://www.linkedin.com/in/yarik        



More information about the Neurodebian-devel mailing list