2. Сборка Zabbix агента 2 на Windows

Обзор

В этом разделе иллюстрируется как собрать Zabbix агент 2 (Windows) из исходного кода.

Установка компилятора MinGW

  1. Загрузите MinGW-w64 с Обработкой Исключений SJLJ (set jump/long jump) и потоками Windows (например, x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0.7z)

  2. Извлеките архив и поместите содержимое в c:\mingw

  3. Задайте переменную среды

    @echo off set PATH=%PATH%;c: cmd

При компиляции используйте командную строку Windows вместо терминала MSYS, который поставляется с MinGW

Компиляция библиотек разработки PCRE

Следующие инструкции помогут скомпилировать и установить 64-битные библиотеки PCRE в c:\dev\pcre и 32-битные библиотеки в c:\dev\pcre32:

1. Загрузите библиотеку PCRE или PCRE2 (поддерживается, начиная с Zabbix 6.0) (https://pcre.org/) и извлеките содержимое
2. Откройте cmd и перейдите к извлечённому исходному коду

Сборка 64-битной PCRE

1. Удалите старую конфигурацию / кэш, если имеется:

del CMakeCache.txt
       rmdir /q /s CMakeFiles

2. Запустите cmake (CMake можно установить с https://cmake.org/download/):

cmake -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_C_FLAGS="-O2 -g" -DCMAKE_CXX_FLAGS="-O2 -g" -DCMAKE_INSTALL_PREFIX=c:\dev\pcre

3. Затем выполните:

mingw32-make clean
       mingw32-make install
Сборка 32-битной PCRE

1. Запустите:

mingw32-make clean

2. Удалите CMakeCache.txt:

del CMakeCache.txt
       rmdir /q /s CMakeFiles

3. Запустите cmake:

cmake -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_C_FLAGS="-m32 -O2 -g" -DCMAKE_CXX_FLAGS="-m32 -O2 -g" -DCMAKE_EXE_LINKER_FLAGS="-Wl,-mi386pe" -DCMAKE_INSTALL_PREFIX=c:\dev\pcre32

4. Затем выполните:

mingw32-make install

Установка библиотек разработки OpenSSL

1. Загрузите 32- и 64-битные сборки с https://curl.se/windows/
2. Извлеките файлы в c:\dev\openssl32 и c:\dev\openssl директории соответственно.
3. После чего удалите извлечённые *.dll.a (библиотеки оболочки для вызова dll), так как MinGW ставит приоритет использования именно их перед использованием статических библиотек.

Сборка Zabbix агент 2

32-битный

Откройте MinGW среду (командную строку Windows) и перейдите к директории build/mingw в дереве исходного кода Zabbix.

Выполните:

mingw32-make clean
       mingw32-make ARCH=x86 PCRE=c:\dev\pcre32 OPENSSL=c:\dev\openssl32
64-битный

Откройте MinGW среду (командную строку Windows) и перейдите к директории build/mingw в дереве исходного кода Zabbix.

Выполните:

mingw32-make clean
       mingw32-make PCRE=c:\dev\pcre OPENSSL=c:\dev\openssl

На 64-битной платформе можно собрать 32-битные и 64-битные версии, но на 32-битной платформе можно собрать только 32-битную версию. При работе на 32-битной платформе следуйте тем же шагам, что и для 64-битной версии на 64-битной платформе.