Note for packages linking against GSL [ACTION NEEDED]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux