engine
engine copied to clipboard
centos 7 / openssl_1_1_1 issue
есть вот такая антикварная бага. у меня нет уверенности, чинить это или забить.
на centos 7 из коробки идет gcc-4.8.5
ошибка сборки выглядит так:
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.27.1")
CMake Error at CMakeLists.txt:98 (message):
Unable to discover the OpenSSL engines directory. Provide the path using
-DOPENSSL_ENGINES_DIR
-- Configuring incomplete, errors occurred!
See also "/root/rpmbuild/BUILD/openssl-gost-engine-1.1.1/CMakeFiles/CMakeOutput.log".
See also "/root/rpmbuild/BUILD/openssl-gost-engine-1.1.1/CMakeFiles/CMakeError.log".
error: Bad exit status from /var/tmp/rpm-tmp.oU7muC (%build)
при этом в логе:
Run Build Command(s):/usr/bin/gmake cmTC_2dd68/fast && /usr/bin/gmake -f CMakeFiles/cmTC_2dd68.dir/build.make CMakeFiles/cmTC_2dd68.dir/build
gmake[1]: Entering directory `/root/rpmbuild/BUILD/openssl-gost-engine-1.1.1/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_2dd68.dir/src.c.o
/usr/bin/cc -DADDCARRY_U64 -o CMakeFiles/cmTC_2dd68.dir/src.c.o -c /root/rpmbuild/BUILD/openssl-gost-engine-1.1.1/CMakeFiles/CMakeTmp/src.c
Linking C executable cmTC_2dd68
/usr/bin/cmake3 -E cmake_link_script CMakeFiles/cmTC_2dd68.dir/link.txt --verbose=1
/usr/bin/cc -DADDCARRY_U64 -rdynamic CMakeFiles/cmTC_2dd68.dir/src.c.o -o cmTC_2dd68
CMakeFiles/cmTC_2dd68.dir/src.c.o: In function `main':
src.c:(.text+0x32): undefined reference to `_addcarry_u64'
collect2: error: ld returned 1 exit status
gmake[1]: *** [cmTC_2dd68] Error 1
gmake[1]: Leaving directory `/root/rpmbuild/BUILD/openssl-gost-engine-1.1.1/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_2dd68/fast] Error 2
...and run output:
Return value: 1
Source file was:
#ifdef _MSC_VER
# include <intrin.h>
#else
# include <x86intrin.h>
#endif
int main(void) {
unsigned long long x = -1, y = 1, r;
unsigned char cf;
cf = _addcarry_u64(1, x, y, &r);
return !(cf == 1 && r == 1);
}
вероятно, gcc-4.8.5 скоро канет в лету. не факт, что стоит обвешиваться проверками на эту тему
Укажите -DOPENSSL_ENGINES_DIR как и написано:
CMake Error at CMakeLists.txt:98 (message):
Unable to discover the OpenSSL engines directory. Provide the path using
-DOPENSSL_ENGINES_DIR
я переезжаю с ветки 1_1_0 на 1_1_1, ранее срабатывала автоматика, которая детектила OPENSSL_ENGINES_DIR, я не указывал ее.
вероятно, да. я поизучаю, что поменялось. поторопился открыть баг