TAUCS库找不到-lg2c:从哪里下载g2c.a

时间:2015-01-20 12:41:05

标签: linker fortran gfortran

我正在尝试安装" TAUCS" (http://www.tau.ac.il/~stoledo/taucs/)图书馆。但是,我收到了以下错误:

/usr/bin/ld: cannot find -lmetis
/usr/bin/ld: cannot find -lg2c
collect2: error: ld returned 1 exit status
make: [build/linux/taucs_config_tests.h] Error 1 (ignored)
obj/linux/taucs_c99_complex_test build/linux/taucs_config_tests.h
make: obj/linux/taucs_c99_complex_test: Command not found

以及更多错误。

我猜主要错误是无法找到lg2c。

我想我已使用gcc使用gfortran代替g77。我在哪里可以找到g2c.a

在软件管理器中搜索返回没有结果。在谷歌搜索给了我除了我正在寻找的其他一切。

更新: 我可以按照描述安装g77。

However, that still leaves an error:
/usr/bin/ld: skipping incompatible external/lib/linux/liblapack.a when searching for -llapack
/usr/bin/ld: skipping incompatible external/lib/linux/liblapack.a when searching for -llapack
/usr/bin/ld: skipping incompatible external/lib/linux/liblapack.a when searching for -llapack
/usr/bin/ld: skipping incompatible external/lib/linux/libf77blas.a when searching for -lf77blas
/usr/bin/ld: skipping incompatible external/lib/linux/libf77blas.a when searching for -lf77blas
/usr/bin/ld: skipping incompatible external/lib/linux/libf77blas.a when searching for -lf77blas
/usr/bin/ld: skipping incompatible external/lib/linux/libcblas.a when searching for -lcblas
/usr/bin/ld: skipping incompatible external/lib/linux/libcblas.a when searching for -lcblas
/usr/bin/ld: skipping incompatible external/lib/linux/libcblas.a when searching for -lcblas
/usr/bin/ld: skipping incompatible external/lib/linux/libatlas.a when searching for -latlas
/usr/bin/ld: skipping incompatible external/lib/linux/libatlas.a when searching for -latlas
/usr/bin/ld: skipping incompatible external/lib/linux/libatlas.a when searching for -latlas
/usr/bin/ld: skipping incompatible external/lib/linux/libmetis.a when searching for -lmetis
/usr/bin/ld: skipping incompatible external/lib/linux/libmetis.a when searching for -lmetis
/usr/bin/ld: skipping incompatible external/lib/linux/libmetis.a when searching for -lmetis
obj/linux/taucs_c99_complex_test build/linux/taucs_config_tests.h


C99 complex numbers seem to be supported, 1+sqrt(-1)=-1.000000+1.000000i


cc -c -O3 -Wall -Werror -std=c99    -DMACHTYPE_ -I src/ -I build/linux/ -I external/src/   \
      progs/taucs_cilk_test.c \
      -oobj/linux/taucs_cilk_test.o
progs/taucs_cilk_test.c:8:19: fatal error: cilk.h: No such file or directory
 #include <cilk.h> 
                   ^
compilation terminated.
make: [build/linux/taucs_config_tests.h] Error 1 (ignored)
cc   \
      -oobj/linux/taucs_cilk_test \
      obj/linux/taucs_cilk_test.o -L external/lib/linux -llapack -L external/lib/linux -lf77blas -lcblas -latlas -L external/lib/linux -lmetis  -lg2c   -lm 
cc: error: obj/linux/taucs_cilk_test.o: No such file or directory
make: [build/linux/taucs_config_tests.h] Error 1 (ignored)
obj/linux/taucs_cilk_test build/linux/taucs_config_tests.h
make: obj/linux/taucs_cilk_test: Command not found
make: [build/linux/taucs_config_tests.h] Error 127 (ignored)
cc -c -O3 -Wall -Werror -std=c99    -DMACHTYPE_ -I src/ -I build/linux/ -I external/src/   \
    -DTAUCS_CORE_GENERAL \
    src/taucs_sn_llt.c \
    -oobj/linux/taucs_sn_llt.o
src/taucs_sn_llt.c:1339:1: error: ‘tree_first_descendant’ defined but not used [-Werror=unused-function]
 tree_first_descendant(int j,
 ^
cc1: all warnings being treated as errors
make: *** [obj/linux/taucs_sn_llt.o] Error 1

2 个答案:

答案 0 :(得分:1)

以下是我安装TAUCS库所做的工作

1)下载代码的2.2版,使用外部库,tgz格式

wget http://www.tau.ac.il/~stoledo/taucs/2.2/taucs_full.tgz

2)在您选择的位置打开包装

mkdir taucs_full

tar xvf taucs_full.tgz -C taucs_full

cd taucs_full

3)如果您还没有这样做,请安装libf2c2-dev(对于libf2c)

sudo apt-get install libf2c2-dev

4)从全局编译器选项文件中删除-Werror标志(会有警告,因此如果我们将它们视为错误,它将永远不会构建)

sed -i 's/-Werror//g' config/linux.mk

5)现在运行配置脚本

./configure

6)最后,我们需要为实际的make

做一些命令和库争论
make "CC=gcc" "FC=gfortran" "LIBF77=-Wl,-Bstatic -lf2c -Wl,-Bdynamic -lgfortran"

你应该在./bin/linux中获得二进制可执行文件 - 如果你只是尝试运行,它会给出这样的信息:

$ bin/linux/taucs_run 
taucs_run: there is no matrix!

这个答案的功劳必须从askubuntu.com

转到@steeldriver

答案 1 :(得分:0)

尝试安装g77。

我做了以下事情: 1)从这里下载64位的g77 http://www.ziddu.com/download/16792814/g77_x64_debian_and_ubuntu.tar.gz.html

您可以相应地选择32位。

2)然后做了以下事情:

tar -xzvf g77_x64_debian_and_ubuntu.tar.gz
cd  g77_x64_debian_and_ubuntu
chmod +x ./install.sh
./install.sh

(答案改编自askubuntu