- nebula 版本:3.5.0
- 部署方式:分布式
- 安装方式:源码编译
- 是否上生产环境:N
- 问题的具体描述:编译时报错
检查一下 cmake configure 阶段是 NEBULA_THIRDPARTY_ROOT
这个变量是否对应着安装的目录
我看之前也有人遇到类似的问题
好像也没得到解决,是不是有bug
看你的 cmake configure 阶段的 NEBULA_THIRDPARTY_ROOT
变量指向了 /opt/vesoft/third-party
,这个路径是不正确的,你可以手动指定再编译试试,类似下面这样:
cmake -DNEBULA_THIRDPARTY_ROOT=/opt/vesoft/third-party/3.3 ..
编译前我已经将 /opt/vesoft/third-party/3.3 目录下的文件拷贝了一份到 /opt/vesoft/third-party 目录,所以这个路径是可以正常使用的。
DNEBULA_THIRDPARTY_ROOT 这个路径应该没问题的,有问题的话,应该一开始编译就报错了,我这个编译到80%多才报错。
建议不要这样做,因为 third-party 下有 2.0 版本的依赖,很多库如果处理不好有可能链接到老的版本。你先使用 3.3 的路径编译试试看
还是相同的报错,怎么判断third-party里有没有rocksdb的依赖包?
rocksdb 的依赖包安装在 third-party/3.3/lib 目录下面,我使用 nm 查看了其中的某些符号是存在的。你在编译的时候,不知是否将对应的 build 目录完全清空然后再执行 cmake 的配置命令,你可以检查下 librocksdb.a 是否存在。
1 个赞
我编译的时候出现这种错误是因为我采用了多线程进行编译,eg make -j4/j2之类的,但是如果当我采用make命令时就会成功编译了
我们内部本地或者线上 CI 环境也都是通过多线程编译的,这里面可能还是哪里有问题
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。