On 11/06/18 01:07 AM, Rich Reynolds wrote:
On 11/5/18 2:38 PM, Bob Friesenhahn wrote:
On Mon, 5 Nov 2018, Rich Reynolds wrote:
[ 32%] Building CXX object
sql/CMakeFiles/binlog.dir/binlog_crypt_data.cc.o
/codebase/oi-userland/components/database/percona-server-57/percona-server-5.7.22-22/sql/binlog_crypt_data.cc:
In member function 'void Binlog_crypt_data::free_key(uchar*&,
std::size_t&)':
/codebase/oi-userland/components/database/percona-server-57/percona-server-5.7.22-22/sql/binlog_crypt_data.cc:62:37:
error: 'memset_s' was not declared in this scope
memset_s(key, 512, 0, key_length);
^
make[3]: *** [sql/CMakeFiles/binlog.dir/build.make:336:
sql/CMakeFiles/binlog.dir/binlog_crypt_data.cc.o] Error 1
this a patching, upstream or makefile issue? ill investigate if no
one knows off the top of head
This appears to be a C'11 function. See
https://en.cppreference.com/w/c/string/byte/memset. Depending on C'11
at this time is very optimistic.
What version of GCC are you using?
Bob
cmake was fine with 6.4.0
-- Running cmake version 3.11.3
-- Found Git: /usr/bin/git (found version "2.19.1")
-- Configuring with MAX_INDEXES = 64U
-- The C compiler identification is GNU 6.4.0
-- The CXX compiler identification is GNU 6.4.0
-- Check for working C compiler: /usr/gcc/6/bin/gcc
-- Check for working C compiler: /usr/gcc/6/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/gcc/6/bin/g++
-- Check for working CXX compiler: /usr/gcc/6/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
and cuz more information is better than less:
-- CMAKE_BUILD_TYPE: RELEASE
-- COMPILE_DEFINITIONS:
_FILE_OFFSET_BITS=64;__EXTENSIONS__;_POSIX_PTHREAD_SEMANTICS;_REENTRANT;_PTHREADS;BOOST_GEOMETRY_SQRT_CHECK_FINITENESS;HAVE_CONFIG_H;HAVE_LIBEVENT1
-- CMAKE_C_FLAGS: -m32 -O3 -Wall -Wextra -Wformat-security -Wvla
-Wwrite-strings -Wdeclaration-after-statement
-- CMAKE_CXX_FLAGS: -m32 -O3 -Wall -Wextra -Wformat-security -Wvla
-Woverloaded-virtual -Wno-unused-parameter
-- CMAKE_C_LINK_FLAGS: -m32
-- CMAKE_CXX_LINK_FLAGS: -m32
-- CMAKE_C_FLAGS_RELEASE: -O3 -DNDEBUG -DDBUG_OFF -DNDEBUG
-- CMAKE_CXX_FLAGS_RELEASE: -O3 -DNDEBUG -DDBUG_OFF -DNDEBUG
-- Configuring done
rich
Three months ago illumos added support for memset_s(3C)
(https://www.illumos.org/issues/8548) before that it likely wasn't detected.
memset_s(3C) seems to require
#define __STDC_WANT_LIB_EXT1__ 1
#include <string.h>
I don't know how to do that properly in cmake/C++.
If anyone does know, I'll fix it in userland when updating Percona
Server to 5.7.23-23.
This works for cmake to use GCC 7.3:
GCC_VERSION = 7
Michal
_______________________________________________
oi-dev mailing list
[email protected]
https://openindiana.org/mailman/listinfo/oi-dev