Bug 41571 - libexpat-devel: упакованы битые конфиги для cmake
Summary: libexpat-devel: упакованы битые конфиги для cmake
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: libexpat-devel (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Vladimir D. Seleznev
QA Contact: qa-sisyphus
URL: https://git.altlinux.org/beehive/logs...
Keywords:
Depends on:
Blocks:
 
Reported: 2021-12-14 16:59 MSK by Aleksei Nikiforov
Modified: 2021-12-15 10:29 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Aleksei Nikiforov 2021-12-14 16:59:57 MSK
В новой версии libexpat-devel упакованы конфиги для cmake, в которых указаны неправильные пути к библиотекам. Если точнее, из указанных там путей библиотеки явно перемещают в другую директорию:

https://git.altlinux.org/gears/e/expat.git?p=expat.git;a=blob;f=expat.spec;h=b4638d008f87d880baf39441d9615426af21d5dd;hb=3e57012cc4da61a22a64bb711b50882569df9409#l66

# Relocate shared library from /usr/lib to /lib.
mkdir -p %buildroot/%_lib
mv %buildroot%_libdir/libexpat.so.1* %buildroot/%_lib
rm %buildroot%_libdir/libexpat.so
ln -s ../../%_lib/libexpat.so.1 %buildroot%_libdir/libexpat.so

В связи с этим при использовании данных конфигов cmake сборка завершается с ошибкой. На примере libopencolorio2.0:

CMake Error at /usr/lib64/cmake/expat-2.4.1/expat.cmake:74 (message):
  The imported target "expat::expat" references the file

     "/usr/lib64/libexpat.so.1.8.1"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "/usr/lib64/cmake/expat-2.4.1/expat.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  /usr/lib64/cmake/expat-2.4.1/expat-config.cmake:35 (include)
  share/cmake/modules/Findexpat.cmake:33 (find_package)
  share/cmake/modules/FindExtPackages.cmake:29 (find_package)
  CMakeLists.txt:241 (include)


Воспроизведение:
1. пересобрать libopencolorio2.0 в hasher для Сизифа.

Результат:
Указанная выше ошибка: cmake не может найти указанные в конфиге файлы библиотеки expat.

Ожидаемый результат:
Указанная выше ошибка отсутствует. Возможны другие ошибки, не связанные с expat.
Comment 2 Aleksei Nikiforov 2021-12-15 10:29:16 MSK
Спасибо!