Compila desde el código fuente OR-Tools Java en macOS

Introducción

Esta guía explica cómo compilar a partir de herramientas OR de origen, con compatibilidad para Java en macOS.

A menos que planees modificar el código fuente o usar un solucionador de problemas externo con OR-Tools, te recomendamos la instalación del paquete.

Aunque estas instrucciones también podrían funcionar en otras variantes de macOS, solo los probaron en máquinas que cumplen con los siguientes requisitos:

  • MacOS 13.0.1 (Ventura) Intel de 64 bits (x86_64)
  • MacOS 13.0.1 (Ventura) M1 (arm64)

Requisitos previos

Las siguientes secciones describen los requisitos previos para instalar OR-Tools.

Herramientas de línea de comandos de Xcode

Debes instalar las herramientas de línea de comandos de Xcode. Para hacerlo, abre la Terminal, que se encuentra en /Applications/Utilities/, y escribe:

xcode-select --install

Haz clic en “Instalar” para descargar y, luego, instalar las herramientas de línea de comandos de Xcode. No necesitas para "Obtener Xcode" en App Store. Si tu conexión a Internet es lenta, puede tardar varios minutos.

Verifica que hayas instalado correctamente las herramientas de línea de comandos de Xcode:

xcode-select -p

Deberías ver lo siguiente:

/Library/Developer/CommandLineTools

Homebrew

Para instalar los demás requisitos previos, “falta el administrador de paquetes para macOS” también conocido como Homebrew Para ello, abre una ventana de terminal y escribe lo siguiente:

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

Para verificar que instalaste la preparación correctamente, sigue estos pasos:

brew --version

Deberías ver lo siguiente:

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

Herramientas de C++

Para instalar herramientas de C++, abre una ventana de terminal y escribe lo siguiente:

brew install cmake wget pkg-config

Herramienta SWIG

Para instalar la herramienta SWIG, abre una ventana de terminal e ingresa:

brew install swig

JDK de Java

Debes instalar Java JDK 8.0 o una versión posterior.

Una vez que hayas instalado Homebrew, podrás instalar openjdk abriendo terminal e ingresa lo siguiente:

brew install openjdk
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

Luego, debes exportar la variable JAVA_HOME:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk.jdk

Maven

Debes instalar Maven.

Una vez que hayas instalado Homebrew, podrás instalar maven abriendo un terminal e ingresa lo siguiente:

brew install maven

Puedes probar que Maven esté instalado correctamente y encontrar Java con el siguiente comando: :

mvn -v

Descargue el código fuente

Existen dos ramas distintas del código fuente OR-Tools en GitHub: stable y main

La rama stable se probó minuciosamente y debería funcionar sin problemas en todos los plataformas compatibles.
En la rama main, se encuentran las últimas actualizaciones y de los cambios que se implementaron; sea más actual, pero menos estable.

Descarga el código fuente estable

Puedes obtener el código fuente estable para OR-Tools de cualquiera de las siguientes maneras:

  • Para clonar la rama stable, ingresa lo siguiente:

    git clone https://github.com/google/or-tools
    
  • Descarga la versión más reciente en un archivo comprimido. Para ello, haz clic en el Botón Clone or download en GitHub. imagen del botón de clonación o descarga

Descarga el código fuente principal

Para recuperar el código fuente de la rama main, ingresa lo siguiente:

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

Descarga versiones anteriores

Puedes obtener el código fuente de versiones anteriores de cualquiera de las siguientes maneras:

  • Descarga una versión anterior desde la página de versiones de GitHub.
  • Si ya creaste un repositorio local (antes del git clone), puedes consultar una versión específica etiqueta. Por ejemplo, para trabajar con la versión 9.10 en lugar de la versión main, ingresa los siguientes comandos en tu repositorio local:

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

Configura la compilación

Antes de compilar las herramientas OR, tendrás que configurar el sistema de compilación de CMake generador.

Abre una terminal y navega al directorio en el que extrajiste los archivos. Luego, ingresa lo siguiente:

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

Consulta el Documentación de CMake para conocer los detalles.

Usando SCIP

A partir de la versión 7.8, SCIP está integrado, por lo que no tendrás que instalarlo de forma manual.

Cómo usar Gurobi

Gurobi ahora está preintegrado. Cuando sea necesario, durante el tiempo de ejecución, OR-Tools buscará la biblioteca compartida de Gurobi en la ruta de acceso de instalación predeterminada de los instaladores de Gurobi en MAC OS X y Windows, o mediante la variable de entorno GUROBI_HOME.

Cómo usar un solucionador de MIP externo opcional

También puedes usar las herramientas OR con cualquiera de los siguientes MIP externos opcionales solucionadores cuyo soporte está inhabilitado de forma predeterminada:

Consulta esta documentación para conocer los detalles.

Compila el código fuente

Para compilar el código fuente, abre una terminal y navega hasta el directorio extrajiste los archivos. Luego, ingresa el siguiente comando para compilar OR-Tools:

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

Consulta el Documentación de CMake para conocer los detalles.

Prueba el código fuente

Para verificar que todo se ejecute correctamente, ingresa lo siguiente:

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

Esto ejecuta ejemplos para las herramientas OR. Si todos los ejemplos se ejecutan con éxito, estás listo para comienza a usar las herramientas OR.

Cómo limpiar los archivos de compilación

Si necesitas volver a instalar OR-Tools, haz lo siguiente:

rm -r build

quitará todas las dependencias compiladas. Esto puede ser útil para restablecer a un estado limpio.

Luego, vuelve a ingresar los comandos:

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

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

Cómo instalar las herramientas OR en tu sistema operativo

Puedes instalar OR-Tools para Java en tu sistema operativo ingresando:

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