我尝试安装的任何东西都遇到这个错误。
机器正在运行redhat并且devops已经在非标准位置安装了新版本的程序/组件。我只有用户级别的访问权限。我已经强迫homebrew使用curl和git的非标准位置,但我不知道如何指向一个新版本的gcc,或者告诉它在链接器中添加选项来处理旧的(glibc?)文件。
ld: i386 architecture of input file '/lib/crti.o' is incompatible with i386:x86-64 output
ld: i386 architecture of input file '/lib/crtn.o' is incompatible with i386:x86-64 output
谢谢你的帮助。
首先调整LD_LIBRARY_PATH
和LIBRARY_PATH
变量,使multi - arch lib-dir领先于其他lib-dir。例如,/lib/x86_64-linux-gnu
位于/usr/lib64
和/lib
之前。现在,创建这个链接:ln -s /lib64 /lib/x86_64-linux-gnu
上面的链接假设您没有/lib/x86_64-linux-gnu
目录。如果您有该目录,但它是空的,请先删除它,然后建立链接。如果该目录不为空,则创建单独的库链接:
ln -s /lib64/crti.o /lib/x86_64-linux-gnu/crti.o
ln -s /lib64/crtn.o /lib/x86_64-linux-gnu/crtn.o
/usr/lib/i386-linux-gnu
/usr/lib/x86_64-linux-gnu
/lib/i386-linux-gnu
/lib/x86_64-linux-gnu
还可以看看我对类似(尽管相反)错误的回答。