-
Notifications
You must be signed in to change notification settings - Fork 107
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
compilation error in psfcorr when using icpc #378
Comments
I assume you mean on branch #343? This didn't get the fix from #298 yet. I just merged from master which includes that fix, so I think it should work now. For future reference, you can always check whether some branch has all the updates that are on master with:
If all is up to date, you should get:
I'm sure there is some git way to just check it it's consistent other than to try the merge, but since I always want to do the merge if it hasn't been done yet, this is my SOP. |
Hi @tomaszkacprzak - just wanted to check whether this worked for you, in which case we will close this issue? |
I tried to do compile it with the fix you mentioned Mike, but I am getting an error of other sort. I am pretty sure I messed up my intel-compiled TMV, Numpy or Boost, so I will start with redoing my intel version of GalSim and dependencies. Then I will report! |
Hi @tomaszkacprzak - any update? I just noticed this hasn't been updated in 2 months. |
Hi Rachel, sorry about that. I was using the gcc version successfully. I tried to recompile after updating galsim, but I ran into the same problem, but without the Numpy warning. It looks like boost linking errors..
There are errors in config.log:
And:
I can send the whole config.log if needed. |
I think the problem is that you are using TMV built with g++ rather than icpc. You need to build a version of TMV with icpc. On my system where I test with both g++ and icpc, I use |
Actually, I take back my previous comment. I was basing this on the config.log stuff you posted, but rereading your post, I see that that's not relevant, since you did get past that to the .cpp compiling. So, on to isnan. This is actually a big problem with the (pre-C++11) C++ standard. There was no standard library isnan function. It was defined as a macro in C99, but that isn't technically part of the standard C++. It's just a common extension that is often implemented by compilers. Sometimes as a macro. Sometimes as a function. So it looks like you've run into a conflict with it. (Now with C++11, they have finally adopted it as part of the standard, but we're not requiring C++11 for GalSim currently.) For TMV, I rolled my own isnan function to avoid all the platform-dependent issues with it. But since we're using boost anyway, my recommendation is to use boost::math::isnan here. This seems to be the only place we use the isnan function, so it's not a big change. |
I went ahead and made the switch on master. Please see if that works for you. |
Thanks! That did the trick, now it compiles and imports. |
I am running into this error when compiling with icpc.
gcc installation works fine, and I still get the API warnings.
Does it look familiar to you?
The text was updated successfully, but these errors were encountered: