Я использую 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-битном хосте с помощью Virtual Box (см. здесь для справки) .
Однако это может быть не так стабильно, как при работе на собственной 64-битной ОС. Если вам нужно запустить 64-битные приложения, я настоятельно рекомендую обновить вашу систему до версии Ubuntu amd64.
Вы можете запустить 64-битное приложение, если вы устанавливаете 64-битное ядро (что возможно при использовании 32-битных библиотек) и после этого создаете 64-битную среду chroot для приложения. Что ж, полностью виртуальное решение может быть проще, но если вам нужен прямой доступ к оборудованию, это единственный способ. Вы можете установить 645-битное ядро как дополнительное и загрузить его с помощью kexec.
Если это скомпилированный двоичный файл, только в 64-битной версии, я думаю, что вы застряли. Двоичные инструкции в 64-битной программе не будут поняты вашим 32-битным процессором. Можно было бы как-то запустить его через какой-то эмулятор, но я никогда не видел ни одного, предназначенного для этого, и, скорее всего, он работал бы очень медленно, если бы он был.