From a05db3fd5c75e1b7df7a65422c04650d7fc7f178 Mon Sep 17 00:00:00 2001 From: Marc Ferland Date: Tue, 26 Aug 2025 14:18:12 -0400 Subject: [PATCH] libvncserver: fix generated LibVNCServerTargets.cmake The currently generated LibVNCServerTargets.cmake will include the following 'set_target_properties': set_target_properties(LibVNCServer::vncclient PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" INTERFACE_LINK_LIBRARIES "systemd;/usr/lib/libz.so;/usr/lib/liblzo2.so;/usr/lib/libjpeg.so;/usr/lib/libgcrypt.so;/usr/lib/libgnutls.so" ) INTERFACE_LINK_LIBRARIES here points to absolute paths which hardcodes the library paths. From CMake doc [1]: Note that it is not advisable to populate the INTERFACE_LINK_LIBRARIES of a target with absolute paths to dependencies. That would hard-code into installed packages the library file paths for dependencies as found on the machine the package was made on. This breaks krfb build (kde desktop sharing server) since CMake cannot find these libraries. Removing the absolute paths solves the issue. Note: I also added a 'inherit pkgconfig' since libvncserver uses it to detect libsystemd presence. 1: https://cmake.org/cmake/help/latest/prop_tgt/INTERFACE_LINK_LIBRARIES.html Signed-off-by: Marc Ferland Signed-off-by: Khem Raj (cherry picked from commit 215694286716cf83bf9e52c5e61b4cbc861098fc) Signed-off-by: Anuj Mittal --- meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.14.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.14.bb b/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.14.bb index ce01593b8b..6f271ee0d3 100644 --- a/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.14.bb +++ b/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.14.bb @@ -42,7 +42,7 @@ PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib" PACKAGE_BEFORE_PN = "libvncclient" FILES:libvncclient = "${libdir}/libvncclient.*" -inherit cmake +inherit cmake pkgconfig SRC_URI = "git://github.com/LibVNC/libvncserver;branch=master;protocol=https" SRCREV = "10e9eb75f73e973725dc75c373de5d89807af028" @@ -52,5 +52,5 @@ S = "${WORKDIR}/git" EXTRA_OECMAKE = "-DMAKE_INSTALL_LIBDIR=${libdir}" do_install:append() { - sed -i -e 's|${STAGING_DIR_HOST}||g' ${D}${libdir}/cmake/LibVNCServer/LibVNCServerTargets.cmake + sed -i -e 's|${STAGING_DIR_HOST}${libdir}/||g' ${D}${libdir}/cmake/LibVNCServer/LibVNCServerTargets.cmake }