I’m testing MM5 on a new hardware (AMD fx 62 dual core), so i installed opensuse 10.2 and took your new compilers (6.2.5). I applied your patches for glib libraries, i chanced flag options to make MM5 compile on my 64 bit workstation. All things went well, because there was no error in compiling and the simulation ran. (I installed NCARG libraries, run all prepocessing programs for MM5 and maked mm5 executable)
But after some hours it ended prematurely writing “Segmentation fault”. So I changed compiling settings, after reading your 6.2 guide, trying to find best flags for my new hardware but the result hasn’t changed
I have to tell you that we had tested it on a dual core 64 bit workstation (a little bit older - AMD X2 dual core - Suse 10.0 PGI 6.0) and all was ok. We were able to work with all cores contemporarily
I tried also with unlimited stack size. Is there some additional bug?
I tried to compile with the same flags with PGI 6.0 (and the patch relative to makelocalrc) and MM5 works well!!!
Could you tell me something more?
It was only a glare
My segmentation fault occurred after 3240 timesteps (PGI 6.0) instead of 1680 (PGI 6.2)
The two things that I have seen to cause MM5 to seg fault are when “-DDEC_ALPHA” is missing from a 64-bit compilation and a stack overflow. Since you followed our guide on building MM5, you most likely added “-DDEC_ALPHA” so you’re encountering a stack overflow. To test, try running your mm5 executable in a debugger, pgdbg or gdb. If the seg fault occurs at a call, then it’s a stack overflow.
Other things to try is to use to reduce your problem size which will lower the stack usage. Also, unlimit does not actually use an unlimited stack size, rather the OS uses a system dependant limit. Try setting the stack size by hand (limit) to a very large value.
Thank you. It was a -DDEC_ALPHA problem. It wasn’t on LDOPTIONS. Now it is working whit unlimited stack size and all goes well. Thank you veerry much