安装nebula-graph v2.5.0报错Double-conversion doesn't exist

基于源码安装nebula-graph v2.5.0时候,在cmake阶段报如下错:

$ cmake -DENABLE_BUILD_STORAGE=on -DENABLE_TESTING=OFF -DENABLE_MODULE_UPDATE=ON -DCMAKE_BUILD_TYPE=Release ..

>>>> Options of Nebula Graph <<<<
-- ENABLE_ASAN                     : OFF (Build with AddressSanitizer)
-- ENABLE_BUILD_STORAGE            : on (Whether to build storage)
-- ENABLE_CCACHE                   : ON (Use ccache to speed up compiling)
-- ENABLE_CLANG_TIDY               : OFF (Enable clang-tidy if present)
-- ENABLE_COMPRESSED_DEBUG_INFO    : ON (Compress debug info to reduce binary size)
-- ENABLE_COVERAGE                 : OFF (Build with coverage report)
-- ENABLE_FRAME_POINTER            : OFF (Build with frame pointer)
-- ENABLE_FUZZY_TESTING            : OFF (Enable Fuzzy tests)
-- ENABLE_GDB_SCRIPT_SECTION       : OFF (Add .debug_gdb_scripts section)
-- ENABLE_JEMALLOC                 : ON (Use jemalloc as memory allocator)
-- ENABLE_MODULE_FORCE_CHECKOUT    : ON (Whether checkout branch of module to same as graph.)
-- ENABLE_MODULE_UPDATE            : OFF (Automatically update module)
-- ENABLE_PACK_ONE                 : ON (Whether to package into one)
-- ENABLE_PIC                      : OFF (Build with -fPIC)
-- ENABLE_STATIC_ASAN              : OFF (Statically link against libasan)
-- ENABLE_STATIC_UBSAN             : OFF (Statically link against libubsan)
-- ENABLE_STRICT_ALIASING          : OFF (Build with -fstrict-aliasing)
-- ENABLE_TESTING                  : OFF (Build unit tests)
-- ENABLE_TSAN                     : OFF (Build with ThreadSanitizer)
-- ENABLE_UBSAN                    : OFF (Build with UndefinedBehaviourSanitizer)
-- ENABLE_VERBOSE_BISON            : OFF (Enable Bison to report state)
-- ENABLE_WERROR                   : ON (Regard warnings as errors)
-- CMAKE_BUILD_TYPE                : Release (Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ...)
-- CMAKE_INSTALL_PREFIX            : /data/graphdb_new (Install path prefix, prepended onto install directories.)
-- CMAKE_CXX_STANDARD              : 17
-- CMAKE_CXX_COMPILER              : /usr/bin/c++ (CXX compiler)
-- CMAKE_CXX_COMPILER_ID           : GNU
-- NEBULA_USE_LINKER               : bfd
-- CCACHE                              : Enabled but not found
>>>> Configuring third party for 'Nebula Graph' <<<<
-- Downloading prebuilt third party automatically...
-- cxx_cmd: /usr/bin/c++ -D_GLIBCXX_USE_CXX11_ABI=1
c++: error: unrecognized command line option ‘-std=c++14’
Downloading vesoft-third-party-2.0-x86_64-libc-2.17-gcc--abi-.sh...
Downloading vesoft-third-party-2.0-x86_64-libc-2.17-gcc--abi-.sh failed
-- CMAKE_INCLUDE_PATH              : 
-- CMAKE_LIBRARY_PATH              : 
-- CMAKE_PROGRAM_PATH              : 
-- GLIBC_VERSION                   : 2.17

CMake Error at modules/common/cmake/FindDoubleConversion.cmake:28 (message):
  Double-conversion doesn't exist
Call Stack (most recent call first):
  modules/common/cmake/nebula/ThirdPartyConfig.cmake:82 (find_package)
  CMakeLists.txt:97 (include)


-- Configuring incomplete, errors occurred!
See also "/data/graphdb_new/nebula-graph/build/CMakeFiles/CMakeOutput.log".

如何解决呢?
我的GCC版本为4.8.5,cmake版本为3.15.1

= =。不要再乱用分类了,你提问之前看看模版写的啥子好不好。我给你把分类改成使用问题了。都是老用户了,做个好榜样。

我错了 :drooling_face:感谢大佬

似乎你的 gcc 不满足版本要求

image

我升级了好像也不行欸:

查看gcc版本:

# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-8/root/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-8/root/usr --mandir=/opt/rh/devtoolset-8/root/usr/share/man --infodir=/opt/rh/devtoolset-8/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --with-default-libstdcxx-abi=gcc4-compatible --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-8.3.1-20190311/obj-x86_64-redhat-linux/isl-install --disable-libmpx --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC) 

然后cmake编译,结果如下:

# cmake -prefix=/data/graphdb_new -DENABLE_BUILD_STORAGE=on -DENABLE_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -DNEBULA_COMMON_REPO_TAG=v2.5.0 -DNEBULA_STORAGE_REPO_TAG=v2.5.0 ..
-- Updating from https://github.com/vesoft-inc/nebula-common.git
Already up-to-date.
>>>> Options of Nebula Graph <<<<
-- ENABLE_ASAN                     : OFF (Build with AddressSanitizer)
-- ENABLE_BUILD_STORAGE            : on (Whether to build storage)
-- ENABLE_CCACHE                   : ON (Use ccache to speed up compiling)
-- ENABLE_CLANG_TIDY               : OFF (Enable clang-tidy if present)
-- ENABLE_COMPRESSED_DEBUG_INFO    : ON (Compress debug info to reduce binary size)
-- ENABLE_COVERAGE                 : OFF (Build with coverage report)
-- ENABLE_FRAME_POINTER            : OFF (Build with frame pointer)
-- ENABLE_FUZZY_TESTING            : OFF (Enable Fuzzy tests)
-- ENABLE_GDB_SCRIPT_SECTION       : OFF (Add .debug_gdb_scripts section)
-- ENABLE_JEMALLOC                 : ON (Use jemalloc as memory allocator)
-- ENABLE_MODULE_FORCE_CHECKOUT    : ON (Whether checkout branch of module to same as graph.)
-- ENABLE_MODULE_UPDATE            : ON (Automatically update module)
-- ENABLE_PACK_ONE                 : ON (Whether to package into one)
-- ENABLE_PIC                      : OFF (Build with -fPIC)
-- ENABLE_STATIC_ASAN              : OFF (Statically link against libasan)
-- ENABLE_STATIC_UBSAN             : OFF (Statically link against libubsan)
-- ENABLE_STRICT_ALIASING          : OFF (Build with -fstrict-aliasing)
-- ENABLE_TESTING                  : OFF (Build unit tests)
-- ENABLE_TSAN                     : OFF (Build with ThreadSanitizer)
-- ENABLE_UBSAN                    : OFF (Build with UndefinedBehaviourSanitizer)
-- ENABLE_VERBOSE_BISON            : OFF (Enable Bison to report state)
-- ENABLE_WERROR                   : ON (Regard warnings as errors)
-- CMAKE_BUILD_TYPE                : Release (Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ...)
-- CMAKE_INSTALL_PREFIX            : /data/graphdb_new (Install path prefix, prepended onto install directories.)
-- CMAKE_CXX_STANDARD              : 17
-- CMAKE_CXX_COMPILER              : /usr/bin/c++ (CXX compiler)
-- CMAKE_CXX_COMPILER_ID           : GNU
-- NEBULA_USE_LINKER               : bfd
-- CCACHE                              : Enabled but not found
>>>> Configuring third party for 'Nebula Graph' <<<<
-- Downloading prebuilt third party automatically...
-- cxx_cmd: /usr/bin/c++ -D_GLIBCXX_USE_CXX11_ABI=1
c++: error: unrecognized command line option ‘-std=c++14’
Downloading vesoft-third-party-2.0-x86_64-libc-2.17-gcc--abi-.sh...
Downloading vesoft-third-party-2.0-x86_64-libc-2.17-gcc--abi-.sh failed
-- CMAKE_INCLUDE_PATH              : 
-- CMAKE_LIBRARY_PATH              : 
-- CMAKE_PROGRAM_PATH              : 
-- GLIBC_VERSION                   : 2.17

CMake Error at modules/common/cmake/FindDoubleConversion.cmake:28 (message):
  Double-conversion doesn't exist
Call Stack (most recent call first):
  modules/common/cmake/nebula/ThirdPartyConfig.cmake:82 (find_package)
  CMakeLists.txt:97 (include)


-- Configuring incomplete, errors occurred!
See also "/data/graphdb_new/nebula-graph/build/CMakeFiles/CMakeOutput.log".

估计你common安装的不对,然后系统里的环境变量已经被写入了,所以后面再装还是会报third party缺东西的错误。
建议先仔细阅读一遍源码编译的文档,然后清除整个nebula目录,重启一次电脑。
重启后先重新拉取项目并确认下cmake和g++版本,确认无误后再做编译。

1 个赞

哦哦,这个源码编译文档指的是这个嘛?

是的

我刚检查了下,由我们提供的gcc编译器似乎没有8.3.1这个版本。
建议使用我们提供的gcc编译器,版本>7.5即可。

如果目前编译遇到了新的问题欢迎继续在这个帖子下回复,如果已编译成功也期待你的反馈。

1 个赞

嘿嘿嘿嘿,谢谢,我把nebula-graph文件夹清了,重新拉git下来就能编译了

1 个赞

恭喜编译成功 :grinning:

1 个赞

后面还是出问题了,我把gcc8和gcc9都删了,用了你们的gcc7.5(准备资源 - Nebula Graph Database 手册 2-c)成功了,不过希望有精力的话也能看看gcc8和gcc9为啥不能部署然后修复一下呗,毕竟不能保证每一个环境都能支持gcc7.5 :sob: :sob:

这个是个需求类内容,可以麻烦你去 GitHub 提一个 issue 吗?谢谢 Timaos~ GitHub 传送门:https://github.com/vesoft-inc/nebula/issues

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。