Makefile Configure使用clang在x86_64上生成其他目录

Makefile Configure使用clang在x86_64上生成其他目录,makefile,clang,configure,automake,Makefile,Clang,Configure,Automake,我正尝试使用以下命令在Mac OS X Yosemite上从源代码构建(使用clang): /auto\u gen.sh ./configure--prefix=/path/to/my/own/directory 制作 安装 之后,我发现链接器使用clangtest.c-otest-ljit命令报告了librarynotfound错误。我检查了安装库的目录,发现它安装在/usr/local/lib/x86\u 64/libjit*而不是/usr/local/lib/libjit*,这导致了链接

我正尝试使用以下命令在Mac OS X Yosemite上从源代码构建(使用clang):

/auto\u gen.sh
./configure--prefix=/path/to/my/own/directory
制作
安装

之后,我发现链接器使用
clangtest.c-otest-ljit
命令报告了librarynotfound错误。我检查了安装库的目录,发现它安装在
/usr/local/lib/x86\u 64/libjit*
而不是
/usr/local/lib/libjit*
,这导致了链接错误

我还在我的Archlinux机器上构建了这个库,一切都很好。比较在不同操作系统上生成的两个makefile,我发现
libdir
变量不同

我在谷歌上搜索并浏览了关于Debian上的multiarch的页面,但我不确定这个问题是否与该机制有关


那么,如何像其他库一样将安装目录更改为
/usr/local/lib
?或者,如果这是正确的方法,如何使链接器正常工作?

在配置脚本上花了一些时间后,我发现了以下代码:

448如果测试x$GCC=xyes;然后
449多操作系统目录=`$CC-打印多操作系统目录`
450箱$multi_os_目录
451       .) ;; # 避免拖尾/。
452*)libdir=$libdir/$multi_os_directory;;
453以撒
454 fi

这无疑是这个问题的原因
clang-print multi-os directory
prints
x86_64
gcc
prints.”使用相同的选项。

在这种情况下,您必须深入研究——查看libjit
configure.ac
脚本,看看它是否在做一些奇怪的事情。没有什么东西是像这样的。这种黑客行为的发生频率超出人们的想象:-(.阅读
--help
输出可能也会提供信息。如果脚本确实执行了一些奇怪的操作,您将不得不对其进行编辑。@TomTromey非常感谢。我已经找到了原因。有时automake确实不易使用,尤其是在出现不同行为的情况下:(