我使用的是 32 位机器,但我不得不使用一个相对晦涩的语义数据库,它只有 64 位版本。
在本地开发环境中运行它有哪些选择?
目前,当我尝试运行它时,我收到一条如下所示的错误消息:
cannot execute binary file
当我检查我的机器信息时,我得到了这个:
$ uname -a
Linux slabrams-desktop 2.6.32-29-generic #58-Ubuntu SMP Fri Feb 11 19:00:09 UTC 2011 i686 GNU/Linux
如果它是一个编译的二进制文件,只有 64 位版本,我认为你被卡住了。32 位处理器无法理解 64 位程序中的二进制指令。可能有可能以某种方式通过某种仿真器运行它,但我从未见过设计用于这样做的仿真器,如果有一个仿真器,它很可能会运行得很慢。
如果您的 CPU 支持硬件虚拟化(大多数现代处理器都支持),您可以使用 Virtual Box 在 32 位主机上运行 64 位来宾虚拟机(请参阅此处以供参考)。
但是,这可能不如在本机 64 位操作系统上运行稳定。如果您需要运行 64 位应用程序,我强烈建议您将系统升级到 amd64 Ubuntu 版本。
如果您安装了 64 位内核(在使用 32 位库时可以这样做),然后为应用程序构建 64 位 chroot 环境,则可以运行 64 位应用程序。好吧,完全虚拟的解决方案可能更容易,但如果您需要直接硬件访问,这是唯一的方法。您可以额外安装 645 位内核,并使用 kexec 加载它。