-
Notifications
You must be signed in to change notification settings - Fork 26
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
Add Mac CI tests #97
Add Mac CI tests #97
Conversation
@jfowkes, I found this today, it could be relevant for SPRAL (and GALAHAD): https://gist.github.com/scivision/d94bb10a01fa3b8ed0c9a93ee16318ba |
@amontoison great will add an Intel test script! |
@amontoison also what is your FC when compiling with Clang on Mac? |
It's |
@amontoison ok will switch the workflow to gfortran, flang is still experimental... |
Now we're getting a legitimate C++ compiler failure:
@nimgould do you also run into this compiler failure with Clang? |
On 11/14/22 09:06, Jari wrote:
Now we're getting a legitimate C++ compiler failure:
|./src/ssids/cpu/kernels/assemble.hxx:230:35: error: no matching
constructor for initialization of 'std::vector<int, PoolAllocInt>' (aka
'vector<int, BuddyAllocator<int, std::allocator<double>>>')
std::vector<int, PoolAllocInt> map(n+1, PoolAllocInt(pool_alloc)); ^
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
@nimgould <https://github.com/nimgould> do you also run into this
compiler failure with Clang?
—
Reply to this email directly, view it on GitHub
<#97 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACW4A6UUUEACHXVNX6QFAU3WIH6KZANCNFSM6AAAAAAR4KU2LE>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
Nope, it complies without issues with clang (the compiled version
that supports flang). How odd
…--
Nicholas I. M. Gould
Scientific Computing Department email: ***@***.***
G39, R71 Rutherford Appleton Laboratory phone: 0(44)1235 445801
Chilton, Oxon OX11 0QX England EU
www: http://www.numerical.rl.ac.uk/people/nimg
This email and any attachments are intended solely for the use of the named recipients. If you are not the intended recipient you must not use, disclose, copy or distribute this email or any of its attachments and should notify the sender immediately and delete this email from your system. UK Research and Innovation (UKRI) has taken every reasonable precaution to minimise risk of this email or any attachments containing viruses or malware but the recipient should carry out its own virus and malware checks before opening the attachments. UKRI does not accept any liability for any losses or damages which the recipient may sustain due to presence of any viruses.
|
60d568f
to
12d9a22
Compare
Looking at the error further, it appears that Clang can't find the C++ standard library vector implementation, which suggests an issue with finding the C++ standard library headers. |
Yes, the flang Linux archdefs file has the flag component
SOMP = -fopenmp=libomp -I/usr/lib/llvm-14/lib/clang/14.0.0/include
which is not portable, but makes good things happen. I presume that
Macs will have some other non-portable location
…--
Nicholas I. M. Gould
Scientific Computing Department email: ***@***.***
G39, R71 Rutherford Appleton Laboratory phone: 0(44)1235 445801
Chilton, Oxon OX11 0QX England EU
www: http://www.numerical.rl.ac.uk/people/nimg
This email and any attachments are intended solely for the use of the named recipients. If you are not the intended recipient you must not use, disclose, copy or distribute this email or any of its attachments and should notify the sender immediately and delete this email from your system. UK Research and Innovation (UKRI) has taken every reasonable precaution to minimise risk of this email or any attachments containing viruses or malware but the recipient should carry out its own virus and malware checks before opening the attachments. UKRI does not accept any liability for any losses or damages which the recipient may sustain due to presence of any viruses.
|
@jfowkes |
@amontoison ahh yes you are right, that should do the trick! |
@amontoison sadly that didn't seem to work, unfortunately I don't understand autotools enough to know if I'm doing it correctly or even if CXXLIB is being picked up anywhere. |
Can you test with |
I have tried with |
Ok, let's try again with the flag -stdlib=libc++ instead of -lc++. |
@amontoison no joy, |
Hum, I don't know how to solve this issue. |
I don't think the problem is that |
You're missing After that, there are other compilation issues. After fiddling for a while, this incantation worked for me:
I decided to After all that,
|
All is well if I replace |
This almost works with the Intel compilers:
However, the There are couple additional hoops to jump through related to Homebrew when building on Apple Silicon. (It's not the case of the GitHub VMs.) I can explain or write instructions at some point if you're interested. It would be good if the workflows tested a variety of compilers, as those also serve as documentation and can help users get the incantation right. |
3ebbbe4
to
ced1b51
Compare
@dpo thank you very much, that fixes the compilation issues!! Yeah finding C/C++ headers on modern macs is a real pain... I will have a go later at creating macOS Intel CI tests, need to figure out the best way to install the Intel compilers (no apt on mac but probably pip is the easiest way). I assume that for your local tests you're sourcing I agree entirely that we should have proper CI tests for a variety of platforms and compilers. This has already shown us that SPRAL will only run correctly with gcc/gfortran as there are bugs when using all the other compilers. |
(To be honest, I don't see issues with spral under ifort/icc and ifx/icx on Linux). Maybe its my lucky day |
But, yes, CI on as many common platforms and compilers as possible |
See my SIFDecode/CUTEst/GALAHAD workflow where I install the Intel compilers using the "official" way. |
22eb098
to
f83f9ff
Compare
f83f9ff
to
3dc222e
Compare
Superseded by #113 |
We should also automatically test SPRAL on Mac.