我在运行一个我知道可以在 32 位 Ubuntu VM 上运行的构建过程时遇到了麻烦make
。我正在运行 64 位 Ubuntu VM,我感觉 64 位可能是问题所在,但我并不完全确定。
基本上,当我运行 make 命令时,会出现以下错误:
Can't locate Autom4te/ChannelDefs.pm in @INC (@INC contains: [...]/staging_dir/host/share/autoconf /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at [...]/staging_dir/host/bin/autoreconf line 40.
现在,如果我导航到,[...]/staging_dir/host/share/autoconf
我可以看到,与 autoreconf 所想的相反,Autom4te/ChannelDefs.pm
它确实存在,所以我真的不明白这里发生了什么。
为了修复以前的问题(64 位与 32 位),我还安装了ia32-libs
,并且autoconf
为了安全起见安装了,但它仍然给我这个奇怪的错误。
答案1
好吧,我解决了这个问题,但我不确定具体是哪些组合解决了这个问题。我做了很多权限修复(尤其是 +x ing 二进制文件)。
答案2
Perl 找不到 Autom4te lib 的路径,请创建一个从/usr/local/Cellar/autoconf/2.69/share/autoconf
到 的软链接/usr/local/share
。命令如下:
cd /usr/local/share && ln -s /usr/local/Cellar/autoconf/2.69/share/autoconf .
哦,这是 MacOS
答案3
就我而言,这个问题是由我安装二进制文件的前缀路径不正确引起的:我首先将它们安装到一个文件夹,然后移动到另一个文件夹。
教训:仔细检查所有路径是否正确,并且没有手动将任何东西从一个地方移动到另一个地方。
(我根据 RTEMS 操作系统的“快速入门”说明构建了它,macOS 10.14)
答案4
我通过安装“autoconf”包解决了这个问题
sudo apt-get install autoconf