Я пытаюсь скомпилировать GDAL 3.2 на CentOS 8 (из-за проекта Java, требующего привязок GDAL, которые должны предоставляться gdal32-java), однако rpmbuild завершается с ошибкой в самом начале, еще до того, как я вношу какие-либо изменения:
$ rpmbuild --rebuild ../gdal32-3.2.3-1.rhel8.src.rpm
Installing ../gdal32-3.2.3-1.rhel8.src.rpm
error: line 23: Unknown tag: %pgdg_set_gis_variables
Обратите внимание, что исходный RPM взят из репозитория pgdg-source-common, предоставленного postgres по адресу https://download.postgresql.org/pub/repos/yum/srpms/common/redhat/rhel-8-x86_64
. Все зависимости, требуемые файлом спецификации, установлены.
Тег %pgdg_set_gis_variables
в gdal32.spec появляется только один раз (в строке, где сообщается об ошибке) и, по-видимому, инициализирует некоторые глобальные переменные, используемые для извлечения других файлов/разрешения зависимостей.
Распаковав файл в SOURCES
этот тег и закомментировав его, а также вручную задав ожидаемые значения, которые я вижу неиспользуемыми, я мог бы получить rpmbuild -ba SOURCES/gdal32.spec
, однако при настройке происходит сбой, предположительно из-за отсутствия значений, которые должны были быть установлены %pgdg_set_gis_variables
(+ В этом случае я получаю ошибку, которая показывает, что происходит попытка расширить тег, несмотря на то, что он закомментирован).
Знаете ли вы, где я могу найти пример, который предоставляет этот тег/Как я могу создать этот RPM?
решение1
Вам необходимо установить пакет pgdg-srpm-macros
из репозитория PGDG, чтобы предоставить свои пользовательские макросы RPM.