-
Notifications
You must be signed in to change notification settings - Fork 56
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
disable CXX/CC for deal.II itself #159
Conversation
Strange problem. Obviously this should resolve the issue reported in the comments. I'm wondering if it will work for my compiler setting: I suggest to introduce (additionally) a new variable for the default parameter input / configuration file, something like "reset C / CXX compiler for deal.II" (default value: false) |
1f2c1cf
to
50a61e2
Compare
I assume you are running It seems to me that one needs to set both of them correctly:
Would you be opposed to introducing a way to specify the c++ compiler and the c++ MPI wrapper (maybe in candi.cfg or in the env?)? For example: |
Let's wait for dealii/dealii#11478 |
Indeed, but I set the environment variables for the compiler and mpi-compiler with environment modules. I don’t think that can work, but with my approach given above, it shouldn’t be a problem.
Not really, this is so non-standard that I don’t think this will work for the future. Why not going for my approach, if something goes wrong, one can tryout to reset CXX/CC in the config file, if this also doesn’t work, one needs to find another solution. We should wait for a potential patch for deal.II of course. |
It seems like we got to a conclusion in deal.II but the subtle issue remains: If you configure deal.II using candi on Ubuntu 20.04, |
well, for my user compiled mpi-compilers I set the environment variables:
and some others. What do you mean by |
@tjhei @gfcas I'm fine with that PR, if it helps you. |
@tjhei @koecher Yes, this patch makes candi working for 9.3.0 (just tested again). However, I noticed that it possibly may be not necessary to set the MPI_CC_COMPILER as I get the following message after dealii configuration: CMake Warning:
|
|
||
################################################################################ | ||
#Choose general configuration and components of deal.II | ||
|
||
CONFOPTS=" \ | ||
-D CMAKE_BUILD_TYPE=DebugRelease \ | ||
-D DEAL_II_WITH_MPI:BOOL=ON \ | ||
-D MPI_CXX_COMPILER=${CXX} \ | ||
-D MPI_CC_COMPILER=${CC} \ |
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.
@gfcas This line should be removed, correct?
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.
precisely line 22 here
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.
that was a typo, fixed.
As described in the comment, it is not ideal to set CXX/CC.
50a61e2
to
985f649
Compare
I will need to do some additional testing... |
To conclude:
I think this is good to go. |
Setting the compiler wrapper in CMake instead of in CC and CXX is recommended, but only works for recent CMake versions (one configuration I tested requires CMake 3.20 for the intel compiler). With 9.3.1 deal.II supports setting CXX=mpicxx again, so only do the above when a setting in candi.cfg is specified. Works around dealii#202 and fixes feature introduced in dealii#159
Setting the compiler wrapper in CMake instead of in CC and CXX is recommended, but only works for recent CMake versions (one configuration I tested requires CMake 3.20 for the intel compiler). With 9.3.1 deal.II supports setting CXX=mpicxx again, so only do the above when a setting in candi.cfg is specified. Works around #202 and fixes feature introduced in #159
Setting the compiler wrapper in CMake instead of in CC and CXX is recommended, but only works for recent CMake versions (one configuration I tested requires CMake 3.20 for the intel compiler). With 9.3.1 deal.II supports setting CXX=mpicxx again, so only do the above when a setting in candi.cfg is specified. Works around dealii#202 and fixes feature introduced in dealii#159
As described in the comment, it is not ideal to set CXX/CC.