Сборка из исходного кода OR-Tools Java в Linux

Введение

В этом руководстве объясняется, как выполнить сборку OR-Tools из исходного кода с поддержкой Java в Linux.

Если вы не планируете изменять исходный код или использовать сторонний решатель с OR-Tools, мы рекомендуем установку пакета .

Хотя эти инструкции могут работать и на других вариантах Linux, мы тестировали их только на машинах, отвечающих следующим требованиям:

  • Alpine Edge 64-разрядная версия (x86_64)
  • Centos 7 LTS 64-бит (x86_64)
  • Debian SID 64-бит (x86_64)
  • Debian 11 (яблочко) 64-разрядная версия (x86_64)
  • Федора 38, 64-разрядная версия (x86_64)
  • Федора 37, 64-разрядная версия (x86_64)
  • OpenSuse Leap 64-бит (x86_64)
  • Ubuntu 23.10 64-разрядная версия (x86_64)
  • Ubuntu 22.04 LTS 64-бит (x86_64)
  • Ubuntu 20.04 LTS 64-бит (x86_64)

Предварительные условия

В следующих разделах описаны необходимые условия для установки OR-Tools.

Инструменты С++

Чтобы установить инструменты C++, откройте окно терминала и введите:

Альпийский

apk add alpine-sdk linux-headers cmake lsb-release-minimal

Центос

sudo yum groupinstall -y 'Development Tools'
sudo yum install -y pkgconfig redhat-lsb-core

Дебиан

sudo apt update
sudo apt install -y build-essential cmake lsb-release

Федора

sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core

Федора

sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core

OpenSUSE

sudo zypper refresh
sudo zypper install -y git gcc11 gcc11-c++ lsb-release

Убунту

sudo apt update
sudo apt install -y build-essential cmake lsb-release

Убунту

sudo apt update
sudo apt install -y build-essential cmake lsb-release

Убунту

sudo apt update
sudo apt install -y build-essential cmake lsb-release

СВИГ

Чтобы установить SWIG, откройте окно терминала и введите:

Альпийский

apk add swig

Центос

sudo yum install -y swig

Дебиан

sudo apt install -y swig

Федора

sudo dnf install -y swig

Федора

sudo dnf install -y swig

OpenSUSE

sudo zypper install -y swig

Убунту

sudo apt install -y swig

Убунту

sudo apt install -y swig

Убунту

sudo apt install -y swig

Java JDK >= 8.0

Чтобы установить Java JDK версии 8.0 или выше, откройте окно терминала и введите:

Альпийский

sudo apk add openjdk8
export JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk

Центос

sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

Дебиан

sudo apt install -y default-jdk
export JAVA_HOME=/usr/lib/jvm/default-java

Федора

sudo dnf install -y java-openjdk java-openjdk-devel

Федора

sudo dnf install -y java-openjdk java-openjdk-devel

OpenSUSE

sudo zypper install -y java-1_8_0-openjdk java-1_8_0-openjdk-devel

Убунту

sudo apt install -y default-jdk

Убунту

sudo apt install -y default-jdk

Убунту

sudo apt install -y default-jdk

Мавен >= 3,3

Чтобы установить Maven версии 3.3 или выше, откройте окно терминала и введите:

Альпийский

sudo apk add maven

Центос

sudo yum install -y maven

Дебиан

sudo apt install -y maven

Федора

sudo dnf install -y maven

Федора

sudo dnf install -y maven

OpenSUSE

sudo zypper install -y maven

Убунту

sudo apt install -y maven

Убунту

sudo apt install -y maven

Убунту

sudo apt install -y 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.9 вместо main ветки, введите в локальном репозитории следующие команды:

    git fetch --all --tags --prune
    git checkout tags/v9.9 -b v9.9
    

Настройка сборки

Перед сборкой 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, поддержка которых отключена по умолчанию:

Пожалуйста, ознакомьтесь с этой документацией для получения подробной информации.

Сборка исходного кода

Чтобы создать исходный код, откройте терминал и перейдите в каталог, в который вы извлекли файлы. Затем введите следующую команду для компиляции OR-Tools:

cmake --build build --config Release --target all -j -v

Подробности смотрите в документации CMake .

Проверьте исходный код

Вы можете проверить, что все работает правильно, введя:

cmake --build build --config Release --target test -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 -j -v

Установка OR-Tools в вашу операционную систему

Вы можете установить OR-Tools for Java в свою операционную систему, введя:

cmake --build build --config Release --target install -v