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

Compilation errors with Clang 17.0.6 #2261

Open
pbchekin opened this issue Sep 16, 2024 · 4 comments
Open

Compilation errors with Clang 17.0.6 #2261

pbchekin opened this issue Sep 16, 2024 · 4 comments
Assignees
Labels

Comments

@pbchekin
Copy link
Contributor

    FAILED: _deps/spirv-llvm-translator-build/lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/SPIRVRegularizeLLVM.cpp.o
    /usr/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/project/python/build/cmake.linux-x86_64-cpython-3.9/_deps/spirv-llvm-translator-build/lib/SPIRV -I/project/python/build/cmake.linux-x86_64-cpython-3.9/lib/Target/SPIRV/SPIRVToLLVMTranslator/lib/SPIRV -I/project/include -I/project/. -I/root/.triton/llvm/llvm-36adf8ec-almalinux-x64/include -I/project/python/build/cmake.linux-x86_64-cpython-3.9/include -I/project/third_party -I/project/python/build/cmake.linux-x86_64-cpython-3.9/third_party -I/project/python/build/cmake.linux-x86_64-cpython-3.9/lib/Target/SPIRV/SPIRVToLLVMTranslator/include -I/project/python/build/cmake.linux-x86_64-cpython-3.9/_deps/spirv-llvm-translator-build/SPIRV-Headers/include -I/project/python/build/cmake.linux-x86_64-cpython-3.9/lib/Target/SPIRV/SPIRVToLLVMTranslator/lib/SPIRV/libSPIRV -I/project/python/build/cmake.linux-x86_64-cpython-3.9/lib/Target/SPIRV/SPIRVToLLVMTranslator/lib/SPIRV/Mangler -D
    /project/python/build/cmake.linux-x86_64-cpython-3.9/lib/Target/SPIRV/SPIRVToLLVMTranslator/lib/SPIRV/SPIRVRegularizeLLVM.cpp:516:15: error: implicit conversion turns string literal into bool: 'const char[34]' to 'bool' [-Werror,-Wstring-conversion]
      516 |       assert(!"Decoration does not name metadata");
          |              ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/include/assert.h:90:27: note: expanded from macro 'assert'
       90 |      (static_cast <bool> (expr)                                         \
          |                           ^~~~
    /project/python/build/cmake.linux-x86_64-cpython-3.9/lib/Target/SPIRV/SPIRVToLLVMTranslator/lib/SPIRV/SPIRVRegularizeLLVM.cpp:522:15: error: implicit conversion turns string literal into bool: 'const char[60]' to 'bool' [-Werror,-Wstring-conversion]
      522 |       assert(!"Cache controls metadata on instruction must have 4 operands");
          |              ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/include/assert.h:90:27: note: expanded from macro 'assert'
       90 |      (static_cast <bool> (expr)                                         \
          |                           ^~~~
    /project/python/build/cmake.linux-x86_64-cpython-3.9/lib/Target/SPIRV/SPIRVToLLVMTranslator/lib/SPIRV/SPIRVRegularizeLLVM.cpp:535:15: error: implicit conversion turns string literal into bool: 'const char[39]' to 'bool' [-Werror,-Wstring-conversion]
      535 |       assert(!"Cache controls must decorate a pointer");
          |              ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/include/assert.h:90:27: note: expanded from macro 'assert'
       90 |      (static_cast <bool> (expr)                                         \
          |                           ^~~~
    3 errors generated.

    FAILED: _deps/spirv-llvm-translator-build/lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/SPIRVWriter.cpp.o
    /usr/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/project/python/build/cmake.linux-x86_64-cpython-3.9/_deps/spirv-llvm-translator-build/lib/SPIRV -I/project/python/build/cmake.linux-x86_64-cpython-3.9/lib/Target/SPIRV/SPIRVToLLVMTranslator/lib/SPIRV -I/project/include -I/project/. -I/root/.triton/llvm/llvm-36adf8ec-almalinux-x64/include -I/project/python/build/cmake.linux-x86_64-cpython-3.9/include -I/project/third_party -I/project/python/build/cmake.linux-x86_64-cpython-3.9/third_party -I/project/python/build/cmake.linux-x86_64-cpython-3.9/lib/Target/SPIRV/SPIRVToLLVMTranslator/include -I/project/python/build/cmake.linux-x86_64-cpython-3.9/_deps/spirv-llvm-translator-build/SPIRV-Headers/include -I/project/python/build/cmake.linux-x86_64-cpython-3.9/lib/Target/SPIRV/SPIRVToLLVMTranslator/lib/SPIRV/libSPIRV -I/project/python/build/cmake.linux-x86_64-cpython-3.9/lib/Target/SPIRV/SPIRVToLLVMTranslator/lib/SPIRV/Mangler -D
    /project/python/build/cmake.linux-x86_64-cpython-3.9/lib/Target/SPIRV/SPIRVToLLVMTranslator/lib/SPIRV/SPIRVWriter.cpp:3688:5: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
     3688 |     default:
          |     ^
    /project/python/build/cmake.linux-x86_64-cpython-3.9/lib/Target/SPIRV/SPIRVToLLVMTranslator/lib/SPIRV/SPIRVWriter.cpp:3688:5: note: insert 'break;' to avoid fall-through
     3688 |     default:
          |     ^
          |     break;
    /project/python/build/cmake.linux-x86_64-cpython-3.9/lib/Target/SPIRV/SPIRVToLLVMTranslator/lib/SPIRV/SPIRVWriter.cpp:5383:15: error: implicit conversion turns string literal into bool: 'const char[26]' to 'bool' [-Werror,-Wstring-conversion]
     5383 |       assert(!"Annotation string missing");
          |              ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/include/assert.h:90:27: note: expanded from macro 'assert'
       90 |      (static_cast <bool> (expr)                                         \
          |                           ^~~~
    /project/python/build/cmake.linux-x86_64-cpython-3.9/lib/Target/SPIRV/SPIRVToLLVMTranslator/lib/SPIRV/SPIRVWriter.cpp:1659:44: error: private field 'IndexGroupArrayMap' is not used [-Werror,-Wunused-private-field]
     1659 |   LLVMToSPIRVBase::LLVMToSPIRVMetadataMap &IndexGroupArrayMap;
          |                                            ^
    3 errors generated.
@ZzEeKkAa
Copy link
Contributor

ZzEeKkAa commented Sep 16, 2024

@pbchekin could you please provide steps to reproduce the error? Please assign it back to me after.

@ZzEeKkAa ZzEeKkAa assigned pbchekin and unassigned ZzEeKkAa Sep 16, 2024
@pbchekin
Copy link
Contributor Author

You can reproduce it with cibuildwheel tool (requires docker).

pip install cibuildwheel

echo "" >> python/setup.cfg
echo "[build_ext]" >> python/setup.cfg
echo "base-dir=/project" >> python/setup.cfg

export CIBW_ENVIRONMENT="TRITON_BUILD_WITH_CLANG_LLD=1"
export CIBW_BEFORE_ALL="dnf install clang lld -y"
export CIBW_BUILD="cp3{9,10,11,12}*-manylinux_x86_64"
export CIBW_MANYLINUX_X86_64_IMAGE="quay.io/pypa/manylinux_2_28_x86_64:latest"
export CIBW_SKIP="cp{35,36,37}-*"
export CIBW_BUILD_VERBOSITY=1
python3 -m cibuildwheel python --output-dir wheelhouse

@pbchekin
Copy link
Contributor Author

Note that upstream uses clang to build wheels:
https://github.com/triton-lang/triton/blob/main/.github/workflows/wheels.yml#L64

@pbchekin pbchekin assigned ZzEeKkAa and unassigned pbchekin Sep 16, 2024
@pbchekin
Copy link
Contributor Author

@ZzEeKkAa another way to reproduce in our JupyterHub session:

curl -sSLO https://apt.llvm.org/llvm.sh
sudo bash ./llvm.sh 17
CC=clang-17 CXX=clang++-17 ./scripts/compile-triton.sh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants