我有一个专用程序,我正试图在64位系统上使用.
当我启动安装程序时,它工作正常,但在它try 更新自身并编译一些模块后,它无法加载它们.
我怀疑这是因为它使用了gcc,gcc试图为64位系统编译它们,因此这个程序不能使用这些模块.
有没有办法(一些环境变量或类似的东西)迫使gcc为32位平台做所有事情.32位chroot能用吗?
我有一个专用程序,我正试图在64位系统上使用.
当我启动安装程序时,它工作正常,但在它try 更新自身并编译一些模块后,它无法加载它们.
我怀疑这是因为它使用了gcc,gcc试图为64位系统编译它们,因此这个程序不能使用这些模块.
有没有办法(一些环境变量或类似的东西)迫使gcc为32位平台做所有事情.32位chroot能用吗?
您需要让GCC使用-m32
标志.
您可以try 在$PATH
中编写一个简单的shell脚本,并将其称为gcc(确保不覆盖原始gcc,并确保新脚本在$PATH
中更早出现,并且它使用gcc的完整路径).
我认为您需要的代码大约是/bin/gcc -m32 $*
,这取决于您的shell($*
包含了所有参数,尽管它可能是其他东西——非常重要!)