【问题标题】:Linux how to trace what dependencies are checked by a configure scriptLinux如何跟踪配置脚本检查了哪些依赖项
【发布时间】:2016-06-15 21:53:02
【问题描述】:

我正在从源代码编译一些程序,运行 configure 时会列出一些不满足的依赖项,因此不会构建函数的 .so。错误消息和文档很少详细说明缺少的内容或要安装的其他标头等。

我如何使用 configure 和 make 来跟踪 configure 正在运行哪些测试并且不满足依赖关系。

例如在 gstreamer-bad 中,配置吐出

 configure: *** Plug-ins with dependencies that will NOT be built:
hls

在查看文档站点时,它有一个对

的基本参考
https://gstreamer.freedesktop.org/documentation/plugins.html 
hls HTTP Live Streaming (HLS)   gst-plugins-bad 1.9.0.1
    hlsdemux    HTTP Live Streaming demuxer
    hlssink HTTP Live Streaming sink

但没有关于它需要什么外部库的链接。所以我查看了 ./configure & configure.log,但没有直接指向 *.h、*.c、*so 的内容。

我确实找到了对 ac_config_files=" ext/hls/Makefile " 的引用,并且在该文件中我找到了对将要创建的文件的引用,但我找不到依赖项检查的引用。因此,再次检查 .c,.h 文件中的包含并没有发现任何明显的问题。

有没有一种方法可以开始回溯以找出我正在寻找的依赖关系?我是在寻找正确的地方还是缺少一个基本步骤来为我提供更详细的信息? `

【问题讨论】:

  • 有时SHELL='bash -x' bash -x ./configure ... 有帮助。这告诉 bash 运行 configure 脚本并在运行时打印每个命令,并设置 SHELL 以便任何 makefile 和子进程也将使用 -x 标志运行 bash。
  • @JonathanWakely 这应该是答案。
  • @yugr 添加为答案

标签: linux gcc makefile gstreamer configure


【解决方案1】:

有时SHELL='bash -x' bash -x ./configure ... 会有所帮助。这告诉 bash 运行 configure 脚本并在运行时打印每个命令,并设置 SHELL 以便任何 makefile 和子进程也将使用 -x 标志运行 bash。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-15
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 2016-11-25
    • 2012-12-28
    相关资源
    最近更新 更多