-
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
TMV linking failure not present in v0.2 but present now #314
Comments
Barney, could you please send me the full gs.error file for master along with the config.log you get for a successful v0.2 compilation? |
Oh, unless my recent fix for #312 also fixes this for you, that is. (Although it's less clear to me why this would be the case.) |
Hi Mike, I checked this on the new master and still no dice I'm afraid! Here's a link to the gs.error: https://dl.dropbox.com/u/495780/GalSim/gs.error And here's the config.log for a successful v0.2 build: https://dl.dropbox.com/u/495780/GalSim/config.log I'll have a look at the diffs myself to see if I can spot something relevant... |
Could you check if v0.2 passes tests for you? Or even if you can Because it looks like the thing that is failing for you is the ability to load the mkl libraries (used by TMV) at run time. We used to not check for this, so it was leading to runtime errors when people would use galsim. Now I put a check in SCons to make sure such a problem is discovered right away, rather than after an apparently successful build. (This was one of the issues in #261.) This seems to be what is biting you now, so if v0.2 actually worked with this set up, then it means that the test I added isn't right. But if v0.2 compiled and then failed when doing |
So, I'd thought that v0.2 worked fine. Going back, I actually see that the v0.2 tests almost pass (I didn't notice this originally, to my mild embarrassment):
GalSim For info,
However, I'm now suspicious about the tmv-link path itself... I'm not sure it's providing the full path to the actual MKL BLAS and LAPACK libraries. I'll report back soon! |
Interesting. The SCons test is more like bin/test_main, since it tries to run an executable. And I thought that if that failed, it would also fail to load via python. So I wonder how python manages to load the mkl library correctly, but the executable doesn't. Hmmm.. One thing you could try is to set EXTRA_LIB_PATH to the directory where libmkl_intel_lp64.so resides. Also, I see that you have the MKL directories in your LIBRARY_PATH, but not DYLD_LIBRARY_PATH, and there is no LD_LIBRARY_PATH at all. I think LIBRARY_PATH is used at link time to find libraries, and LD_LIBRARY_PATH is used at run time to find shared libraries. (I believe DYLD_LIBRARY_PATH is for Macs only, so I'm not sure that's doing anything for you here.) Anyway, perhaps setting LD_LIBRARY_PATH=LIBRARY_PATH would work. |
Correction... you do have LD_LIBRARY_PATH=/home/browe/local/32/lib. So perhaps add either LIBRARY_PATH or just the relevant MKL directory to it. Also, I have an idea about how SCons might be able to figure this out automatically. I'll push something for you to try... |
OK, I just pushed a change where if the previous TMV runtime tests failed, it will try adding (one at a time) each item in your LIBRARY_PATH to the RPATH variable to see if that helps. For your system, I think it will find therein a path with the MKL library that can be set as an RPATH for the executable so it will be found at runtime. Please check if that works for you. |
Hi Mike, Many thanks for that. Apologies for the delay on my side, unfortunately it didn't yet do the trick. Here's the gs.error: https://dl.dropbox.com/u/495780/GalSim/Builds/gs.error I tried a few things: adding stuff to the LD_LIBRARY_PATH as you suggested, switching to |
Sorry about that. Your gs.error file pointed out that my attempted fix didn't do what I wanted it to do. Try the one I just pushed. |
Thank you Mike. Interestingly, am now getting some different behaviour with g++ and icpc. In g++, that fixes that test, but then a later test fails: https://dl.dropbox.com/u/495780/GalSim/Builds/gs.error_g%2B%2B_20Nov2012 In icpc, all tests pass, but then there are a load of compilation warnings and some limited errors. The errors are reproduced below:
I have to go to a seminar now for an hour, but I'll try and slyly rebuild TMV without the MKL BLAS... it seems to be causing a lot of bother... |
Hmmmm, I see that part of the problem with the |
OK, so compiling TMV with |
Apparently the icpc error is a known bug: http://software.intel.com/en-us/forums/topic/289446 The supposed work-around is to update to icpc 12 and use an extra flag |
The BLAS stuff will never be a limiting factor for GalSim, so recommending the WITH_BLAS=false option is probably the best way to go. Would you like to put something on the FAQ or should I? |
I'll do it, you've done enough for this issue already Mike, thank you for your help. Once that's done, I think we should close this. Barnaby Rowe Department of Physics & Astronomy On 20 Nov 2012, at 14:25, Mike Jarvis wrote:
|
OK, have put some info about this in a new item on the FAQ. Closing the issue, thanks for the help Mike. |
As in #312, I think must be having issues with new SCons options too, I believe. On my 64bit linux system, if I checkout
v0.2
and run scons I link to TMV fine:But then immediately checking out the current master, I get:
The TMV link files are the same. The relevant lines from the (failing)
config.log
are:The text was updated successfully, but these errors were encountered: