Compiler errors 发生编译错误(找不到GnuTLS,但已安装)

Compiler errors 发生编译错误(找不到GnuTLS,但已安装),compiler-errors,mariadb,Compiler Errors,Mariadb,然后是错误: CMake错误位于/usr/share/CMake/Modules/findpackagehandlestandardardargs。CMake:108(消息): 找不到GnuTLS(缺少:GnuTLS\u库GnuTLS\u INCLUDE\u DIR) (至少需要版本“3.3.24”) 调用堆栈(最新调用优先): /usr/share/cmake/Modules/findpackagehandlestandardardArgs.cmake:315(_FPHSA_FAILURE_M

然后是错误:

CMake错误位于/usr/share/CMake/Modules/findpackagehandlestandardardargs。CMake:108(消息): 找不到GnuTLS(缺少:GnuTLS\u库GnuTLS\u INCLUDE\u DIR) (至少需要版本“3.3.24”) 调用堆栈(最新调用优先): /usr/share/cmake/Modules/findpackagehandlestandardardArgs.cmake:315(_FPHSA_FAILURE_MESSAGE) /usr/share/cmake/Modules/FindGnuTLS.cmake:61(FIND_PACKAGE_HANDLE_STANDARD_ARGS) libmariadb/CMakeLists.txt:291(查找包)

下面是我的截图


遇到了相同的错误:

找不到GnuTLS(要求的版本至少为“3.3.24”)

我已经降级到v3.3.24,虽然有一个更新的,以避免如果确切的3.3.24是必需的,但错误再次发生

安装以下软件包解决了CentOS 7上的问题;在重新运行cmake之前,不要忘记删除CMakeCache.txt

    cmake . -DCMAKE_INSTALL_PREFIX=/root/mariadb -DDEFAULT_CHARSET=utf8 -
DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -
DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -
DWITH_FEDERATED_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mariadb

尝试使用以下命令安装
gnutls-dev

yum -y install libaio
yum -y install libaio-devel
yum -y install bison
yum -y install bison-devel
yum -y install zlib-devel
yum -y install openssl
yum -y install openssl-devel
yum -y install ncurses
yum -y install ncurses-devel
yum -y install libcurl-devel
yum -y install libarchive-devel
yum -y install boost
yum -y install boost-devel
yum -y install lsof
yum -y install wget
yum -y install gcc
yum -y install gcc-c++
yum -y install make
yum -y install cmake
yum -y install perl
yum -y install kernel-headers
yum -y install kernel-devel
yum -y install pcre-devel

我能够解决其中一些问题,但最终在centos 6上构建失败

sudo apt-get install gnutls-dev
但这在制造过程中导致了更多问题:

mkdir build-mariadb; cd build-mariadb
cmake .. -DBUILD_CONFIG=mysql_release -DWITH_SSL=system
为了解决这个问题,我在所有CMakeLists.txt的顶部添加了:

CMakeFiles/CMakeError.log:cc1plus: 
error: unrecognized command line option "-std=gnu++11"
我曾经这样做过:

SET(CMAKE_CXX_FLAGS "-std=gnu++0x")
我放弃了按计划建立外部原子库的尝试

错误是:

cd ..
find . -type f -name 'CMakeLists.txt' -exec sed -i '1iSET(CMAKE_CXX_FLAGS "-std=gnu++0x")' {} \+

谁来帮帮我谢谢你
undefined reference to `my_atomic_storeptr'