【发布时间】:2012-09-29 17:56:24
【问题描述】:
在我的 x86_64 上使用默认 make 文件构建 GotoBlas2 时,遇到以下构建错误:
gcc -O2 -DEXPRECISION -m128bit-long-double -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DMAX_CPU_NUMBER=8 -DASMNAME= -DASMFNAME=_ -DNAME=_ -DCNAME= -DCHAR_NAME=\"_\" -DCHAR_CNAME=\"\" -I.. -w -o linktest linktest. c ../libgoto2_nehalemp-r1.13.so -L/usr/lib64/gcc/x86_64-suse-linux/4.7 -L/usr/lib64/gcc/x86_64-suse-linux/4.7/../../ ../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-suse-linux/4.7/../../ ../../x86_64-suse-linux/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.7/../../.. -l -l -lgfortran -lm -lquadmath -lm -lc && echo OK。 /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: 找不到 -l-l collect2: 错误: ld 返回 1 退出状态 make[1]: * [../libgoto2_nehalemp-r1.13.so] 错误 1 make[1]: 离开目录 `/home/ken/bin/build/GotoBLAS2/exports' make: * [shared] 错误2
为了解决这个问题,我在包管理器中搜索了一个满足 -l-l 的库,寻找 libl、liblex、libflex 等内容,但找不到任何满足链接的东西。
有什么想法吗?
【问题讨论】:
-
这看起来像是一个 makefile 错误。将库称为“-l”需要一种邪恶的幽默感。它可能只是从 -l $(emptyvar1) -l $(emptyvar2) 扩展了两个空变量
-
我怀疑你是对的。我在我的系统上找到了 libfl.a。我会尝试更正 Makefile。
-
啊,是的,你是对的。它不依赖于 libfl,它只是扩展了两个空变量。我现在给开发者发邮件。谢谢。构建成功。
标签: c build compilation hpc blas