Это не будет работать. Ядро OSX несколько отличается от ядра Linux.
ott--
Ну, OS X не использует двоичные файлы elf, так что это немного похоже на попытку запуска Windows .exe. Тем не менее, краткий поиск находит это: osxbook.com/software/xbinary Если вы можете перекомпилировать свой код, это не проблема.
Орион
XBinary требует программы, которая знает, как запустить ваш двоичный файл; оно само по себе ничего не запускает.
saagarjha
Ответы:
8
Эти ответы наполовину верны, потому что виртуализация - это выбор, но есть и другой. Могу ли я представить ...
Apple вновь приобрела NeXT Software в 1996 году, после того как Стив Джобс был уволен из Apple в 1984 году и использовал это программное обеспечение и людей там для создания OS X. OS X - это Darwin OS + NeXT Desktop Environment. И теперь мы возвращаемся к Bullet # 1, так как Дарвин является форком BSD с закрытым исходным кодом. Для проекта с открытым исходным кодом см. PureDarwin . Для официальной страницы разработчика Apple см. Apple Open Source .
Как мы можем использовать это
BSD традиционно используют систему портов для управления пакетами. Наиболее широко используемыми из них являются порты FreeBSD . Порты - это пакеты, установленные непосредственно из источника. Поскольку одни и те же приложения Linux поступают из одних и тех же источников , вы можете запустить приложение Linux, если его порт существует. Не используйте эти порты на Mac, потому что ...
Внутри XCode находится версия компилятора GCC от Apple и все другие связанные инструменты. Чтобы обновить инструменты, см. Этот пост в StackOverflow . Насколько мне известно, инструменты зависят от версии ОС, то есть они не имеют обратной совместимости (короче говоря, не устанавливайте XCode для 10.8 на 10.6 и т. Д.)
Я недавно начал использовать Noah для запуска бинарных файлов Linux в macOS. Вы можете установить с помощью homebrew ( brew install linux-noah/noah/noah). Тогда вы должны быть в состоянии сделать это:
noah linux_binary
По моему опыту поведение бинарного файла соответствует тому, что я вижу на моей машине с Ubuntu.
хотя команда работала и никаких ошибок не возникало, мои двоичные файлы не работали, как ожидалось
techkuz
2
Единственный способ, которым я знаю, что это можно сделать с помощью какой-то виртуализации . Например, вы можете использовать vagrant, который является своего рода оболочкой для Oracle VBox или VMware vmplayer. Другая вещь, которая иногда делается, это помещает это в контейнер, такой как докер .
Не напрямую! Да, как сказал Скалистый, вы должны виртуализировать его с VirtualBox , VMWare Fusion , который будет соответствовать вашему типу процессора.
Также есть Qemu , который будет виртуализировать разные типы процессоров, например Intel или Power и т. Д.
Эмуляция программного обеспечения
Существует также эмуляция программного уровня, с такими программами, как WiNE , и моей собственной программой emulayer (WiP). Обе эти программы частично эмулируют ОС Windows, конвертируя системные вызовы в POSIX.
Большинство приложений Linux будут работать на OSX с перекомпиляцией исходного кода.
Ответы:
Эти ответы наполовину верны, потому что виртуализация - это выбор, но есть и другой. Могу ли я представить ...
история
Как мы можем использовать это
BSD традиционно используют систему портов для управления пакетами. Наиболее широко используемыми из них являются порты FreeBSD . Порты - это пакеты, установленные непосредственно из источника. Поскольку одни и те же приложения Linux поступают из одних и тех же источников , вы можете запустить приложение Linux, если его порт существует. Не используйте эти порты на Mac, потому что ...
Поскольку все графические интерфейсы Apple написаны с использованием API-интерфейса Cocoa - WikiEntry , поставляемого в комплекте с XCode - OS X для разработчиков , порты можно настроить, чтобы воспользоваться этим:
Предостережение
Система портов не обязательно выполняет проверку зависимостей, если порт не был хорошо написан. Я слегка затронул проблему, что означает elibc_FreeBSD в оверлеях portage gentoo?
источник
Я недавно начал использовать Noah для запуска бинарных файлов Linux в macOS. Вы можете установить с помощью homebrew (
brew install linux-noah/noah/noah
). Тогда вы должны быть в состоянии сделать это:По моему опыту поведение бинарного файла соответствует тому, что я вижу на моей машине с Ubuntu.
источник
Единственный способ, которым я знаю, что это можно сделать с помощью какой-то виртуализации . Например, вы можете использовать vagrant, который является своего рода оболочкой для Oracle VBox или VMware vmplayer. Другая вещь, которая иногда делается, это помещает это в контейнер, такой как докер .
источник
Аппаратная эмуляция
Не напрямую! Да, как сказал Скалистый, вы должны виртуализировать его с VirtualBox , VMWare Fusion , который будет соответствовать вашему типу процессора.
Также есть Qemu , который будет виртуализировать разные типы процессоров, например Intel или Power и т. Д.
Эмуляция программного обеспечения
Существует также эмуляция программного уровня, с такими программами, как WiNE , и моей собственной программой emulayer (WiP). Обе эти программы частично эмулируют ОС Windows, конвертируя системные вызовы в POSIX.
Большинство приложений Linux будут работать на OSX с перекомпиляцией исходного кода.
источник