diff options
| author | Yi Zhao <yi.zhao@windriver.com> | 2020-10-28 13:26:04 +0800 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2020-11-02 09:00:51 -0800 |
| commit | c697727db79465b4df11dabf701e56277469b9bd (patch) | |
| tree | 83859d6950588de230d9e9c60db90e6a11e1282b /meta-oe/recipes-extended/minifi-cpp/files | |
| parent | 260809cffdaad4fcd42b0977090f2c467a5474ef (diff) | |
| download | meta-openembedded-c697727db79465b4df11dabf701e56277469b9bd.tar.gz | |
minifi-cpp: specify GCC_AR and GCC_RANLIB
We encountered a minifi-cpp build error on a self-hosted image:
[snip]
/build/tmp-glibc/work/corei7-64-wrs-linux/minifi-cpp/0.7.0-r0/recipe-sysroot-native/usr/bin/x86_64-wrs-linux/x86_64-wrs-linux-ranlib:
thirdparty/civetweb-1.10/src/libcivetweb-cpp.a(CivetServer.cpp.o): plugin needed to handle lto object
/build/tmp-glibc/work/corei7-64-wrs-linux/minifi-cpp/0.7.0-r0/recipe-sysroot-native/usr/bin/x86_64-wrs-linux/x86_64-wrs-linux-ranlib:
thirdparty/civetweb-1.10/src/libcivetweb.a(civetweb.c.o): plugin needed to handle lto object
[snip]
/build/tmp-glibc/work/corei7-64-wrs-linux/minifi-cpp/0.7.0-r0/recipe-sysroot-native/usr/bin/x86_64-wrs-linux/../../libexec/x86_64-wrs-linux/gcc/x86_64-wrs-linux/10.2.0/ld: DWARF error: could not find variable specification at offset c960f
/build/tmp-glibc/work/corei7-64-wrs-linux/minifi-cpp/0.7.0-r0/recipe-sysroot-native/usr/bin/x86_64-wrs-linux/../../libexec/x86_64-wrs-linux/gcc/x86_64-wrs-linux/10.2.0/ld: DWARF error: could not find variable specification at offset c961d
[snip]
extensions/civetweb/libminifi-civet-extensions.a(ListenHTTP.cpp.o):
in function `org::apache::nifi::minifi::processors::ListenHTTP::WriteCallback::process(std::shared_ptr<org::apache::nifi::minifi::io::BaseStream>)':
/usr/src/debug/minifi-cpp/0.7.0-r0/git/extensions/civetweb/processors/ListenHTTP.cpp:464: undefined reference to `mg_read'
[snip]
When using GCC's link-time optimization with static linked libraries, we
should use gcc-ar and gcc-ranlib to create the static libraries. By
default, it will search gcc-ar and gcc-ranlib in the system. But if the
gcc-ranlib is not found, it will use ranlib instead which causes this
issue.
Specify GCC_AR and GCC_RANLIB in EXTRA_OECMAKE to make sure it can find
the correct gcc-ar/gcc-ranlib.
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-extended/minifi-cpp/files')
| -rw-r--r-- | meta-oe/recipes-extended/minifi-cpp/files/0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch b/meta-oe/recipes-extended/minifi-cpp/files/0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch new file mode 100644 index 0000000000..bc480d9699 --- /dev/null +++ b/meta-oe/recipes-extended/minifi-cpp/files/0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | From 0eee3fb85dad084b6b42f7b219d8aa3a62620a27 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Yi Zhao <yi.zhao@windriver.com> | ||
| 3 | Date: Wed, 28 Oct 2020 09:52:40 +0800 | ||
| 4 | Subject: [PATCH] civetweb/CMakeLists.txt: do not search gcc-ar and gcc-ranlib | ||
| 5 | |||
| 6 | Do not search gcc-ar and gcc-ranlib. Specify GCC_AR and GCC_RANLIB in | ||
| 7 | EXTRA_OECMAKE to avoid host contamination. | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [embedded specific] | ||
| 10 | |||
| 11 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | ||
| 12 | --- | ||
| 13 | thirdparty/civetweb-1.10/CMakeLists.txt | 2 -- | ||
| 14 | 1 file changed, 2 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/thirdparty/civetweb-1.10/CMakeLists.txt b/thirdparty/civetweb-1.10/CMakeLists.txt | ||
| 17 | index f559a04e..0689e3f6 100644 | ||
| 18 | --- a/thirdparty/civetweb-1.10/CMakeLists.txt | ||
| 19 | +++ b/thirdparty/civetweb-1.10/CMakeLists.txt | ||
| 20 | @@ -246,11 +246,9 @@ set_property(CACHE CIVETWEB_CXX_STANDARD PROPERTY STRINGS auto c++14 c++11 c++98 | ||
| 21 | |||
| 22 | # Configure the linker | ||
| 23 | if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") | ||
| 24 | - find_program(GCC_AR gcc-ar) | ||
| 25 | if (GCC_AR) | ||
| 26 | set(CMAKE_AR ${GCC_AR}) | ||
| 27 | endif() | ||
| 28 | - find_program(GCC_RANLIB gcc-ranlib) | ||
| 29 | if (GCC_RANLIB) | ||
| 30 | set(CMAKE_RANLIB ${GCC_RANLIB}) | ||
| 31 | endif() | ||
| 32 | -- | ||
| 33 | 2.17.1 | ||
| 34 | |||
