Hi,
the GNU Scientific Library (GSL) contains some linear algebra routines
that need a CBLAS library to work.
GSL contains a compatibility CBLAS library (gslcblas) that provides a
version of these routines. In 2010, we started to link libgsl by a
Fedora patch to libgslcblas, so linking to libgsl could be done just by
-lgsl instead of -lgsl -lgslcblas.
However, the GSL CBLAS library is far from optimal, and you can
typically get an order of magnitude more performance by using an
optimized library. In 2011, the default link in libgsl was changed to be
against ATLAS.
This default, Fedora specific link was removed in Fedora 22 in December,
because
a) there are more CBLAS libraries available than just GSL CBLAS or
ATLAS; e.g. OpenBLAS, Intel MKL or AMD ACML being good examples
b) upstream clearly intended the choice of the library to be made upon
link time
c) a project linking multiple libraries must use the same BLAS/CBLAS
library in all of its components
Because libgsl is no longer linked to a CBLAS library, packages linking
to GSL need to also link to a CBLAS library, ATLAS probably being the
best candidate since OpenBLAS is not available for all Fedora
architectures. The following trick should be enough to handle the link
%if 0%{?fedora} > 20 || 0%{?rhel} > 6
export LIBS="-lgsl -L%{_libdir}/atlas -lsatlas"
%else
export LIBS="-lgsl L%{_libdir}/atlas -lcblas -latlas"
%endif
Furthermore, because the link has vanished from GSL, the following
packages need to be recompiled:
$ sudo repoquery --disablerepo=* --enablerepo=rawhide --whatrequires
libgsl\* -i|grep "Source :"|sort|uniq|awk '{print $NF}'
3Depict-0.0.17-3.fc22.src.rpm
ape-2.2.0-2.fc22.src.rpm
asymptote-2.32-5.fc22.src.rpm
bogofilter-1.2.4-3.fc22.src.rpm
calligra-2.8.7-9.fc22.src.rpm
coot-0.8.1-1.fc22.src.rpm
dieharder-3.31.1-13.fc22.src.rpm
enblend-4.1.3-3.fc22.src.rpm
freefem++-3.31-2.3.fc23.src.rpm
freesteam-2.1-6.20140724svn753.fc22.src.rpm
gambas3-3.6.1-3.fc22.src.rpm
gdl-0.9.5-4.fc22.src.rpm
ghmm-0.7-12.svn2286.fc22.src.rpm
gipfel-0.4.0-5.fc23.src.rpm
gnuradio-3.7.5.1-5.fc22.src.rpm
gsl-1.16-16.fc22.src.rpm
IBSimu-1.0.5-9.b.fc22.src.rpm
inkscape-0.91-4.fc23.src.rpm
kst-2.0.8-1.fc22.src.rpm
LabPlot-1.6.0.3-8.fc22.src.rpm
libindi-0.9.9-1.fc22.src.rpm
luminance-hdr-2.3.1-11.fc22.src.rpm
mathgl-2.3-4.fc23.src.rpm
milia-1.0.0-7.fc22.src.rpm
mmseq-0.9.18-14.fc22.src.rpm
morse2txt-1.0.0-13.fc22.src.rpm
mp-1.3.0-3.fc22.src.rpm
nco-4.4.7-1.fc22.src.rpm
nip2-7.42.1-1.fc22.src.rpm
ocaml-gsl-1.18.1-1.fc23.src.rpm
octave-gsl-1.0.8-9.fc22.src.rpm
opengrm-ngram-1.2.1-3.fc22.src.rpm
openms-1.11.1-12.fc22.src.rpm
orsa-0.7.0-29.fc22.src.rpm
perl-PDL-2.7.0-8.fc22.src.rpm
pfstmo-1.5-7.fc22.src.rpm
player-3.0.2-40.fc22.src.rpm
pspp-0.8.4-1.fc22.src.rpm
pygsl-0.9.5-12.fc22.src.rpm
pypop-0.7.0-13.fc22.src.rpm
python-cvxopt-1.1.7-3.fc22.src.rpm
root-5.34.24-3.fc22.src.rpm
sagemath-6.4.1-4.fc22.src.rpm
scidavis-1.D8-8.fc22.src.rpm
step-14.12.1-1.fc22.src.rpm
vfrnav-20141211-1.fc22.src.rpm
votca-tools-1.2.4-3.fc22.src.rpm
xaos-3.5-12.fc22.src.rpm
I'm handling ape and octave-gsl. gsl itself obvisously doesn't need
rebuilding.
--
Susi Lehtola
Fedora Project Contributor
jussilehtola@xxxxxxxxxxxxxxxxx
--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct