【问题标题】:How to build Gotoblas2 on Opensuse 12.2如何在 Opensuse 12.2 上构建 Gotoblas2
【发布时间】: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


【解决方案1】:

要解决此问题,请将 f_check 中的第 298 行编辑为

"print MAKEFILE "FEXTRALIB=$linker_L   -lgfortran -lm -lquadmath -lm $linker_a\n";" 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多