summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorniko.mauno@vaisala.com <niko.mauno@vaisala.com>2020-04-22 16:35:28 +0000
committerKhem Raj <raj.khem@gmail.com>2020-04-22 12:14:44 -0700
commita7d022fe542fd77bb90bd9db2d7548c26abfc2ea (patch)
tree2ec4e1db702f3c680a8913715716e0b92cc5e715
parente8214f11130c35b20a6a01265b0f4a9f1a5fb897 (diff)
downloadmeta-openembedded-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>
-rw-r--r--meta-oe/recipes-connectivity/zeromq/files/0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch39
-rw-r--r--meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb1
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 000000000..eb3dee4d3
--- /dev/null
+++ b/meta-oe/recipes-connectivity/zeromq/files/0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch
@@ -0,0 +1,39 @@
1From: Niko Mauno <niko.mauno@vaisala.com>
2Date: Wed Apr 22 09:00:00 2020 +0300
3Subject: CMakeLists.txt: Avoid host-specific path to libsodium
4
5Avoid propagating full build host specific path to generated
6ZeroMQTargets.cmake when building with libsodium, which changes the
7content in generated ZeroMQTargets.cmake files followingly:
8
9 -INTERFACE_LINK_LIBRARIES "-lpthread;/build/host/specific/path/to/zeromq/4.3.2-r0/recipe-sysroot/usr/lib/libsodium.so;-lrt"
10 +INTERFACE_LINK_LIBRARIES "-lpthread;-lsodium;-lrt"
11
12This change mitigates an issue stemming from reuse of build artifacts
13where the path to libsodium.so does not match exactly between two
14different build hosts.
15
16Upstream-Status: Pending
17
18Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
19
20--- a/CMakeLists.txt
21+++ b/CMakeLists.txt
22@@ -1210,7 +1210,7 @@
23 target_link_libraries(libzmq ${OPTIONAL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
24
25 if(SODIUM_FOUND)
26- target_link_libraries(libzmq ${SODIUM_LIBRARIES})
27+ target_link_libraries(libzmq -lsodium)
28 # On Solaris, libsodium depends on libssp
29 if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
30 target_link_libraries(libzmq ssp)
31@@ -1240,7 +1240,7 @@
32 target_link_libraries(libzmq-static ${OPTIONAL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
33
34 if(SODIUM_FOUND)
35- target_link_libraries(libzmq-static ${SODIUM_LIBRARIES})
36+ target_link_libraries(libzmq-static -lsodium)
37 # On Solaris, libsodium depends on libssp
38 if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
39 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 49215f2cb..02a4c04fd 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"
7PACKAGECONFIG[libsodium] = "-DWITH_LIBSODIUM=ON,-DWITH_LIBSODIUM=OFF, libsodium" 7PACKAGECONFIG[libsodium] = "-DWITH_LIBSODIUM=ON,-DWITH_LIBSODIUM=OFF, libsodium"
8 8
9SRC_URI = "http://github.com/zeromq/libzmq/releases/download/v${PV}/zeromq-${PV}.tar.gz \ 9SRC_URI = "http://github.com/zeromq/libzmq/releases/download/v${PV}/zeromq-${PV}.tar.gz \
10 file://0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch \
10 file://run-ptest \ 11 file://run-ptest \
11" 12"
12SRC_URI[md5sum] = "2047e917c2cc93505e2579bcba67a573" 13SRC_URI[md5sum] = "2047e917c2cc93505e2579bcba67a573"