Skip to content

用mold链接brpc报duplicate symbol #1809

@BiteTheDDDDt

Description

@BiteTheDDDDt

Describe the bug (描述bug)
用ld/lld/gold链接都是可以的,但是mold链接就会报这个错,不知道是mold的问题还是brpc的问题?

To Reproduce (复现方法)

mold: error: duplicate symbol: /home/bitetheddddt/dbdev/incubator-doris/thirdparty/installed/lib64/libbrpc.a(collector.cpp.o): src/service/CMakeFiles/palo_be.dir/doris_main.cpp.o: guard variable for butil::detail::ClassNameHelper<long>::name[abi:cxx11]
mold: error: duplicate symbol: /home/bitetheddddt/dbdev/incubator-doris/thirdparty/installed/lib64/libbrpc.a(acceptor.cpp.o): src/exec/libExec.a(data_sink.cpp.o): guard variable for butil::detail::ClassNameHelper<int>::name[abi:cxx11]
mold: error: duplicate symbol: /home/bitetheddddt/dbdev/incubator-doris/thirdparty/installed/lib64/libbrpc.a(execution_queue.cpp.o): src/exec/libExec.a(data_sink.cpp.o): guard variable for butil::detail::ClassNameHelper<bvar::detail::AddTo<long> >::name[abi:cxx11]
mold: error: duplicate symbol: /home/bitetheddddt/dbdev/incubator-doris/thirdparty/installed/lib64/libbrpc.a(collector.cpp.o): src/service/CMakeFiles/palo_be.dir/doris_main.cpp.o: guard variable for butil::detail::ClassNameHelper<bvar::detail::MaxTo<long> >::name[abi:cxx11]
mold: error: duplicate symbol: /home/bitetheddddt/dbdev/incubator-doris/thirdparty/installed/lib64/libbrpc.a(acceptor.cpp.o): src/exec/libExec.a(data_sink.cpp.o): guard variable for butil::detail::ClassNameHelper<bvar::detail::AddTo<int> >::name[abi:cxx11]
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Expected behavior (期望行为)

Versions (各种版本)
OS:
Compiler:
brpc:
protobuf:

Additional context/screenshots (更多上下文/截图)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions