diff options
author | niko.mauno@vaisala.com <niko.mauno@vaisala.com> | 2020-04-22 16:35:28 +0000 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2020-04-22 12:14:44 -0700 |
commit | a7d022fe542fd77bb90bd9db2d7548c26abfc2ea (patch) | |
tree | 2ec4e1db702f3c680a8913715716e0b92cc5e715 /meta-oe/recipes-connectivity/zeromq | |
parent | e8214f11130c35b20a6a01265b0f4a9f1a5fb897 (diff) | |
download | meta-openembedded-contrib-a7d022fe542fd77bb90bd9db2d7548c26abfc2ea.tar.gz |
zeromq: Fix host-specific path issue with libsodium
Avoid propagation of full build host specific path into
WORKDIR/sysroot-destdir/usr/share/cmake/ZeroMQ/ZeroMQTargets.cmake
when building the recipe as this causes following-like breakage on
sstate cache consumer hosts (with different build host specific path,
than the host that populated sstate cache)
ninja: error: '/build/host/specific/path/to/zeromq/4.3.2-r0/recipe-sysroot/usr/lib/libsodium.so', needed by 'src/FooBar', missing and no known rule to make it
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-connectivity/zeromq')
-rw-r--r-- | meta-oe/recipes-connectivity/zeromq/files/0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch | 39 | ||||
-rw-r--r-- | meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb | 1 |
2 files changed, 40 insertions, 0 deletions
diff --git a/meta-oe/recipes-connectivity/zeromq/files/0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch b/meta-oe/recipes-connectivity/zeromq/files/0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch new file mode 100644 index 0000000000..eb3dee4d31 --- /dev/null +++ b/meta-oe/recipes-connectivity/zeromq/files/0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch @@ -0,0 +1,39 @@ +From: Niko Mauno <niko.mauno@vaisala.com> +Date: Wed Apr 22 09:00:00 2020 +0300 +Subject: CMakeLists.txt: Avoid host-specific path to libsodium + +Avoid propagating full build host specific path to generated +ZeroMQTargets.cmake when building with libsodium, which changes the +content in generated ZeroMQTargets.cmake files followingly: + + -INTERFACE_LINK_LIBRARIES "-lpthread;/build/host/specific/path/to/zeromq/4.3.2-r0/recipe-sysroot/usr/lib/libsodium.so;-lrt" + +INTERFACE_LINK_LIBRARIES "-lpthread;-lsodium;-lrt" + +This change mitigates an issue stemming from reuse of build artifacts +where the path to libsodium.so does not match exactly between two +different build hosts. + +Upstream-Status: Pending + +Signed-off-by: Niko Mauno <niko.mauno@vaisala.com> + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1210,7 +1210,7 @@ + target_link_libraries(libzmq ${OPTIONAL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) + + if(SODIUM_FOUND) +- target_link_libraries(libzmq ${SODIUM_LIBRARIES}) ++ target_link_libraries(libzmq -lsodium) + # On Solaris, libsodium depends on libssp + if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS") + target_link_libraries(libzmq ssp) +@@ -1240,7 +1240,7 @@ + target_link_libraries(libzmq-static ${OPTIONAL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) + + if(SODIUM_FOUND) +- target_link_libraries(libzmq-static ${SODIUM_LIBRARIES}) ++ target_link_libraries(libzmq-static -lsodium) + # On Solaris, libsodium depends on libssp + if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS") + target_link_libraries(libzmq-static ssp) diff --git a/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb b/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb index 49215f2cbc..02a4c04fd7 100644 --- a/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb +++ b/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb @@ -7,6 +7,7 @@ PACKAGECONFIG ??= "libsodium" PACKAGECONFIG[libsodium] = "-DWITH_LIBSODIUM=ON,-DWITH_LIBSODIUM=OFF, libsodium" SRC_URI = "http://github.com/zeromq/libzmq/releases/download/v${PV}/zeromq-${PV}.tar.gz \ + file://0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch \ file://run-ptest \ " SRC_URI[md5sum] = "2047e917c2cc93505e2579bcba67a573" |