[devel] icewm-3:2.5.0-alt1: Sisyphus/x86_64 test rebuild failed
Vitaly Lipatov
lav на altlinux.ru
Вс Июл 11 13:25:10 MSK 2021
Dmitriy Khanzhin писал 10.7.21 19:55:
> 10.07.2021 10:20, ALT beekeeper пишет:
>> Package: icewm-3:2.5.0-alt1
>> Status: Sisyphus/x86_64 test rebuild failed
>> URL:
>> http://git.altlinux.org/beehive/logs/Sisyphus/x86_64/archive/2021/0710/error/icewm-3:2.5.0-alt1
>> Cannot build this package.
>> Please investigate.
>> Excerpt from build log:
>>
...
> Здравствуйте, коллеги.
> Перестал собираться icewm, я подозреваю, после обновления cmake.
> Что изменилось в сборочной среде, о чем не предупредили?
> И с чего начинать починку?
В проекте используется некорректный способ добавления путей к
заголовочным файлам — их вручную запихивают во флаги, в частности:
INCLUDE(FindIntl)
if(Intl_FOUND)
LIST(APPEND nls_LIBS ${Intl_LIBRARIES})
LIST(APPEND nls_CFLAGS -I${Intl_INCLUDE_DIRS})
endif()
...
target_compile_options(ice PUBLIC ${icewm_pc_flags})
Это взрывается, если Intl_INCLUDE_DIRS пустая или имеет несколько
значений.
Правильным является использование специального механизма для добавления
путей:
target_include_directories(${target_name} PRIVATE
${LIBYUV_INCLUDE_DIRS})
В нашем случае путь оказался пустой, и -I «съела» -o:
-I/usr/include/fribidi -I -o CMakeFiles/ice.dir/udir.cc.o
В качестве быстрого исправления можно заменить
if(Intl_FOUND)
на
if(Intl_FOUND AND NOT Intl_IS_BUILT_IN)
--
С уважением,
Виталий Липатов,
ALT Linux Team
Подробная информация о списке рассылки Devel