-
Notifications
You must be signed in to change notification settings - Fork 370
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
Document / detect required compiler versions per configuration #17
Comments
|
Ah yes, that makes sense. Guess this is just a documentation issue, or possibly the build system could be improved to probe for whether these flags are functional during |
This is something that could be readily addressed with autotools ;-) |
Using GCC 4.8.1 from a PPA fixed the build failure, but gives a |
What I think you really mean is autoconf in particular (automake and libtool would not come into play). Even still, this would require a total redesign of BLIS's build system (which is a discussion for another time). When I was using autoconf to build libflame's build system, I didn't find it all that user-friendly. Sure, you could probably write a macro that handles this particular case, but it still requires extensive case handling and quickly becomes hackish. In the spirit of your recent exchange with Carter, I wouldn't have said anything if you had simply said, "this is possible with autoconf/autotools." But readily addressable? That's upper-level management speak! :) |
:-) I will take a crack at this some time. I've been down the painful path of autotools before. I don't expect you to divert effort for it. Jeff
|
And I should've guessed parameter number 6 to SGEMV means an integer size problem. |
Need to document clang versions needed as well. (clang 4.0.1 was enough for BLIS 0.5.1, but not for 0.5.2 due to the use of cc @fgvanzee |
Perhaps it would be sufficient to add blacklisting capabilities to @isuruf Since I don't use clang, I'm not very familiar with what versions are typically available. How old is 4.0.1? What is the next version of clang that works for 0.5.2 (if you know)? Another route we might take is to actually filter out certain flags if clang is being used so that older versions still work. The |
Couldn't we just add the |
Those flags are already part of the |
Hmmm, I had assumed that if the |
Here's the error,
Even though the compiler recognizes |
clang-3.9 (Released Sep 2016) works if I remove Blacklisting of |
@fgvanzee Instead of using the compiler version to blacklist things, set flags, etc. maybe we should just do a test compile and check the status. e.g.: #
# Check for -mno-lwp
#
cat > conftest.c <<EOF
<test program>
EOF
if $CC -c -mno-lwp conftest.c; then
MNO_LWP_FLAG=-mno-lwp
else
MNO_LWP_FLAG=
fi Of course then we are reimplementing yet another function of autoconf but that is a conversation for another day... |
@devinamatthews You make a fair point about For now, I think we should patch Isuru's issue and move on. @isuruf Does #305 indirectly fix this issue for you? It wasn't immediately clear to me. |
@fgvanzee, no. |
What if we simply nixed the flag for the clang branch of the
|
BTW, I suggest this blanket removal of the flag for all versions of clang because I don't think the compiler naturally emits LWP instructions into BLIS. (It's not super-easy to find documentation on those instructions, but they appear to be related to "lightweight profiling".) |
I believe this issue has been addressed by the compiler version blacklisting in |
Add CI for Python 3.8
Title was: Build failure on piledriver
BLIS commit a41e68e
OS: Ubuntu 12.04 (on Travis CI)
CPU: AMD Opteron 6376
Compiler: GCC 4.6.3
Short version of the error message is:
(repeated several times for other files in
frame/0
)Full log is at https://travis-ci.org/tkelman/BLIS.jl/jobs/30217818
The text was updated successfully, but these errors were encountered: