Введение
В этом руководстве объясняется, как выполнить сборку из исходного кода OR-Tools с поддержкой Java на MacOS.
Если вы не планируете изменять исходный код или использовать сторонний решатель с OR-Tools, мы рекомендуем установку пакета .
Хотя эти инструкции могут работать и на других вариантах MacOS, мы тестировали их только на машинах, отвечающих следующим требованиям:
- MacOS 13.0.1 (Ventura) Intel 64-бит (x86_64)
- MacOS 13.0.1 (Вентура) M1 (arm64)
Предварительные условия
В следующих разделах описаны необходимые условия для установки OR-Tools.
Инструменты командной строки Xcode
Вам необходимо установить инструменты командной строки Xcode . Для этого откройте терминал, расположенный в /Applications/Utilities/
, и введите:
xcode-select --install
Нажмите «Установить», чтобы загрузить и установить инструменты командной строки Xcode. Вам не нужно «Получить Xcode» из App Store. Если у вас медленное подключение к Интернету, это может занять много минут.
Убедитесь, что вы успешно установили инструменты командной строки Xcode:
xcode-select -p
Вы должны увидеть:
/Library/Developer/CommandLineTools
Домашнее пиво
Чтобы установить остальные необходимые компоненты, мы рекомендуем сначала установить «отсутствующий менеджер пакетов для macOS», также известный как Homebrew . Для этого откройте окно терминала и введите:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew update
Чтобы убедиться, что вы успешно установили Brew:
brew --version
Вы должны увидеть:
Homebrew 1.6.9-8-g25542d7
Homebrew/homebrew-core (git revision 0e0c84; last commit 2018-06-20)
Инструменты С++
Чтобы установить инструменты C++, откройте окно терминала и введите:
brew install cmake wget pkg-config
Инструмент SWIG
Чтобы установить инструмент SWIG, откройте окно терминала и введите:
brew install swig
Java JDK
Вам необходимо установить Java JDK 8.0 или выше.
После установки Homebrew вы можете установить openjdk , открыв окно терминала и введя:
brew install openjdk
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
Затем вам нужно экспортировать переменную JAVA_HOME
:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk.jdk
Мавен
Вы должны установить Maven .
После установки Homebrew вы можете установить maven , открыв окно терминала и введя:
brew install maven
Вы можете проверить правильность установки Maven и найти Java, используя следующую команду:
mvn -v
Загрузите исходный код
На GitHub есть две отдельные ветки исходного кода OR-Tools: stable
и main
.
stable
ветка была тщательно протестирована и должна безупречно работать на всех поддерживаемых платформах.
В main
ветке применены последние обновления и улучшения; он более актуален, но менее стабилен.
Загрузите стабильный исходный код
Вы можете получить стабильный исходный код OR-Tools одним из следующих способов:
Клонируйте
stable
ветку, введя:git clone https://github.com/google/or-tools
Загрузите последнюю версию в сжатом файле, нажав кнопку
Clone or download
на GitHub .
Загрузите основной исходный код
Чтобы получить исходный код из main
ветки, введите:
git clone -b main https://github.com/google/or-tools
Загрузить предыдущие выпуски
Вы можете получить исходный код предыдущих выпусков одним из следующих способов:
- Загрузите предыдущий выпуск со страницы выпуска GitHub .
Предполагая, что вы уже создали локальный репозиторий (с помощью
git clone
), вы можете проверить конкретный выпуск, используя тег Git. Например, чтобы работать с выпуском v9.10 вместоmain
ветки, введите в локальном репозитории следующие команды:git fetch --all --tags --prune
git checkout tags/v9.10 -b v9.10
Настройка сборки
Перед сборкой OR-Tools вам необходимо настроить генератор системы сборки CMake.
Откройте терминал и перейдите в каталог, в который вы извлекли файлы. Затем введите:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_JAVA=ON
Подробности смотрите в документации CMake .
Использование SCIP
Начиная с версии 7.8, SCIP теперь интегрирован, поэтому вам не придется устанавливать его вручную.
Использование Гуроби
Гуроби теперь предварительно интегрирован. При необходимости во время выполнения OR-Tools будет искать общую библиотеку Gurobi в пути установки по умолчанию установщиков Gurobi в MAC OS X и Windows или с помощью переменной среды GUROBI_HOME
.
Использование дополнительного стороннего решателя MIP
Вы также можете использовать OR-Tools с любым из следующих дополнительных сторонних решателей MIP, поддержка которых отключена по умолчанию:
- Комплексный комплекс
- GLPK (только Linux и MacOS)
- XPRESS-решатель
Пожалуйста, ознакомьтесь с этой документацией для получения подробной информации.
Сборка исходного кода
Чтобы создать исходный код, откройте терминал и перейдите в каталог, в который вы извлекли файлы. Затем введите следующую команду для компиляции OR-Tools:
cmake --build build --config Release --target ALL_BUILD -j -v
Подробности смотрите в документации CMake .
Проверьте исходный код
Вы можете проверить, что все работает правильно, введя:
cmake --build build --config Release --target RUN_TESTS -v
Это запускает примеры для OR-Tools. Если все примеры выполняются успешно, вы готовы приступить к работе с OR-Tools .
Очистка файлов сборки
Если вам нужно переустановить OR-Tools, команда:
rm -r build
удалит все скомпилированные зависимости. Это может быть полезно для сброса в чистое состояние.
Затем повторно введите команды:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_JAVA=ON
cmake --build build --config Release --target ALL_BUILD -j -v
Установка OR-Tools в вашу операционную систему
Вы можете установить OR-Tools for Java в свою операционную систему, введя:
cmake --build build --config Release --target install -v