Фэндом

HaikuOS - Русскоязычная Вики

Компиляция Haiku

38статей на
этой вики
Добавить новую страницу
Обсуждение0 Поделиться

Компиляция Haiku в Windows с помощью Cygwin

На данный момент стабильная сборка Haiku производится в самой Haiku или Linux, Free BSD, MacOS. Но мы попробуем поэкспериментировать и собрать Haiku в Windows! Для этого будем использовать среду Cygwin, которая позволяет компилировать и запускать UNIX / Linux программы в Windows. Описание Cygwin в википедии.

Весь процесс установки, настройки и компиляции по этапам:

1.Скачиваем 32 битную версию Cygwin с официального сайта.

2.Запускаем установку Cygwin (запускаем установочный файл setup-x86.exe).

3.Следуем стандартным настройкам установщика, до момента выбора пакетов.

4.На этапе выбора пакетов, следует ОБЯЗАТЕЛЬНО найти и отметить для установки следующие пакеты:

  • git
  • gcc-g++
  • make
  • bison
  • flex
  • texinfo
  • autoconf
  • automake
  • gawk
  • nasm
  • wget
  • zip
  • unzip
  • curl
  • curl-devel
  • zlib
  • zlib-devel
  • genisoimage
  • libtool

5.Установщик Cygwin скачает и установит выбранные пакеты автоматически.

6.При успешной установке, на рабочем столе должен появиться ярлык для запуска Cygwin.

7.Запускаем Cygwin и видим командную оболочку, как на скриншоте (для корректного выхода из неё, нужно набрать команду: exit):

Cygwin 1.png

8.Теперь ОБЯЗАТЕЛЬНО нужно включить поддержку режима case-sensitivity для имён файлов в системе Windows (по умолчанию отключено). Для этого откройте редактор реестра windows (команда regedit) и найдите параметр obcaseinsensitive по этому пути:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\

Установите значение параметра obcaseinsensitive в 0

Перезагрузите систему Windows для применения изменений.

9.Теперь запустите Cygwin и убедитесь, что команды, как на скриншоте, не вызывают ошибки и реально создают две папки с одинаковыми именами, но в разном регистре в домашней директории пользователя Cygwin:

c:\cygwin\home\user\

Cygwin 2.png

10. Теперь клонируем исходный код Haiku. Для это в командной оболочке Cygwin последовательно вводим команды:

git clone https://git.haiku-os.org/buildtools

git clone https://git.haiku-os.org/haiku

Cygwin 3.png

11. После успешного клонирования исходного кода Haiku, переходим к стадии компиляции кроссплатформенных инструментов для сборки Haiku. Для этого вводим следующие команды:

cd buildtools/jam

make

./jam0 install

cd ../..

jam -v

Cygwin 4.png

12. После успешной компиляции и установки специального форка системы сборки Jam для Haiku, переходим к компиляции других инструментов. Вводим команды (команда выделенная жирным курсивом вводится цельной, без разбивки на строки):

cd haiku

mkdir generated-x86

cd generated-x86

../configure -j2 --distro-compatibility official --use-gcc-pipe --build-cross-tools x86 ../../buildtools/

Описание ключей:

  • j2 - цифра указывает на количество ядер процессора задействованных в компиляции.
  • distro-compatibility official - указывает собирать официальный дистрибутив Haiku.
  • use-gcc-pipe - позволяет задействовать ОЗУ для более быстрой компиляции.

13. После удачной компиляции, мы должны увидеть сообщение: binutils and gcc for cross compilation have been built successfully!

Cygwin 5.png

Это означает, что конфигурация и компиляция необходимых инструментов закончилась успешно и можно двигаться дальше.

14. Теперь нужно добавить Cygwin в список поддерживаемых платформ. Без этого сборка Haiku не начинается с соответствующим сообщением:

/home/user/haiku/src/build/libsolv/Jamfile: Please add a case for your platform (cygwin)!

Редактируем файл по пути: haiku\src\build\libsolv\Jamfile

Находим раздел: switch $(HOST_PLATFORM)

И добавляем в него строки:

case cygwin :
DEFINES += HAVE_FUNOPEN ;

Сохраняем файл.

15.Потом редактируем файл по пути: haiku\build\jam\MainBuildRules

Находим строку: CygwinExtensionFix $(target) ;

Ставим перед ней символ комментария, чтобы получилось так:

#CygwinExtensionFix $(target) ;

Сохраняем файл.

16.После этого начинаем сборку дистрибутива Haiku!

Вводим команду (команда вводится цельной, без разбивки на строки):

jam -q -j2 -sHAIKU_IMAGE_SIZE=900 @nightly-anyboot

Описание ключей:

  • j2 - цифра указывает на количество ядер процессора задействованных в компиляции.
  • sHAIKU_IMAGE_SIZE=900 - цифра указывает желаемый размер образа.
  • @nightly-anyboot - означает, что это мультизагрузочная ночная сборка.

По идее, после всех этих манипуляций, мы должны увидеть радостное сообщение о том, что всё собралось и наш желанный дистрибутив готов, но из-за небольшой недоработки с правильной записью атрибутов файлов, этого не происходит, и пока сборка под Cygwin ломается почти под финиш.

На недавнем съезде программистов Haiku, эта проблема была поднята и поручена для решения одному из ведущих специалистов по коду Haiku, и он обещал всё наладить и выложить патч в основную ветку разработки, но пока этого не произошло.

Ждём :)

Источник

Haiku
Информация BFSГалерея
Haiku

ИсторияСмена названияАрхитектураВерсииHaiku на ХабреВидеоРепозитории пакетовПрограммыWineПланы на будущееHaiku в коммерческих продуктах

Форки и дистрибутивы PoemSakura
BeOS BeBoxSony eVillaBeIAZetaOS
Помощь FAQ: BeOS, HaikuЗагрузчикиЗагрузочная флешкаОбновление из репозиториев • HPKG-пакет: создание, распаковкаФинансовая поддержка Haiku через GoodSearchКомпиляция Haiku
Обзоры ОС Haiku: быстрый взгляд на неизвестную альтернативуBeOS – ОС, которая пока ещё жива!История одного процесса

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на Фэндоме

Случайная вики