Build source code in linux

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

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Введение

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

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

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

  • 64-разрядная версия Alpine Edge (x86_64)
  • Centos Stream 8 64-бит (x86_64)
  • 64-разрядная версия Centos 7 (x86_64)
  • Debian 11 (яблочко), 64-разрядная версия (x86_64)
  • Debian 10 (бастер) 64-бит (x86_64)
  • Fedora 36, ​​64-разрядная версия (x86_64)
  • 64-разрядная версия Fedora 35 (x86_64)
  • Fedora 34, 64-разрядная версия (x86_64)
  • Fedora 33, 64-разрядная версия (x86_64)
  • OpenSuse Leap 64-бит (x86_64)
  • Ubuntu 22.10 64-бит (x86_64)
  • Ubuntu 22.04 LTS, 64-разрядная версия (x86_64)
  • Ubuntu 20.04 LTS, 64-разрядная версия (x86_64)
  • Ubuntu 18.04 LTS, 64-разрядная версия (x86_64)

Предпосылки

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

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

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

Альпийский

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

Сентос

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

Сентос

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 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 

Федора

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 

Убунту

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

Скачать исходный код

На GitHub есть две отдельные ветки исходного кода OR-Tools: stable и main .

Читайте также:  Red hat linux downloads

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.6 вместо main ветки, введите в локальном репозитории следующие команды:
    git fetch --all --tags --prune git checkout tags/v9.6 -v v9.6 

    Настроить сборку

    Перед созданием OR-Tools вам необходимо настроить генератор системы сборки CMake.

    Откройте терминал и перейдите в каталог, в который вы распаковали файлы. Затем введите:

    cmake -S . -B build -DBUILD_DEPS=ON 

    Совет. Полный список доступных параметров OR-Tools CMake см. здесь.

    Ознакомьтесь с документацией CMake для получения подробной информации.

    Использование СКИП

    Начиная с версии 7.8, SCIP теперь интегрирован, поэтому вам не нужно устанавливать его вручную.

    Примечание. Вы можете отключить поддержку решателя SCIP, используя -DUSE_SCIP=OFF Предупреждение. Хотя OR-Tools поставляется с SCIP, ознакомьтесь с лицензией SCIP , чтобы убедиться, что вы соблюдаете ее.

    Использование Гуроби

    Gurobi теперь предварительно интегрирован. При необходимости во время выполнения OR-Tools будет искать разделяемую библиотеку Gurobi в пути установки по умолчанию установщиков Gurobi в MAC OS X и Windows или с помощью переменной среды GUROBI_HOME .

    Примечание. Вы можете отключить поддержку решателя Gurobi, используя -DUSE_GUROBI=OFF

    Использование дополнительного стороннего решателя 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, команда:

    удалит все скомпилированные зависимости. Это может быть полезно для сброса в чистое состояние.

    Затем повторно введите команды:

    cmake -S . -B build -DBUILD_DEPS=ON 
    cmake --build build --config Release --target all -j -v 

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

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

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

    Совет. Чтобы изменить расположение установки по умолчанию, обратитесь к документации CMAKE_INSTALL_PREFIX .

    Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons «С указанием авторства 4.0», а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.

    Последнее обновление: 2023-05-23 UTC.

    Источник

    Basics Of Compiling Software From Source Code In Linux

    From time to time, you may want or need to compile a software/program from the source code. This involves compiling C or C++ code into something we can execute in Linux. Depending on the software you wish to compile, it’s often unnecessary to do so. This is because your distribution will likely have the binary form of the program already in the software repositories.

    In fact, you should choose the binary packages over compiling from the source. One reason is that it could potentially introduce problems for your system. However, if ever the time should come where you need compile from source, this guide will give you some basic pointers.

    A Typical Example

    Let’s take a program written in either C or C++. Downloading the source code often involves either downloading and unpacking a package (often a tarball), or cloning a git repository. The typical method of operation is the execution of these three commands: $

    ./configure $ make $ sudo make install

    The first command runs the configure script that analyses the libraries installed on your system. If a required library isn’t installed, it will report it and you will need to install it. Not only will you need the library installed, but also the development files must be present as well. Source code files use the functionality found in these libraries.

    After the configure command is executed, you should have a Makefile present. By running ‘make’, it will read the Makefile in the current directory and start running the compiler (gcc for C, or g++ for C++) to compile the software.

    ​The third command isn’t strictly essential but is recommended for system-wide access, that is running the executable from anywhere in the terminal. This command tells ‘make’ to run instructions for installing the program to the system.

    The INSTALL Or README Files

    There may be extra instructions that must be completed before compiling can begin. Reading this file (usually INSTALL) should also reveal what development libraries may need to be installed first. Such packages will contain the suffix “-dev” to indicate that these are the development headers and must be installed. The configure script may also require extra parameters as well. README will contain any other information.

    You may even find that none of the three commands are run during the whole process. Even variations of make such as qmake (for Qt projects) or cmake could be used instead.

    Install A GitHub Program

    Let’s begin by installing a text editor called wxMEdit, found on GitHub. Here I demonstrate how to install a program by compiling from source. This is an almost typical example of the scope of this guide. If you visit the GitHub repository, you will see that the readme file has details about the application. There aren’t any compiling instructions so the standard sequence applies, with one difference: autogen.sh.

    ​First, we change to where we wish to store the repository in the terminal and clone it:

    $ cd wherever $ git clone git://github.com/wxMEdit/wxMEdit.git

    Autogen.sh

    If you find this file in the source code, you should run this first before “./configure” as this will perform tasks that will allow you to compile the software successfully. If that is successful, then you can run “./configure”, “make”, and then “sudo make install”, and whatever else you need to run (in this case, nothing else).

    source code configure

    compile from source code

    sudo make install

    Troubleshooting

    If you do so regularly, you are bound to encounter certain issues when compiling from source.

    Missing Libraries

    Remember, it’s not enough for the binary libraries to be installed; the source files or development headers must also be installed as well. The configure script, along with the documentation, will usually alert you of any libraries (development headers) you need to install for a successful compilation. Ensure these are installed on your system.

    make command in linux

    They’re Installed And Other Errors Occur

    Conclusion

    Compiling software can either be quite simple, or quite painful. Fortunately, many Linux distributions provide binary packages ready to install so compiling from source isn’t usually necessary. It is better to stick with the binary packages provided by the software repos provided by your distribution if they’re available.

    Источник

    Оцените статью
    Adblock
    detector