【问题标题】:configure: error: GNU libltdl (Libtool) not found, see README配置:错误:未找到 GNU libltdl (Libtool),请参阅自述文件
【发布时间】:2016-06-05 23:48:06
【问题描述】:

我正在尝试安装 GNU Guile,以便以后可以安装 Guix。我的环境非常封闭,但它们确实允许我们构建工具。过去几天我一直在尝试安装钢琴条,它可以工作,但我得到输出“无法打开音频设备”。我必须编译libao-pulse,这需要Guile,但是无论我传递给configure脚本的参数是什么,它总是以configure: error: GNU libltdl (Libtool) not found, see README.结束。

我尝试过设置 LD_LIBRARY_PATH、LD_FLAGS、CFLAGS 和其他几个,但我似乎无法通过这一步。

我的构建环境如下所示:

├── ~/local
   ├── bin
   ├── build
   ├── include
   ├── lib
   └── share

我设置了环境变量($PREFIX、$build 和 $PATH)来反映此设置。

我做错了什么?

config.log:https://gist.github.com/ijustlovemath/e197ee17db459ab46c1a

【问题讨论】:

标签: gcc makefile gnu guile libltdl


【解决方案1】:

您的日志中有以下几行:

configure:44552: checking for libltdl
configure:44574: gcc -o conftest -g -O2 -I/home/redacted/local/include -L/home/redacted/local/lib conftest.c /home/redacted/local/lib/libltdl.so -L/usr/lib /usr/lib/libdl.so -Wl,-rpath -Wl,/home/redacted/local/lib -Wl,-rpath -Wl,/usr/lib  >&5
/usr/lib/libdl.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status

这是您的config.log唯一 提到/usr/lib/libdl.so 的地方。我的预感是您的 libtool 的本地副本配置错误。

【讨论】:

  • 你的意思是/usr/lib 中的那个?还是 $PREFIX/lib 中的那个?我将如何配置它来修复它?另外,您过去曾出现在这个确切的问题上,您是某种 Guile 编译向导吗?
  • 我的意思是我认为您的本地 libtool 副本(在 $PREFIX/lib 中)被错误配置为引用 /usr/lib/libdl.so。它应该只使用-ldl,而不参考/usr/lib。 (不确定您在哪个平台上,但在我的 Debian 系统上,libdl.so/usr/lib/x86_64-linux-gnu 中。) 至于您的第二个问题,我使用 Guile 很长时间了,并且对 GNU 构建工具相当了解。 :-)
  • 我相信这是一个 RHEL 系统,从 apt-get 的缺乏和 yum 的存在来看。什么可能导致这种行为?我该如何解决?另外,我们可以把它移到聊天室吗?
  • 所以我发现$PREFIX/lib 中的libltdl.la 引用了/usr/lib 并更改了它,同样的错误。我应该重新编译 libltdl 吗?
  • 重建 libtool 成功了。哇!不敢相信这一直是问题所在。仍然没有成功,但至少我们遇到了新问题。干杯,我会将其标记为已关闭。
猜你喜欢
  • 2016-02-16
  • 2012-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-23
  • 2019-02-20
  • 1970-01-01
  • 2011-10-08
相关资源
最近更新 更多