在 Ubuntu 14.04 LTS 上安装 PLASMA 失败
Posted
技术标签:
【中文标题】在 Ubuntu 14.04 LTS 上安装 PLASMA 失败【英文标题】:Installing PLASMA on Ubuntu 14.04 LTS Fails 【发布时间】:2015-09-25 17:19:27 【问题描述】:我正在尝试在我的机器上安装 PLASMA,它似乎工作正常,然后失败了。
我也尝试在 PLASMA message board 中发布错误,但未获批准,我不确定该网站是否仍然有效。
我的最终目标是安装 HiPLARM R 软件包,因此我按照他们在 HiPLARM website 上发布的说明进行操作(使用 OpenBLAS)。
以下是我采取的步骤:
-
从这里下载 PLASMA 安装程序:http://icl.cs.utk.edu/plasma/software/index.html 到我的 ~/Downloads 目录(在撰写本文时版本为 2.7.1,由于 2-link-限制)
运行
tar -xf plasma-installer_2.7.1.tar.gz
,以便将其提取到~/plasma-installer_2.7.1.tar.gz
在 ~/plasma-installer_2.7.1.tar.gz 文件夹中,运行以下命令(按照 HiPLARM 网站的说明):
./setup.py --prefix="/usr" --blaslib="-L/usr/lib -lopenblas" \
--cflags="-O3 -fPIC -I/usr/include" \
--fflags="-O3 -fPIC" --noopt="-fPIC" --downlapc \
--notesting --ldflags_c="-I/usr/include"
不幸的是,这就是我所能得到的,因为它失败了。
这是输出:
~/plasma-installer_2.7.1$ ./setup.py --prefix="/usr" --blaslib="-L/usr/lib -lopenblas" \
> --cflags="-O3 -fPIC -I/usr/include" \
> --fflags="-O3 -fPIC" --noopt="-fPIC" --downlapc \
> --notesting --ldflags_c="-I/usr/include"
========================================
Setting up the framework
NOOPT flags are -fPIC
Install directory is... /usr
Creating directory /home/erol/plasma-installer_2.7.1/build
Build directory is... /home/erol/plasma-installer_2.7.1/build
Checking if cc works... yes
Checking if the Fortran compiler works... yes
Setting Fortran mangling... -DADD_
Setting download command...
Checking availablility of wget... available
Testing wget... working
Setting ranlib command... /usr/bin/ranlib
Detecting Fortran compiler... GNU
Detecting C compiler... GNU
Selected C compiler flags: -O3 -fPIC -I/usr/include
Selected Fortran compiler flags: -O3 -fPIC
Selected loader flags (C main): -I/usr/include
Selected loader flags (Fortran main): -I/usr/include
Checking loader... works
The C compiler is... cc
C flags are... -O3 -fPIC -I/usr/include
The Fortran compiler is... gfortran
Fortran flags are... -O3 -fPIC
Ar flags are... rc
BLAS library is... -L/usr/lib -lopenblas
CBLAS library is... Check if included in Blas Library
LAPACK library is... Check if included in Blas library
LAPACK C Interface library is... REFERENCE LAPACKE INTERFACE ( To download )
========================================
LAPACK C interface installation/verification
========================================
The reference LAPACK C interface is being installed.
Downloading reference LAPACK C interface... Creating directory /home/erol/plasma-installer_2.7.1/build/download
done
Unzip and untar reference LAPACK C interface... done
Compile and generate reference LAPACK C interface... Installation of reference LAPACK C interface successful.
(log is in /home/erol/plasma-installer_2.7.1/build/log/lapackcwrapperlog )
Traceback (most recent call last):
File "./setup.py", line 70, in <module>
sys.exit(main(sys.argv))
File "./setup.py", line 63, in main
Lapcwrapper(config, plasma)
File "/home/erol/plasma-installer_2.7.1/script/lapcwrapper.py", line 42, in __init__
self.down_install_lapc()
File "/home/erol/plasma-installer_2.7.1/script/lapcwrapper.py", line 268, in down_install_lapc
shutil.copy('liblapacke.a',os.path.join(self.prefix,'lib/liblapacke.a'))
File "/usr/lib/python2.7/shutil.py", line 119, in copy
copyfile(src, dst)
File "/usr/lib/python2.7/shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permission denied: '/usr/lib/liblapacke.a'
这是 /home/erol/plasma-installer_2.7.1/build/log/lapackcwrapperlog 文件的内容:
( cd INSTALL; make; ./testlsame; ./testslamch; ./testdlamch; \
./testsecond; ./testdsecnd; ./testieee; ./testversion )
make[1]: Entering directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/INSTALL'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/INSTALL'
ASCII character set
Tests completed
Epsilon = 5.96046448E-08
Safe minimum = 1.17549435E-38
Base = 2.00000000
Precision = 1.19209290E-07
Number of digits in mantissa = 24.0000000
Rounding mode = 1.00000000
Minimum exponent = -125.000000
Underflow threshold = 1.17549435E-38
Largest exponent = 128.000000
Overflow threshold = 3.40282347E+38
Reciprocal of safe minimum = 8.50705917E+37
Epsilon = 1.1102230246251565E-016
Safe minimum = 2.2250738585072014E-308
Base = 2.0000000000000000
Precision = 2.2204460492503131E-016
Number of digits in mantissa = 53.000000000000000
Rounding mode = 1.0000000000000000
Minimum exponent = -1021.0000000000000
Underflow threshold = 2.2250738585072014E-308
Largest exponent = 1024.0000000000000
Overflow threshold = 1.7976931348623157E+308
Reciprocal of safe minimum = 4.4942328371557898E+307
Time for 0.100E+09 SAXPY ops = 0.785E-02 seconds
SAXPY performance rate = 0.127E+05 mflops
Including SECOND, time = 0.163E-01 seconds
Average time for SECOND = 0.169E-03 milliseconds
Equivalent floating point ops = 0.216E+04 ops
Time for 0.100E+09 DAXPY ops = 0.139E-01 seconds
DAXPY performance rate = 0.721E+04 mflops
Including DSECND, time = 0.230E-01 seconds
Average time for DSECND = 0.182E-03 milliseconds
Equivalent floating point ops = 0.132E+04 ops
We are about to check whether infinity arithmetic
can be trusted. If this test hangs, set
ILAENV = 0 for ISPEC = 10 in LAPACK/SRC/ilaenv.f
Infinity arithmetic performed as per the ieee spec.
However, this is not an exhaustive test and does not
guarantee that infinity arithmetic meets the ieee spec.
We are about to check whether NaN arithmetic
can be trusted. If this test hangs, set
ILAENV = 0 for ISPEC = 11 in LAPACK/SRC/ilaenv.f
NaN arithmetic performed as per the ieee spec.
However, this is not an exhaustive test and does not
guarantee that NaN arithmetic meets the ieee spec.
LAPACK 3 . 5 . 0
( cd SRC; make )
make[1]: Entering directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/SRC'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/SRC'
( cd lapacke; make )
make[1]: Entering directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/lapacke'
cd include && cp lapacke_mangling_with_flags.h lapacke_mangling.h
cd src && make
make[2]: Entering directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/lapacke/src'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/lapacke/src'
cd utils && make
make[2]: Entering directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/lapacke/utils'
ar rc ../../liblapacke.a lapacke_cgb_nancheck.o lapacke_cgb_trans.o lapacke_cge_nancheck.o lapacke_cge_trans.o lapacke_cgg_nancheck.o lapacke_cgg_trans.o lapacke_cgt_nancheck.o lapacke_chb_nancheck.o lapacke_chb_trans.o lapacke_che_nancheck.o lapacke_che_trans.o lapacke_chp_nancheck.o lapacke_chp_trans.o lapacke_chs_nancheck.o lapacke_chs_trans.o lapacke_c_nancheck.o lapacke_cpb_nancheck.o lapacke_cpb_trans.o lapacke_cpf_nancheck.o lapacke_cpf_trans.o lapacke_cpo_nancheck.o lapacke_cpo_trans.o lapacke_cpp_nancheck.o lapacke_cpp_trans.o lapacke_cpt_nancheck.o lapacke_csp_nancheck.o lapacke_csp_trans.o lapacke_cst_nancheck.o lapacke_csy_nancheck.o lapacke_csy_trans.o lapacke_ctb_nancheck.o lapacke_ctb_trans.o lapacke_ctf_nancheck.o lapacke_ctf_trans.o lapacke_ctp_nancheck.o lapacke_ctp_trans.o lapacke_ctr_nancheck.o lapacke_ctr_trans.o lapacke_dgb_nancheck.o lapacke_dgb_trans.o lapacke_dge_nancheck.o lapacke_dge_trans.o lapacke_dgg_nancheck.o lapacke_dgg_trans.o lapacke_dgt_nancheck.o lapacke_dhs_nancheck.o lapacke_dhs_trans.o lapacke_d_nancheck.o lapacke_dpb_nancheck.o lapacke_dpb_trans.o lapacke_dpf_nancheck.o lapacke_dpf_trans.o lapacke_dpo_nancheck.o lapacke_dpo_trans.o lapacke_dpp_nancheck.o lapacke_dpp_trans.o lapacke_dpt_nancheck.o lapacke_dsb_nancheck.o lapacke_dsb_trans.o lapacke_dsp_nancheck.o lapacke_dsp_trans.o lapacke_dst_nancheck.o lapacke_dsy_nancheck.o lapacke_dsy_trans.o lapacke_dtb_nancheck.o lapacke_dtb_trans.o lapacke_dtf_nancheck.o lapacke_dtf_trans.o lapacke_dtp_nancheck.o lapacke_dtp_trans.o lapacke_dtr_nancheck.o lapacke_dtr_trans.o lapacke_lsame.o lapacke_sgb_nancheck.o lapacke_sgb_trans.o lapacke_sge_nancheck.o lapacke_sge_trans.o lapacke_sgg_nancheck.o lapacke_sgg_trans.o lapacke_sgt_nancheck.o lapacke_shs_nancheck.o lapacke_shs_trans.o lapacke_s_nancheck.o lapacke_spb_nancheck.o lapacke_spb_trans.o lapacke_spf_nancheck.o lapacke_spf_trans.o lapacke_spo_nancheck.o lapacke_spo_trans.o lapacke_spp_nancheck.o lapacke_spp_trans.o lapacke_spt_nancheck.o lapacke_ssb_nancheck.o lapacke_ssb_trans.o lapacke_ssp_nancheck.o lapacke_ssp_trans.o lapacke_sst_nancheck.o lapacke_ssy_nancheck.o lapacke_ssy_trans.o lapacke_stb_nancheck.o lapacke_stb_trans.o lapacke_stf_nancheck.o lapacke_stf_trans.o lapacke_stp_nancheck.o lapacke_stp_trans.o lapacke_str_nancheck.o lapacke_str_trans.o lapacke_xerbla.o lapacke_zgb_nancheck.o lapacke_zgb_trans.o lapacke_zge_nancheck.o lapacke_zge_trans.o lapacke_zgg_nancheck.o lapacke_zgg_trans.o lapacke_zgt_nancheck.o lapacke_zhb_nancheck.o lapacke_zhb_trans.o lapacke_zhe_nancheck.o lapacke_zhe_trans.o lapacke_zhp_nancheck.o lapacke_zhp_trans.o lapacke_zhs_nancheck.o lapacke_zhs_trans.o lapacke_z_nancheck.o lapacke_zpb_nancheck.o lapacke_zpb_trans.o lapacke_zpf_nancheck.o lapacke_zpf_trans.o lapacke_zpo_nancheck.o lapacke_zpo_trans.o lapacke_zpp_nancheck.o lapacke_zpp_trans.o lapacke_zpt_nancheck.o lapacke_zsp_nancheck.o lapacke_zsp_trans.o lapacke_zst_nancheck.o lapacke_zsy_nancheck.o lapacke_zsy_trans.o lapacke_ztb_nancheck.o lapacke_ztb_trans.o lapacke_ztf_nancheck.o lapacke_ztf_trans.o lapacke_ztp_nancheck.o lapacke_ztp_trans.o lapacke_ztr_nancheck.o lapacke_ztr_trans.o lapacke_make_complex_float.o lapacke_make_complex_double.o
/usr/bin/ranlib ../../liblapacke.a
make[2]: Leaving directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/lapacke/utils'
make[1]: Leaving directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/lapacke'
( cd INSTALL; make; ./testlsame; ./testslamch; ./testdlamch; \
./testsecond; ./testdsecnd; ./testieee; ./testversion )
make[1]: Entering directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/INSTALL'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/INSTALL'
ASCII character set
Tests completed
Epsilon = 5.96046448E-08
Safe minimum = 1.17549435E-38
Base = 2.00000000
Precision = 1.19209290E-07
Number of digits in mantissa = 24.0000000
Rounding mode = 1.00000000
Minimum exponent = -125.000000
Underflow threshold = 1.17549435E-38
Largest exponent = 128.000000
Overflow threshold = 3.40282347E+38
Reciprocal of safe minimum = 8.50705917E+37
Epsilon = 1.1102230246251565E-016
Safe minimum = 2.2250738585072014E-308
Base = 2.0000000000000000
Precision = 2.2204460492503131E-016
Number of digits in mantissa = 53.000000000000000
Rounding mode = 1.0000000000000000
Minimum exponent = -1021.0000000000000
Underflow threshold = 2.2250738585072014E-308
Largest exponent = 1024.0000000000000
Overflow threshold = 1.7976931348623157E+308
Reciprocal of safe minimum = 4.4942328371557898E+307
Time for 0.100E+09 SAXPY ops = 0.785E-02 seconds
SAXPY performance rate = 0.127E+05 mflops
Including SECOND, time = 0.163E-01 seconds
Average time for SECOND = 0.169E-03 milliseconds
Equivalent floating point ops = 0.216E+04 ops
Time for 0.100E+09 DAXPY ops = 0.139E-01 seconds
DAXPY performance rate = 0.721E+04 mflops
Including DSECND, time = 0.230E-01 seconds
Average time for DSECND = 0.182E-03 milliseconds
Equivalent floating point ops = 0.132E+04 ops
We are about to check whether infinity arithmetic
can be trusted. If this test hangs, set
ILAENV = 0 for ISPEC = 10 in LAPACK/SRC/ilaenv.f
Infinity arithmetic performed as per the ieee spec.
However, this is not an exhaustive test and does not
guarantee that infinity arithmetic meets the ieee spec.
We are about to check whether NaN arithmetic
can be trusted. If this test hangs, set
ILAENV = 0 for ISPEC = 11 in LAPACK/SRC/ilaenv.f
NaN arithmetic performed as per the ieee spec.
However, this is not an exhaustive test and does not
guarantee that NaN arithmetic meets the ieee spec.
LAPACK 3 . 5 . 0
( cd SRC; make )
make[1]: Entering directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/SRC'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/SRC'
( cd lapacke; make )
make[1]: Entering directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/lapacke'
cd include && cp lapacke_mangling_with_flags.h lapacke_mangling.h
cd src && make
make[2]: Entering directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/lapacke/src'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/lapacke/src'
cd utils && make
make[2]: Entering directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/lapacke/utils'
ar rc ../../liblapacke.a lapacke_cgb_nancheck.o lapacke_cgb_trans.o lapacke_cge_nancheck.o lapacke_cge_trans.o lapacke_cgg_nancheck.o lapacke_cgg_trans.o lapacke_cgt_nancheck.o lapacke_chb_nancheck.o lapacke_chb_trans.o lapacke_che_nancheck.o lapacke_che_trans.o lapacke_chp_nancheck.o lapacke_chp_trans.o lapacke_chs_nancheck.o lapacke_chs_trans.o lapacke_c_nancheck.o lapacke_cpb_nancheck.o lapacke_cpb_trans.o lapacke_cpf_nancheck.o lapacke_cpf_trans.o lapacke_cpo_nancheck.o lapacke_cpo_trans.o lapacke_cpp_nancheck.o lapacke_cpp_trans.o lapacke_cpt_nancheck.o lapacke_csp_nancheck.o lapacke_csp_trans.o lapacke_cst_nancheck.o lapacke_csy_nancheck.o lapacke_csy_trans.o lapacke_ctb_nancheck.o lapacke_ctb_trans.o lapacke_ctf_nancheck.o lapacke_ctf_trans.o lapacke_ctp_nancheck.o lapacke_ctp_trans.o lapacke_ctr_nancheck.o lapacke_ctr_trans.o lapacke_dgb_nancheck.o lapacke_dgb_trans.o lapacke_dge_nancheck.o lapacke_dge_trans.o lapacke_dgg_nancheck.o lapacke_dgg_trans.o lapacke_dgt_nancheck.o lapacke_dhs_nancheck.o lapacke_dhs_trans.o lapacke_d_nancheck.o lapacke_dpb_nancheck.o lapacke_dpb_trans.o lapacke_dpf_nancheck.o lapacke_dpf_trans.o lapacke_dpo_nancheck.o lapacke_dpo_trans.o lapacke_dpp_nancheck.o lapacke_dpp_trans.o lapacke_dpt_nancheck.o lapacke_dsb_nancheck.o lapacke_dsb_trans.o lapacke_dsp_nancheck.o lapacke_dsp_trans.o lapacke_dst_nancheck.o lapacke_dsy_nancheck.o lapacke_dsy_trans.o lapacke_dtb_nancheck.o lapacke_dtb_trans.o lapacke_dtf_nancheck.o lapacke_dtf_trans.o lapacke_dtp_nancheck.o lapacke_dtp_trans.o lapacke_dtr_nancheck.o lapacke_dtr_trans.o lapacke_lsame.o lapacke_sgb_nancheck.o lapacke_sgb_trans.o lapacke_sge_nancheck.o lapacke_sge_trans.o lapacke_sgg_nancheck.o lapacke_sgg_trans.o lapacke_sgt_nancheck.o lapacke_shs_nancheck.o lapacke_shs_trans.o lapacke_s_nancheck.o lapacke_spb_nancheck.o lapacke_spb_trans.o lapacke_spf_nancheck.o lapacke_spf_trans.o lapacke_spo_nancheck.o lapacke_spo_trans.o lapacke_spp_nancheck.o lapacke_spp_trans.o lapacke_spt_nancheck.o lapacke_ssb_nancheck.o lapacke_ssb_trans.o lapacke_ssp_nancheck.o lapacke_ssp_trans.o lapacke_sst_nancheck.o lapacke_ssy_nancheck.o lapacke_ssy_trans.o lapacke_stb_nancheck.o lapacke_stb_trans.o lapacke_stf_nancheck.o lapacke_stf_trans.o lapacke_stp_nancheck.o lapacke_stp_trans.o lapacke_str_nancheck.o lapacke_str_trans.o lapacke_xerbla.o lapacke_zgb_nancheck.o lapacke_zgb_trans.o lapacke_zge_nancheck.o lapacke_zge_trans.o lapacke_zgg_nancheck.o lapacke_zgg_trans.o lapacke_zgt_nancheck.o lapacke_zhb_nancheck.o lapacke_zhb_trans.o lapacke_zhe_nancheck.o lapacke_zhe_trans.o lapacke_zhp_nancheck.o lapacke_zhp_trans.o lapacke_zhs_nancheck.o lapacke_zhs_trans.o lapacke_z_nancheck.o lapacke_zpb_nancheck.o lapacke_zpb_trans.o lapacke_zpf_nancheck.o lapacke_zpf_trans.o lapacke_zpo_nancheck.o lapacke_zpo_trans.o lapacke_zpp_nancheck.o lapacke_zpp_trans.o lapacke_zpt_nancheck.o lapacke_zsp_nancheck.o lapacke_zsp_trans.o lapacke_zst_nancheck.o lapacke_zsy_nancheck.o lapacke_zsy_trans.o lapacke_ztb_nancheck.o lapacke_ztb_trans.o lapacke_ztf_nancheck.o lapacke_ztf_trans.o lapacke_ztp_nancheck.o lapacke_ztp_trans.o lapacke_ztr_nancheck.o lapacke_ztr_trans.o lapacke_make_complex_float.o lapacke_make_complex_double.o
/usr/bin/ranlib ../../liblapacke.a
make[2]: Leaving directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/lapacke/utils'
make[1]: Leaving directory `/home/erol/plasma-installer_2.7.1/build/lapack-3.5.0/lapacke'
任何关于如何成功安装的反馈将不胜感激。
感谢您的帮助。
【问题讨论】:
【参考方案1】:这是 LAPACK 库的权限错误。以sudo
运行脚本应该可以解决这个问题。
【讨论】:
以上是关于在 Ubuntu 14.04 LTS 上安装 PLASMA 失败的主要内容,如果未能解决你的问题,请参考以下文章
在 Ubuntu 14.04LTS 上安装 capybara-webkit 时面临的问题
在 Ubuntu 14.04 LTS 上安装 Qt Creator 3.1.2