On 18/07/16 22:21, Andreas Tille wrote: > Hi, > > I tried to upgrade eigensoft[1]. The build fails with: > > ... > cc -Wl,-z,relro pca.o eigensrc/eigsubs.o eigx.o nicksrc/libnick.a -lgsl > -lblas -lgfortran -lrt -lm -o pca > eigx.o: In function `eigx_': > /build/eigensoft-6.1.2+dfsg/src/eigx.c:100: undefined reference to `dspev_'
Hi Andreas, just a few thoughts. The symbols you are looking for are in liblapack: $ sudo apt install eigensoft pax-utils $ symtree /usr/bin/pca ... liblapack.so.3 => dgetrf_,dgetri_,dsygv_,dgetrs_,dspev_,dpotrf_ ... If you add -llapack to the list of libraries, it will pass this step. It will fail later, but adding also -lpthread and -llapacke will make it build. That said, it sounds tricky, because there is zero guarantee that these dgetrf_ functions have the prototype that is in src/eigx.c (they don't seem to be public). This looks very error-prone. Cheers, Tomasz
signature.asc
Description: PGP signature