毕昇编译ceph报错
收藏回复举报
毕昇编译ceph报错
t('forum.solved') 已解决
发表于2023-11-16 10:55:21
0 查看
[ 58%] Linking CXX executable ../bin/ceph-mon
/usr/bin/ld: rocksdb/librocksdb.a: error adding symbols: archive has no index; run ranlib to add one
clang-15: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [src/CMakeFiles/ceph-mon.dir/build.make:123: bin/ceph-mon] Error 1
make[2]: Leaving directory '/home/dev/ceph/build'
make[1]: *** [CMakeFiles/Makefile2:3307: src/CMakeFiles/ceph-mon.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
479 warnings generated.
[ 58%] Linking CXX executable ../bin/ceph-osd
/usr/bin/ld: rocksdb/librocksdb.a: error adding symbols: archive has no index; run ranlib to add one
clang-15: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [src/CMakeFiles/ceph-osd.dir/build.make:120: bin/ceph-osd] Error 1

错误信息如上所示,使用毕昇编译的时候,遇到静态库的时候无法链接成功。不带lfto可以成功,如果使用对应的动态库,则可以链接成功。

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -mcpu=tsv110 -O3 -lfto") 

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -mcpu=tsv110 -O3 -flto")

已经尝试过的手段:

1、修改链接器

set(CMAKE_RANLIB "llvm-ranlib") 

set(CMAKE_LINKER "llvm-link")

set(CMAKE_AR "llvm-ar")

2、链接过程中显式传入lfto

add_link_options("-lfto")

求教如何处理?

本帖最后由 匿名用户2023/11/16 15:51:50 编辑

我要发帖子