Прочие Unix (экспериментально)
Инструкции по сборке на неподдерживаемых ОС следует считать экспериментальными, предоставляются «как есть» (best effort) и могут быть неполными.
Предупреждение о параллельной компиляции (флаг -j): при сборке C/C++ часто используют make -j $(nproc) по числу ядер. Учтите: некоторые единицы компиляции (.cpp) в COOPOS очень тяжёлые и при компиляции могут потреблять почти 4 ГБ ОЗУ. Возможно, придётся снизить степень параллелизма в зависимости от объёма памяти на машине сборки, например вместо make -j $(nproc) запустить make -j2. Исчерпание памяти обычно (но не всегда) проявляется как падение компилятора.
В целом мы рекомендуем так называемую pinned-сборку: версии компилятора и Boost остаются одинаковыми между сборками разных версий COOPOS (COOPOS требует неизменности этих версий, иначе состояние нужно восстанавливать из переносимого снимка).
Инструкции по сборке на FreeBSD 13.1
Установите зависимости: и выполните сборку (в FreeBSD 13.1 по умолчанию llvm13 — передайте cmake опции clang11):Запуск тестов¶
При сборке из исходников рекомендуется запускать как минимум «параллелизуемые» тесты. В этот набор по умолчанию не входят WASM spec tests — их можно добавить для большего покрытия, они тоже запускаются параллельно.
cd build
# «parallelizable tests»: минимальный набор, который стоит прогонять
ctest -j $(nproc) -LE _tests
# Дополнительно: WASM spec tests
ctest -j $(nproc) -L wasm_spec_tests
Другие тесты доступны и полезны, но они чувствительны к другому ПО на той же машине и могут SIGKILL другие запущенные экземпляры nodeos: