代码之家  ›  专栏  ›  技术社区  ›  testovich

安装atlas lapack包时,如何解决构建错误?

  •  0
  • testovich  · 技术社区  · 2 年前

    我正在ArchLinux上安装atlas lapack包

    https://aur.archlinux.org/packages/atlas-lapack

    安装如下:

    git clone https://aur.archlinux.org/atlas-lapack.git
    cd atlas-lapack
    makepkg -si
    

    经过很长时间的安装,我收到了以下消息

    ATLAS install complete.  Examine 
    ATLAS/bin/<arch>/INSTALL_LOG/SUMMARY.LOG for details.
    make[1]: Leaving directory '/home/user/Downloads/atlas/atlas-lapack/src/ATLAS/build'
    make clean
    make[1]: Entering directory '/home/user/Downloads/atlas/atlas-lapack/src/ATLAS/build'
    rm -f *.o x* config?.out *core*
    make[1]: Leaving directory '/home/user/Downloads/atlas/atlas-lapack/src/ATLAS/build'
    make: *** No rule to make target 'libptf77blas.a', needed by 'libptf77blas.so'.  Stop.
    ==> ERROR: A failure occurred in build().
        Aborting...
    

    请告诉我如何解决这个问题?

    Blas包( https://archlinux.org/packages/extra/x86_64/blas/ )已安装在系统上。

    更新。

    以下是makefile的内容

    include Make.inc
    
    all: libatlas.so libf77blas.so libptf77blas.so libstcblas.so libptcblas.so \
       libblas.so libcblas.so liblapack.so.3.6.1 libptlapack.so.3.6.1 liblapack.so.3
    
    libatlas.so: libatlas.a
        ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libatlas.a \
           --no-whole-archive -lc $(LIBS)
    
    libf77blas.so : libf77blas.a libatlas.so
        ld $(LDFLAGS) -shared -soname libf77blas.so.3 -o $@ --whole-archive \
           libf77blas.a --no-whole-archive $(F77SYSLIB) -L. -latlas
    
    libptf77blas.so : libptf77blas.a libatlas.so
        ld $(LDFLAGS) -shared -soname libblas.so.3 -o $@ --whole-archive \
           libptf77blas.a --no-whole-archive $(F77SYSLIB) -L. -latlas
    
    libstcblas.so : libcblas.a libatlas.so libblas.so
        ld $(LDFLAGS) -shared -soname libstcblas.so -o $@ --whole-archive \
           libcblas.a -L. -latlas -lblas
    
    libptcblas.so : libptcblas.a libatlas.so libblas.so
        ld $(LDFLAGS) -shared -soname libcblas.so -o $@ --whole-archive \
           libptcblas.a -L. -latlas -lblas
    
    libblas.so: libptf77blas.so
        ln -s $< $@
    
    libcblas.so: libptcblas.so
        ln -s $< $@
    
    liblapack.so.3.6.1 : liblapack.a libstcblas.so libf77blas.so
        ld $(LDFLAGS) -shared -soname libstlapack.so.3 -o $@ --whole-archive \
           liblapack.a --no-whole-archive $(F77SYSLIB) -L. -lstcblas -lf77blas
    
    libptlapack.so.3.6.1 : libptlapack.a libcblas.so libblas.so
        ld $(LDFLAGS) -shared -soname liblapack.so.3 -o $@ --whole-archive \
           libptlapack.a --no-whole-archive $(F77SYSLIB) -L. -lcblas -lblas
    
    liblapack.so.3: libptlapack.so.3.6.1
        ln -s $< $@
    

    据我所知,我错过了libptf77blas.一个图书馆?

    0 回复  |  直到 2 年前