MacOS의 소스 OR-도구 자바에서 빌드

소개

이 가이드에서는 MacOS에서 Java를 지원하는 소스 OR-도구에서 빌드하는 방법을 설명합니다.

소스 코드를 수정하거나 OR-Tools와 함께 서드 파티 솔버를 사용할 계획이 아니라면 패키지 설치를 사용하는 것이 좋습니다.

이 안내는 다른 MacOS 변형에도 적용될 수 있지만 다음 요구사항을 충족하는 컴퓨터에서만 테스트했습니다.

  • MacOS 13.0.1 (Ventura) Intel 64비트 (x86_64)
  • MacOS 13.0.1 (Ventura) M1 (arm64)

기본 요건

다음 섹션에서는 OR-도구를 설치하기 위한 기본 요건을 설명합니다.

Xcode 명령줄 도구

Xcode 명령줄 도구를 설치해야 합니다. 이렇게 하려면 /Applications/Utilities/에 있는 터미널을 열고 다음을 입력합니다.

xcode-select --install

'Install'을 클릭하여 Xcode 명령줄 도구를 다운로드하고 설치합니다. App Store에서 'Xcode 가져오기'를 하지 않아도 됩니다. 인터넷 연결이 느린 경우 몇 분 정도 걸릴 수 있습니다

Xcode 명령줄 도구가 성공적으로 설치되었는지 확인합니다.

xcode-select -p

그러면 다음과 같이 표시됩니다.

/Library/Developer/CommandLineTools

Homebrew

나머지 기본 요건을 설치하려면 먼저 'macOS용 누락 패키지 관리자'(Homebrew라고 함)를 설치하는 것이 좋습니다. 이렇게 하려면 터미널 창을 열고 다음을 입력합니다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew update

브루가 설치되었는지 확인하려면 다음을 실행하세요.

brew --version

그러면 다음과 같이 표시됩니다.

Homebrew 1.6.9-8-g25542d7
Homebrew/homebrew-core (git revision 0e0c84; last commit 2018-06-20)

C++ 도구

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

Maven을 설치해야 합니다.

Homebrew를 설치했으면 터미널 창을 열고 다음을 입력하여 maven을 설치할 수 있습니다.

brew install maven

다음 명령어를 사용하여 Maven이 올바르게 설치되어 있는지 테스트하고 java를 찾을 수 있습니다.

mvn -v

소스 코드 다운로드하기

GitHub의 OR-도구 소스 코드에는 stablemain라는 서로 다른 두 가지 브랜치가 있습니다.

stable 브랜치는 철저한 테스트를 거쳤으며 지원되는 모든 플랫폼에서 원활하게 작동합니다.
main 브랜치는 최신 업데이트 및 개선사항이 적용된 위치입니다. 더 최신 상태이지만 덜 안정적입니다.

안정적인 소스 코드 다운로드

다음 방법 중 하나를 사용하여 OR-도구의 안정적인 소스 코드를 가져올 수 있습니다.

  • 다음을 입력하여 stable 브랜치를 클론합니다.

    git clone https://github.com/google/or-tools
    
  • GitHub에서 Clone or download 버튼을 클릭하여 최신 출시 버전을 압축 파일로 다운로드합니다. 클론 또는 다운로드 버튼 이미지

기본 소스 코드 다운로드

main 브랜치에서 소스 코드를 검색하려면 다음을 입력합니다.

git clone -b main https://github.com/google/or-tools

이전 출시 버전 다운로드

다음 방법 중 하나를 사용하여 이전 버전의 소스 코드를 가져올 수 있습니다.

  • GitHub 출시 페이지에서 이전 출시 버전을 다운로드합니다.
  • (git clone로) 로컬 저장소를 이미 만들었다고 가정하면 Git 태그를 사용하여 특정 출시 버전을 체크아웃할 수 있습니다. 예를 들어 main 브랜치 대신 v9.9 출시로 작업하려면 로컬 저장소에 다음 명령어를 입력합니다.

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

빌드 구성

OR-Tools를 빌드하기 전에 CMake 빌드 시스템 생성기를 구성해야 합니다.

터미널을 열고 파일의 압축을 푼 디렉터리로 이동합니다. 그런 다음 아래 내용을 입력합니다.

cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_JAVA=ON

자세한 내용은 CMake 문서를 참고하세요.

SCIP 사용

v7.8부터 SCIP가 통합되었으므로 수동으로 설치할 필요가 없습니다.

Gurobi 사용

이제 Gurobi가 사전 통합되었습니다. 필요한 경우 런타임 시 OR-Tools는 MAC OS X 및 Windows에 있는 Gurobi 설치 프로그램의 기본 설치 경로에서 또는 GUROBI_HOME 환경 변수를 사용하여 Gurobi 공유 라이브러리를 검색합니다.

서드 파티 MIP 솔버(선택사항) 사용

지원이 기본적으로 사용 중지된 다음의 서드 파티 MIP 솔버(선택사항)와 함께 OR-도구를 사용할 수도 있습니다.

자세한 내용은 이 문서를 참고하세요.

소스 코드 빌드

소스 코드를 빌드하려면 터미널을 열고 파일의 압축을 푼 디렉터리로 이동합니다. 그런 다음 다음 명령어를 입력하여 OR-Tools를 컴파일합니다.

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

자세한 내용은 CMake 문서를 참고하세요.

소스 코드 테스트

다음을 입력하면 모든 것이 올바르게 실행되고 있는지 확인할 수 있습니다.

cmake --build build --config Release --target RUN_TESTS -v

OR 도구 예시를 실행합니다. 모든 예시가 성공적으로 실행되면 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 도구 설치

다음을 입력하여 운영 체제에 Java용 OR-도구를 설치할 수 있습니다.

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