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

TAUCS library cannot find -lg2c: where to download g2c.a from

我正在尝试安装 "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

在软件管理器中搜索 returns 我没有结果。在 google 中搜索可以找到除我要查找的内容之外的所有其他内容。

更新: 我可以按照说明安装 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

尝试安装 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

这是我安装 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