You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When cross-compiling from x86, I am able to produce a binary, however the same atomics missing symbol error occurs when linking the dynamic library:
/usr/local/go/pkg/tool/linux_arm64/link: running gcc failed: exit status 1
/usr/bin/ld: $WORK/b001/exe/a.out: hidden symbol `__aarch64_cas8_acq_rel' in /usr/lib/gcc/aarch64-linux-gnu/11/libgcc.a(cas_8_4.o) is referenced by DSO
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
-mno-outline-atomics:
This seems to have no impact on the build failure, notice the -mno-outline-atomics flag in the clang++ call:
I've been able to reproduce this error, but on Ubuntu 22.04. The versions of the packages you've provided above suggest that you've likely made a mistake specifying Ubuntu 20.04 instead of 22.04.
But adding -mno-outline-atomics helps to resolve the issue: I've been able to build libcatboostmodel successfully and then tried to use it (link with it) in an executable program, also without errors.
When compiling on arm (aarch64) using cmake on any Catboost version 1.2.0+, the build fails with errors relating to atomics.
Catboost version: 1.2.2
Operating System: Linux / aarch64
CPU: Any 64-bit arm processor (e.g. Amazon Graviton)
GPU: None
Details:
I have tested this on various linux distributions and toolchain (gcc, llvm, cmake) versions.
Reproducible steps (Ubuntu 20.04, arm64):
1) Install dependencies
2) Verify dependencies:
3) Invoke build
4) Observe failure:
Full error log: https://gist.github.com/lpmitchell/297ca3ab99f61f3db1f24d1f612ae35d
Attempted fixes:
Cross compiling:
When cross-compiling from x86, I am able to produce a binary, however the same atomics missing symbol error occurs when linking the dynamic library:
-mno-outline-atomics
:This seems to have no impact on the build failure, notice the
-mno-outline-atomics
flag in the clang++ call:Manual steps (without using
build_native.py
) - NinjaThe same compilation error occurs when following manual steps to build directly:
Manual steps - Unix Makefile
Any help on this issue would be greatly appreciated, or any information on the build environment used for the binary releases may also be useful.
Many thanks!
The text was updated successfully, but these errors were encountered: