-
Notifications
You must be signed in to change notification settings - Fork 769
{compiler}[GCC/11.2.0] hipSYCL v0.9.2 w/ Python 3.9.6 #15074
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
{compiler}[GCC/11.2.0] hipSYCL v0.9.2 w/ Python 3.9.6 #15074
Conversation
…es: hipSYCL-0.9.2-filter-cuda-stubs-rpath.patch
|
Tested with the following Clang distribution: ##
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
#
# Copyright:: Copyright 2013-2015 Dmitri Gribenko, Ward Poelmans
# Authors:: Dmitri Gribenko <[email protected]>
# Authors:: Ward Poelmans <[email protected]>
# License:: GPLv2 or later, MIT, three-clause BSD.
# $Id$
##
name = 'Clang'
version = '13.0.1'
versionsuffix = '-CUDA-%(cudaver)s'
homepage = 'https://clang.llvm.org/'
description = """C, C++, Objective-C compiler, based on LLVM. Does not
include C++ standard library -- use libstdc++ from GCC."""
# Clang also depends on libstdc++ during runtime, but this dependency is
# already specified as the toolchain.
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"]
sources = [
'llvm-%(version)s.src.tar.xz',
'clang-%(version)s.src.tar.xz',
'compiler-rt-%(version)s.src.tar.xz',
'polly-%(version)s.src.tar.xz',
'openmp-%(version)s.src.tar.xz',
# Also include the LLVM linker
'lld-%(version)s.src.tar.xz',
'libcxx-%(version)s.src.tar.xz',
'libcxxabi-%(version)s.src.tar.xz',
'clang-tools-extra-%(version)s.src.tar.xz',
'libunwind-%(version)s.src.tar.xz',
]
checksums = [
'ec6b80d82c384acad2dc192903a6cf2cdbaffb889b84bfb98da9d71e630fc834', # llvm-13.0.1.src.tar.xz
'787a9e2d99f5c8720aa1773e4be009461cd30d3bd40fdd24591e473467c917c9', # clang-13.0.1.src.tar.xz
'7b33955031f9a9c5d63077dedb0f99d77e4e7c996266952c1cec55626dca5dfc', # compiler-rt-13.0.1.src.tar.xz
'f4003e03da57b53bf206faadd0cf53f7b198c38498c605dec45743db23c10ad0', # polly-13.0.1.src.tar.xz
'6b79261371616c31fea18cd3ee1797c79ee38bcaf8417676d4fa366a24c96b4f', # openmp-13.0.1.src.tar.xz
'666af745e8bf7b680533b4d18b7a31dc7cab575b1e6e4d261922bbafd9644cfb', # lld-13.0.1.src.tar.xz
'2f446acc00bb7cfb4e866c2fa46d1b6dbf4e7d2ab62e3c3d84e56f7b9e28110f', # libcxx-13.0.1.src.tar.xz
'db5fa6093c786051e8b1c85527240924eceb6c95eeff0a2bbc57be8422b3cef1', # libcxxabi-13.0.1.src.tar.xz
'cc2bc8598848513fa2257a270083e986fd61048347eccf1d801926ea709392d0', # clang-tools-extra-13.0.1.src.tar.xz
'e206dbf1bbe058a113bffe189386ded99a160b2443ee1e2cd41ff810f78551ba', # libunwind-13.0.1.src.tar.xz
]
dependencies = [
# since Clang is a compiler, binutils is a runtime dependency too
('binutils', '2.37'),
('hwloc', '2.5.0'),
('libxml2', '2.9.10'),
('ncurses', '6.2'),
('CUDA', '11.4.1', '', True),
('GMP', '6.2.1'),
('Z3', '4.8.12'),
]
builddependencies = [
('CMake', '3.21.1'),
('Python', '3.9.6'),
('Perl', '5.34.0'),
('elfutils', '0.185'),
]
assertions = False
usepolly = True
build_lld = True
libcxx = True
enable_rtti = True
build_extra_clang_tools = True
skip_all_tests = True
moduleclass = 'compiler'Note especially that we need to turn off |
|
@nordmoen: Tests failed in GitHub Actions, see https://github.com/easybuilders/easybuild-easyconfigs/actions/runs/1927712187 bleep, bloop, I'm just a bot (boegelbot v20200716.01) |
|
@boegelbot please test @generoso |
|
@casparvl: Request for testing this PR well received on login1 PR test command '
Test results coming soon (I hope)... - notification for comment with ID 1060688787 processed Message to humans: this is just bookkeeping information for me, |
|
Test report by @boegelbot |
|
I had to search a bit for the actual error in the gist of boegelbot's build, but I see: This comes from the EasyBlock sanity check (here). While I'm no expert, if it got put in the sanity check, I assume it's supposed to be there somewhere. @nordmoen any idea why that archive is not present at the expected location? I assume the build completed succesfully for you, do you have that archive in your installation directory? |
|
My bad @casparvl I forgot to mention that I have been using easybuilders/easybuild-easyblocks#2684 as it seems that Clang 13 no longer produces the |
|
@nordmoen Ok, let's see if I can convince boegelbot to use that PR for the EasyBlock :) In the meantime, I'm also trying a local build. It failed with a different error, but I didn't upload a test report yet. Will do that now, and immediately take that EasyBlock into account also for my local build. |
|
@boegelbot please test @generoso EB_ARGS=--include-easyblocks-from-pr=2684 |
|
@casparvl: Request for testing this PR well received on login1 PR test command '
Test results coming soon (I hope)... - notification for comment with ID 1062003197 processed Message to humans: this is just bookkeeping information for me, |
|
Test report by @casparvl |
|
Hm, the test failure on my system is because I'm not sure if something can/should be done about this at the EasyConfig level. I haven't run into this before with other EasyConfigs as far as I know. Then again, I also never installed CLANG before. I'm also not sure which compilers is being used when this error is thrown: if it's CLANG itself (e.g. it's doing e.g. a bootstrap), then maybe the default include path should be changed (in which case it could be something that belongs in an EasyBlock). My GCC at least claims it looks in the correct include directory: So it's hard to imagine gcc is throwing the error... thát should be able to find |
|
Test report by @boegelbot |
|
@casparvl I have never seen that error before on the systems I have tested on, so I'm afraid I can't help much there. At least boegelbot managed to build it properly. |
|
@akesandgren will check on his system, which also has a multi-arch linux setup. See if we can confirm where this issue comes from. In the meantime, I'll try to build an older CLANG EasyConfig to see if that does work on our system. If it does, something must have changed somewhere... |
easybuild/easyconfigs/c/Clang/Clang-13.0.1-GCCcore-11.2.0-CUDA-11.4.1.eb
Show resolved
Hide resolved
|
There is a patch we should add to this too. The CMAKE_VERBOSE_MAKEFILE setting isn't propagated to the sub projects it builds. Testing it now. |
|
The problem with not finding sys/cdefs.h smells like a bug in clang. fails with the offending clang (1st stage) when doing but works if I remove the "-target nvptx64". So something goes wrong there that worked before. I've been trying to look at the Debian patches for Clang 13 but haven't found anything yet. |
|
Actually, our Clang/11.0.1 also presents the same error in the above case and so does Clang/10.0.0 |
|
@akesandgren Any progress on this? It seemed like the issue has always been present and maybe should not block this inclusion? |
|
@nordmoen the problem is that with this version it fails to build. |
|
Going to test a patch for this.... Patch failed to accomplish what I wanted... |
|
The problem is described here: https://groups.google.com/g/llvm-dev/c/71cdlaU-fG8 Adding gcc-multilib (from the OS) to my build container fixes the problem. |
|
Test report by @akesandgren Note: Build done with gcc-multilib installed from OS in my build container, resulting installation also requires gcc-multilib installed from the OS to actually work when compiling something with -target nvptx that includes some file that lives under /usr/include/x86_64-linux-gnu/ This must be a bug in llvm/clang that it doesn't properly detect that the host is multiarch. It should NOT require gcc-multilib for that. |
|
The reason it works by adding gcc-multilib is that (for my test with sys/cdefs.h) is that libc6-dev-i386 adds a softlink for /usr/include/sys/cdefs.h -> ../x86_64-linux-gnu/sys/cdefs.h So the "bug" in Clang remains that it doesn't properly detect that the host is multiarch. |
jfgrimm
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
Closing this since @nordmoen If this is still relevant, please consider opening a new pull request using a more recent toolchain |
(created using
eb --new-pr)