boostorg/context

Compilation fails on OpenBSD/mips64

brad0 opened this issue · 8 comments

brad0 commented

Trying to build Boost 1.73 on OpenBSD/mips64 it fails to link the context library as shown..

    "c++"   -o "bin.v2/libs/context/build/clang-linux-11.1.0/release/pch-off/threading-multi/visibility-hidden/libboost_context-mt.so.14.0" -Wl,-soname -Wl,libboost_context-mt.so.14.0 -shared -Wl,--start-group "bin.v2/libs/context/build/clang-linux-11.1.0/release/pch-off/threading-multi/visibility-hidden/asm/make_mips64_n64_elf_gas.o" "bin.v2/libs/context/build/clang-linux-11.1.0/release/pch-off/threading-multi/visibility-hidden/asm/jump_mips64_n64_elf_gas.o" "bin.v2/libs/context/build/clang-linux-11.1.0/release/pch-off/threading-multi/visibility-hidden/asm/ontop_mips64_n64_elf_gas.o" "bin.v2/libs/context/build/clang-linux-11.1.0/release/pch-off/threading-multi/visibility-hidden/posix/stack_traits.o"  -Wl,-Bstatic  -Wl,-Bdynamic  -Wl,--end-group -fPIC -pthread -fvisibility=hidden -fvisibility-inlines-hidden 

/usr/bin/ld: bin.v2/libs/context/build/clang-linux-11.1.0/release/pch-off/threading-multi/visibility-hidden/asm/make_mips64_n64_elf_gas.o: CALL16 reloc at 0x14 not against global symbol
bin.v2/libs/context/build/clang-linux-11.1.0/release/pch-off/threading-multi/visibility-hidden/asm/make_mips64_n64_elf_gas.o: could not read symbols: Bad value
c++: error: linker command failed with exit code 1 (use -v to see invocation)
olk commented

I do not have access to a MIPS64 system so I can't debug/test it (code was contributed by another user) ... sorry.

brad0 commented

I'm guessing this is clang+lld. There's a comment here:

We're currently utilizing clang + ld.bfd. We have been slowly converting to lld but powerpc and mips64 are still to go.

neheb commented

wait a minute... are you building with mips16?

brad0 commented

wait a minute... are you building with mips16?

Hrmm? Only mips64.

neheb commented

Maybe patch out the entries in build/Jamfile.v2 .

edit: could also be a PIC problem. Who knows.

Could you please help take a look at which symbol it is calling? I have no clues.

brad0 commented

It looks like with me pushing an update to Boost 1.76 that context now builds Ok on mips64.