On Thu, Aug 10, 2017 at 11:21:30AM +0200, Jakub Martisko wrote:
On 9.8.2017 11:37, Richard W.M. Jones wrote:
>
> ocaml-gsl (OCaml bindings for GNU Scientific Library) currently
> fails to link to atlas:
>
> + /usr/bin/ocamlfind ocamlopt -g -I lib -linkpkg -package bigarray -I lib -I
examples lib/gsl.cmxa examples/blas_ex.cmx -o examples/blas_ex.native
> /usr/lib64/atlas/libsatlas.so: undefined reference to `dlarfy_'
> /usr/lib64/atlas/libsatlas.so: undefined reference to `slarfy_'
> /usr/lib64/atlas/libsatlas.so: undefined reference to `clarfy_'
> /usr/lib64/atlas/libsatlas.so: undefined reference to `zlarfy_'
> collect2: error: ld returned 1 exit status
>
> However this only happens with the very latest atlas that was built by
> binutils 2.29 (atlas-3.10.2-18.fc27.x86_64). It doesn't occur with
> the previous version of atlas (atlas-3.10.2-16.fc26) even though there
> seems to have been no change in atlas.
>
> $ nm -D /usr/lib64/atlas/libtatlas.so | grep larfy
> U clarfy_
> U dlarfy_
> U slarfy_
> U zlarfy_
>
> I looked in /usr/lib64 on my development machine which has atlas
> installed but there is no .so* file that I can find which defines
> these symbols. I also couldn't work out where in the atlas code
> (which is a bit strange) these references are used.
>
> Hence the question: Is this breakage in atlas? binutils?
>
> Rich.
>
OK so it seems that according to git commit messages LAPACK
has been rebased from 3.6.0 to 3.7.1 day before that mass
rebuild [1][2]. Those "larfy" subroutines have been added to
LAPACK in 3.7.0 and have not been present before[3]. I've
tried to make a scratch build of atlas [4] and the missing
symbols seem to be present...
$ nm -D ./libtatlas.so.3|grep larfy
T clarfy_
T dlarfy_
T slarfy_
T zlarfy_
It looks as if you scratch build just changes ‘rm’ to ‘rm -f’ at one
point in the spec file. Is that change also needed?
I can do a bump and rebuild of atlas with or without that change - let
me know.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top