Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jax 0.5.0 error: no member named 'Auto' in 'llvm::ms_demangle::PrimitiveKind' #26143

Open
gongomgra opened this issue Jan 28, 2025 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@gongomgra
Copy link

Description

I'm not able to build jaxlib version 0.5.0 on aarch64 using Clang 18.1.8 or 19.1.0 from the llvm-org project. I see the following build error:

INFO: Analyzed target //jaxlib/tools:build_wheel (1 packages loaded, 2173 targets configured).
INFO: Found 1 target...
ERROR: /root/.cache/bazel/_bazel_root/991cdb5fea4e113834aa28d0a32c6279/external/llvm-project/llvm/BUILD.bazel:226:11: Compiling llvm/lib/Demangle/MicrosoftDemangleNodes.cpp [for tool] failed: (Exit 1): clang-18 failed: error executing command (from target @llvm-pro
ject//llvm:Demangle)
  (cd /root/.cache/bazel/_bazel_root/991cdb5fea4e113834aa28d0a32c6279/execroot/__main__ && \
  exec env - \
    LD_LIBRARY_PATH=/usr/local/clang/lib: \
    PATH=/usr/local/clang/bin:/opt/bitnami/python/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
    PWD=/proc/self/cwd \
  /usr/local/clang/bin/clang-18 -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -Wunused-but-set-parameter -Wno-free-nonheap-object -fcolor-diagnostics -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections '-std=c++14' -I/usr/local/clang/include -MD -MF bazel-out/aarch64-opt-exec-50AE0418/bin/external/llvm-project/llvm/_objs/Demangle/MicrosoftDemangleNodes.d '-frandom-seed=bazel-out/aarch64-opt-exec-50AE0418/bin/external/llvm-project/llvm/_objs/Demangle/MicrosoftDemangleNodes.o' '-DLLVM_ON_UNIX=1' '-DHAVE_BACKTRACE=1' '-DBACKTRACE_HEADER=<execinfo.h>' '-DLTDL_SHLIB_EXT=".so"' '-DLLVM_PLUGIN_EXT=".so"' '-DLLVM_ENABLE_THREADS=1' '-DHAVE_DEREGISTER_FRAME=1' '-DHAVE_LIBPTHREAD=1' '-DHAVE_PTHREAD_GETNAME_NP=1' '-DHAVE_PTHREAD_H=1' '-DHAVE_PTHREAD_SETNAME_NP=1' '-DHAVE_REGISTER_FRAME=1' '-DHAVE_SETENV_R=1' '-DHAVE_STRERROR_R=1' '-DHAVE_SYSEXITS_H=1' '-DHAVE_UNISTD_H=1' -D_GNU_SOURCE '-DHAVE_MALLINFO=1' '-DHAVE_SBRK=1' '-DHAVE_STRUCT_STAT_ST_MTIM_TV_NSEC=1' -DHAVE_BUILTIN_THREAD_POINTER '-DLLVM_NATIVE_ARCH="AArch64"' '-DLLVM_NATIVE_ASMPARSER=LLVMInitializeAArch64AsmParser' '-DLLVM_NATIVE_ASMPRINTER=LLVMInitializeAArch64AsmPrinter' '-DLLVM_NATIVE_DISASSEMBLER=LLVMInitializeAArch64Disassembler' '-DLLVM_NATIVE_TARGET=LLVMInitializeAArch64Target' '-DLLVM_NATIVE_TARGETINFO=LLVMInitializeAArch64TargetInfo' '-DLLVM_NATIVE_TARGETMC=LLVMInitializeAArch64TargetMC' '-DLLVM_NATIVE_TARGETMCA=LLVMInitializeAArch64TargetMCA' '-DLLVM_HOST_TRIPLE="aarch64-unknown-linux-gnu"' '-DLLVM_DEFAULT_TARGET_TRIPLE="aarch64-unknown-linux-gnu"' '-DLLVM_VERSION_MAJOR=20' '-DLLVM_VERSION_MINOR=0' '-DLLVM_VERSION_PATCH=0' '-DLLVM_VERSION_STRING="20.0.0git"' -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS '-DLLVM_HAS_AArch64_TARGET=1' '-DLLVM_HAS_AMDGPU_TARGET=1' '-DLLVM_HAS_ARM_TARGET=1' '-DLLVM_HAS_NVPTX_TARGET=1' '-DLLVM_HAS_PowerPC_TARGET=1' '-DLLVM_HAS_RISCV_TARGET=1' '-DLLVM_HAS_SystemZ_TARGET=1' '-DLLVM_HAS_X86_TARGET=1' '-DBAZEL_CURRENT_REPOSITORY="llvm-project"' -iquote external/llvm-project -iquote bazel-out/aarch64-opt-exec-50AE0418/bin/external/llvm-project -isystem external/llvm-project/llvm/include -isystem bazel-out/aarch64-opt-exec-50AE0418/bin/external/llvm-project/llvm/include -g0 -g0 '-std=c++17' -no-canonical-prefixes -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -c external/llvm-project/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp -o bazel-out/aarch64-opt-exec-50AE0418/bin/external/llvm-project/llvm/_objs/Demangle/MicrosoftDemangleNodes.o)
# Configuration: 95e71a8d6ad3aefb2dd46c290755dc17eeb3b884b731019d96ce749b490a4c31
# Execution platform: @local_execution_config_platform//:platform
/usr/local/clang/bin/clang-18: /usr/lib/libtinfo.so.6: no version information available (required by /usr/local/clang/bin/clang-18)
external/llvm-project/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp:152:44: error: no member named 'Auto' in 'llvm::ms_demangle::PrimitiveKind'
  152 |     OUTPUT_ENUM_CLASS_VALUE(PrimitiveKind, Auto, "auto");
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
external/llvm-project/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp:22:14: note: expanded from macro 'OUTPUT_ENUM_CLASS_VALUE'
   22 |   case Enum::Value:                                                            \
      |        ~~~~~~^
external/llvm-project/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp:153:44: error: no member named 'DecltypeAuto' in 'llvm::ms_demangle::PrimitiveKind'
  153 |     OUTPUT_ENUM_CLASS_VALUE(PrimitiveKind, DecltypeAuto, "decltype(auto)");
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
external/llvm-project/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp:22:14: note: expanded from macro 'OUTPUT_ENUM_CLASS_VALUE'
   22 |   case Enum::Value:                                                            \
      |        ~~~~~~^
2 errors generated.
Target //jaxlib/tools:build_wheel failed to build

I'm getting other errors with previous 16.x and 17.x versions of Clang like this one for Clang 16.x:

ERROR: /root/.cache/bazel/_bazel_root/991cdb5fea4e113834aa28d0a32c6279/external/llvm-project/llvm/BUILD.bazel:226:11: Compiling llvm/lib/Demangle/RustDemangle.cpp [for tool] failed: (Exit 1): clang-16 failed: error executing command (from target @llvm-project//llvm
:Demangle)
  (cd /root/.cache/bazel/_bazel_root/991cdb5fea4e113834aa28d0a32c6279/execroot/__main__ && \
  exec env - \
    LD_LIBRARY_PATH=/usr/local/clang/lib: \
    PATH=/usr/local/clang/bin:/opt/bitnami/python/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
    PWD=/proc/self/cwd \
  /usr/local/clang/bin/clang-16 -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -Wunused-but-set-parameter -Wno-free-nonheap-object -fcolor-diagnostics -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata
-sections '-std=c++14' -I/usr/local/clang/include -MD -MF bazel-out/aarch64-opt-exec-50AE0418/bin/external/llvm-project/llvm/_objs/Demangle/RustDemangle.d '-frandom-seed=bazel-out/aarch64-opt-exec-50AE0418/bin/external/llvm-project/llvm/_objs/Demangle/RustDemangle.
o' '-DLLVM_ON_UNIX=1' '-DHAVE_BACKTRACE=1' '-DBACKTRACE_HEADER=<execinfo.h>' '-DLTDL_SHLIB_EXT=".so"' '-DLLVM_PLUGIN_EXT=".so"' '-DLLVM_ENABLE_THREADS=1' '-DHAVE_DEREGISTER_FRAME=1' '-DHAVE_LIBPTHREAD=1' '-DHAVE_PTHREAD_GETNAME_NP=1' '-DHAVE_PTHREAD_H=1' '-DHAVE_PT
HREAD_SETNAME_NP=1' '-DHAVE_REGISTER_FRAME=1' '-DHAVE_SETENV_R=1' '-DHAVE_STRERROR_R=1' '-DHAVE_SYSEXITS_H=1' '-DHAVE_UNISTD_H=1' -D_GNU_SOURCE '-DHAVE_MALLINFO=1' '-DHAVE_SBRK=1' '-DHAVE_STRUCT_STAT_ST_MTIM_TV_NSEC=1' -DHAVE_BUILTIN_THREAD_POINTER '-DLLVM_NATIVE_A
RCH="AArch64"' '-DLLVM_NATIVE_ASMPARSER=LLVMInitializeAArch64AsmParser' '-DLLVM_NATIVE_ASMPRINTER=LLVMInitializeAArch64AsmPrinter' '-DLLVM_NATIVE_DISASSEMBLER=LLVMInitializeAArch64Disassembler' '-DLLVM_NATIVE_TARGET=LLVMInitializeAArch64Target' '-DLLVM_NATIVE_TARGE
TINFO=LLVMInitializeAArch64TargetInfo' '-DLLVM_NATIVE_TARGETMC=LLVMInitializeAArch64TargetMC' '-DLLVM_NATIVE_TARGETMCA=LLVMInitializeAArch64TargetMCA' '-DLLVM_HOST_TRIPLE="aarch64-unknown-linux-gnu"' '-DLLVM_DEFAULT_TARGET_TRIPLE="aarch64-unknown-linux-gnu"' '-DLLV
M_VERSION_MAJOR=20' '-DLLVM_VERSION_MINOR=0' '-DLLVM_VERSION_PATCH=0' '-DLLVM_VERSION_STRING="20.0.0git"' -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS '-DLLVM_HAS_AArch64_TARGET=1' '-DLLVM_HAS_AMDGPU_TARGET=1' '-DLLVM_HAS_ARM_TARGET=1' '-DL
LVM_HAS_NVPTX_TARGET=1' '-DLLVM_HAS_PowerPC_TARGET=1' '-DLLVM_HAS_RISCV_TARGET=1' '-DLLVM_HAS_SystemZ_TARGET=1' '-DLLVM_HAS_X86_TARGET=1' '-DBAZEL_CURRENT_REPOSITORY="llvm-project"' -iquote external/llvm-project -iquote bazel-out/aarch64-opt-exec-50AE0418/bin/exter
nal/llvm-project -isystem external/llvm-project/llvm/include -isystem bazel-out/aarch64-opt-exec-50AE0418/bin/external/llvm-project/llvm/include -g0 -g0 '-std=c++17' -no-canonical-prefixes -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redac
ted"' '-D__TIME__="redacted"' -c external/llvm-project/llvm/lib/Demangle/RustDemangle.cpp -o bazel-out/aarch64-opt-exec-50AE0418/bin/external/llvm-project/llvm/_objs/Demangle/RustDemangle.o)
# Configuration: 95e71a8d6ad3aefb2dd46c290755dc17eeb3b884b731019d96ce749b490a4c31
# Execution platform: @local_execution_config_platform//:platform
/usr/local/clang/bin/clang-16: /usr/lib/libtinfo.so.6: no version information available (required by /usr/local/clang/bin/clang-16)
In file included from external/llvm-project/llvm/lib/Demangle/RustDemangle.cpp:16:
/usr/local/clang/include/llvm/Demangle/Utility.h:80:12: error: unknown type name 'StringView'
  operator StringView() const { return StringView(Buffer, CurrentPosition); }
           ^
/usr/local/clang/include/llvm/Demangle/Utility.h:102:28: error: unknown type name 'StringView'
  OutputBuffer &operator+=(StringView R) {
                           ^
/usr/local/clang/include/llvm/Demangle/Utility.h:117:25: error: unknown type name 'StringView'
  OutputBuffer &prepend(StringView R) {
                        ^
/usr/local/clang/include/llvm/Demangle/Utility.h:128:28: error: unknown type name 'StringView'
  OutputBuffer &operator<<(StringView R) { return (*this += R); }
                           ^
/usr/local/clang/include/llvm/Demangle/Utility.h:67:23: error: use of undeclared identifier 'StringView'
    return operator+=(StringView(TempPtr, Temp.data() + Temp.size()));
                      ^
external/llvm-project/llvm/lib/Demangle/RustDemangle.cpp:151:13: error: out-of-line definition of 'rustDemangle' does not match any declaration in namespace 'llvm'
char *llvm::rustDemangle(std::string_view MangledName) {
            ^~~~~~~~~~~~
external/llvm-project/llvm/lib/Demangle/RustDemangle.cpp:1012:10: error: no viable overloaded '+='
  Output += S;
  ~~~~~~ ^  ~
/usr/local/clang/include/llvm/Demangle/Utility.h:111:17: note: candidate function not viable: no known conversion from 'std::string_view' (aka 'basic_string_view<char>') to 'char' for 1st argument
  OutputBuffer &operator+=(char C) {
                ^
external/llvm-project/llvm/lib/Demangle/RustDemangle.cpp:1123:14: error: no viable overloaded '+='
      Output += std::string_view(UTF8, 4);
      ~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/clang/include/llvm/Demangle/Utility.h:111:17: note: candidate function not viable: no known conversion from 'std::string_view' (aka 'basic_string_view<char>') to 'char' for 1st argument
  OutputBuffer &operator+=(char C) {
                ^
8 errors generated.
Target //jaxlib/tools:build_wheel failed to build

System info (python version, jaxlib version, accelerator, etc.)

$ cat /etc/os-release
NAME="VMware Photon OS"
VERSION="5.0"
ID=photon
VERSION_ID=5.0
PRETTY_NAME="VMware Photon OS/Linux"
ANSI_COLOR="1;34"
HOME_URL="https://vmware.github.io/photon/"
BUG_REPORT_URL="https://github.com/vmware/photon/issues"

$ python --version
Python 3.12.8

$ clang --version
clang version 18.1.8 (http://git.linaro.org/toolchain/jenkins-scripts.git e5def089cd9f5aa71524f82fef301ca66eaa38d2)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang/bin
@gongomgra gongomgra added the bug Something isn't working label Jan 28, 2025
@superbobry
Copy link
Collaborator

The compilation error happens when compiling LLVM, so this isn't really JAX specific I would say.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants