| Issue |
168906
|
| Summary |
[compiler-rt][build] Build error on Astra Linux machine
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
Algorithm0
|
I compile LLVM using a Python script. Here is a function from it that sets CMake flags:
```python3
def set_packages(self, packages_set: list[str] | set[str]) -> None:
packages_set = set(packages_set)
self.cmake_addition_flags.clear()
enable_runtimes: list[str] = []
self.cmake_addition_flags['CMAKE_BUILD_TYPE'] = 'Release'
self.cmake_addition_flags['LLVM_TARGETS_TO_BUILD'] = 'host'
self.cmake_addition_flags['LLDB_INCLUDE_TESTS'] = 'OFF'
if not sys.platform.startswith('darwin'):
self.cmake_addition_flags['LLVM_STATIC_LINK_CXX_STDLIB'] = 'YES' if self.build_static else 'NO'
if sys.platform.startswith('linux'):
self.cmake_addition_flags['LLVM_ENABLE_LIBCXX'] = 'YES' if len(find_and_check_libcxx_pic()) > 0 else 'NO'
if self.enable_threads is not None:
self.cmake_addition_flags['LLVM_ENABLE_THREADS'] = 'YES' if self.enable_threads else 'NO'
if sys.platform.startswith('darwin'):
self.cmake_addition_flags['COMPILER_RT_ENABLE_IOS'] = 'OFF'
self.cmake_addition_flags['COMPILER_RT_ENABLE_WATCHOS'] = 'OFF'
self.cmake_addition_flags['COMPILER_RT_ENABLE_TVOS'] = 'OFF'
if 'cxx' in packages_set:
enable_runtimes.append('libcxx')
self.cmake_addition_flags['LIBCXX_ENABLE_SHARED'] = 'YES' if self.build_shared else 'NO'
self.cmake_addition_flags['LIBCXX_ENABLE_STATIC'] = 'YES' if self.build_static else 'NO'
self.cmake_addition_flags['LIBCXX_INSTALL_LIBRARY_DIR'] = 'lib'
self.cmake_addition_flags['LIBCXXABI_INSTALL_LIBRARY_DIR'] = self.cmake_addition_flags['LIBCXX_INSTALL_LIBRARY_DIR']
self.cmake_addition_flags['LIBCXX_INSTALL_INCLUDE_DIR'] = 'include/c++/v1'
self.cmake_addition_flags['LIBCXX_INSTALL_INCLUDE_TARGET_DIR'] = self.cmake_addition_flags['LIBCXX_INSTALL_INCLUDE_DIR']
if 'cxxabi' in packages_set:
enable_runtimes.append('libcxxabi')
self.cmake_addition_flags['LIBCXXABI_ENABLE_SHARED'] = 'YES' if self.build_shared else 'NO'
self.cmake_addition_flags['LIBCXXABI_ENABLE_STATIC'] = 'YES' if self.build_static else 'NO'
self.cmake_addition_flags['LIBCXX_CXX_ABI'] = 'libcxxabi'
if 'unwind' in packages_set:
enable_runtimes.append('libunwind')
self.cmake_addition_flags['LIBUNWIND_ENABLE_SHARED'] = 'YES' if self.build_shared else 'NO'
self.cmake_addition_flags['LIBUNWIND_ENABLE_STATIC'] = 'YES' if self.build_static else 'NO'
self.cmake_addition_flags['LIBCXXABI_USE_LLVM_UNWINDER'] = 'YES'
self.cmake_addition_flags['LIBUNWIND_INSTALL_LIBRARY_DIR'] = self.cmake_addition_flags['LIBCXX_INSTALL_LIBRARY_DIR']
enable_projects: list[str] = ['clang']
if 'clangd' in packages_set or 'clang-format' in packages_set or 'clang-tidy' in packages_set:
enable_projects.append('clang-tools-extra')
if 'lldb' in packages_set:
enable_projects.append('lldb')
self._need_copy_lldb_lib = True
for lldb_target in ['lldb-server', 'lldb-argdumper', 'lldb-dap']:
packages_set.add(lldb_target)
if not sys.platform.startswith('darwin'):
packages_set.add('lldbIntelFeatures')
else:
self.cmake_addition_flags['LLDB_USE_SYSTEM_DEBUGSERVER'] = 'ON'
if 'lld' in packages_set:
enable_projects.append('lld')
if 'compiler-rt' in packages_set:
enable_runtimes.append('compiler-rt')
self.cmake_addition_flags['LLVM_ENABLE_PROJECTS'] = ';'.join(enable_projects)
if len(enable_runtimes) > 0:
self.cmake_addition_flags['LLVM_ENABLE_RUNTIMES'] = ';'.join(enable_runtimes)
self.build_targets = list(packages_set)
self.install_targets.clear()
for package in packages_set:
self.install_targets.append(f'install-{package}')
```
To assemble packages, I use Docker and the Astra Linux OS image:
```Docker
FROM registry.astralinux.ru/library/astra/ubi17:1.7.5
```
I can confirm that everything is compiling successfully on commit c4e1bca407f4cca7644937c117890fad157fec4b. The problem starts with commit 12f392cff10fcc70b4ec4f01ab386922742e9136.\
I am attaching the build logs.
[build-log.txt](https://github.com/user-attachments/files/23659268/build-log.txt)
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs