x86+银河麒麟操作系统编译2.0.1版本失败

提问参考模版:

  • nebula 版本:2.0.1
  • 部署方式( 单机 ):
  • 是否为线上版本:N
  • 硬件信息
    • 银河麒麟4.0.2sp2 操作系统
    • vmware虚拟机,内存1G
  • 问题的具体描述
    按照官网编译,编译步骤:
1、git clone -b v2.0.1 https://github.com/vesoft-inc/nebula-graph.git
2、cd nebula-graph
3、 mkdir build && cd build
4、cmake -DENABLE_BUILD_STORAGE=on -DENABLE_TESTING=OFF -DCMAKE_BUILD_TYPE=Release \
-DNEBULA_COMMON_REPO_TAG=v2.0.1 -DNEBULA_STORAGE_REPO_TAG=v2.0.1 ..
报错信息截取:
#################################################
-- Build info of nebula third party:
Package         : Nebula Third Party
Version         : 2.0
glibc           : 2.23
Arch            : x86_64
Compiler        : GCC 7.5.0
C++ ABI         : 11
Vendor          : VEsoft Inc.

-- CMAKE_INCLUDE_PATH              : /home/nebula-graph/third-party/install/include
-- CMAKE_LIBRARY_PATH              : /home/nebula-graph/third-party/install/lib64;/home/nebula-graph/third-party/install/lib
-- CMAKE_PROGRAM_PATH              : /home/nebula-graph/third-party/install/bin
>>>> Configuring third party for 'Nebula Common' <<<<
-- GLIBC_VERSION                   : 2.23

-- found krb5-config here /home/nebula-graph/third-party/install/bin/krb5-config
-- Found kerberos 5 headers: /home/nebula-graph/third-party/install/include
-- Found kerberos 5 libs:    /home/nebula-graph/third-party/install/lib/libgssapi_krb5.a;/home/nebula-graph/third-party/install/lib/libkrb5.a;/home/nebula-graph/third-party/install/lib/libk5crypto.a;/home/nebula-graph/third-party/install/lib/libcom_err.a;/home/nebula-graph/third-party/install/lib/libkrb5support.a
-- Boost version: 1.75.0
>>>> Configuring third party for 'Nebula Common' done <<<<
-- Create the pre-commit hook
-- Creating pre-commit hook done
CMake Error at CMakeLists.txt:64 (export):
  export given OBJECT library "version_obj" which may not be exported.
Call Stack (most recent call first):
  src/common/version/CMakeLists.txt:11 (nebula_add_library)
.....

检查一下 nebula-graphs/modules/common 目录存在吗?麻烦给一下 cmake 的版本?

尝试一下把“-DNEBULA_COMMON_REPO_TAG=v2.0.1 -DNEBULA_STORAGE_REPO_TAG=v2.0.1” 两个选项从cmake命令里去掉,然后将“v2.0.1” 直接在CMakeLists.txt中修改试试。

1 个赞

嗯嗯
image
image

我直接git clone,不带版本 也是报一样的错
cmake -DENABLE_BUILD_STORAGE=on -DENABLE_TESTING=OFF -DCMAKE_BUILD_TYPE=Release …
报错信息

Configuring third party for ‘Nebula Common’ done <<<<
– Create the pre-commit hook
– Creating pre-commit hook done
CMake Error at CMakeLists.txt:64 (export):
export given OBJECT library “version_obj” which may not be exported.
Call Stack (most recent call first):
src/common/version/CMakeLists.txt:11 (nebula_add_library)

CMake Error at CMakeLists.txt:64 (export):
export given OBJECT library “base_obj” which may not be exported.
Call Stack (most recent call first):
src/common/base/CMakeLists.txt:10 (nebula_add_library)

CMake Error at CMakeLists.txt:64 (export):
export given OBJECT library “time_obj” which may not be exported.
Call Stack (most recent call first):
src/common/time/CMakeLists.txt:6 (nebula_add_library)

CMake Error at CMakeLists.txt:64 (export):
export given OBJECT library “time_utils_obj” which may not be exported.
Call Stack (most recent call first):
src/common/time/CMakeLists.txt:13 (nebula_add_library)

CMake Error at CMakeLists.txt:64 (export):
export given OBJECT library “network_obj” which may not be exported.
Call Stack (most recent call first):
src/common/network/CMakeLists.txt:6 (nebula_add_library)

我们本地测试了一下 cmake 3.5.0 版本也会报上述错误,建议你升级 cmake 版本到 3.15 以上(这个版本在 docker 中已经做过验证)再编译。后续会修改 cmake 要求的最低版本。

1 个赞

经测试,可以 :smiley:

1 个赞