Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

limiomp5.so

swang
Beginner
548 Views
Dear Ron:

I can compile my program(USEPA CMAQ Model: cctm) with version 11.1. But I bumped into libiomp5.s0 error.
I cannot compile with version composerxe-2011.2.137. I got fpp error.

Enclosed are my ifortvars_intel64.sh(version 11.1.073) and compilervars.sh(composerxe-2011.2.137).
Enclosed cctm.intel.137.log is compilation log for composerxe-2011.2.137. cctm.run.intel.111.log is the run log for version 11.1.073.


Thanks again for your time and effort.

Regards,
Shizoom
0 Kudos
3 Replies
mecej4
Honored Contributor III
548 Views
Another CMAQ user reported this "command line too long for FPP" problem with 12.0.2 earlier:

"command line too long for buffer" by Russell Winans
0 Kudos
Ron_Green
Moderator
548 Views
zoom,

You have 2 problems going on here.

For the 12.0 compiler: the buffer overflow is a known and reported bug that is not fixed at this time. Jim provided a good workaround: instead of putting a bunch of -D defines on the command line, create a file and use (example)

#define SUBST_GRID_ID=42
etc

for all of the defines. Name the file 'defines.inc' or somthing like that. Then, in your code:

#include defines.inc

OK, that is for version 12.0. With 12.0, 12.0 Update 1, and 12.0 Update 2 there is a 4K character limit in FPP. This example just exceeded that ever so slightly. In a future update this limit will double to 8K which gives plenty of room for this command line. In 12.1 there will be a permanent fix to allow virtually unlimited command lines.


Now, your second problem with 11.x. That is a runtime error, most likely you are exceeding stack space. the easy fix is it enter

ulimit -s unlimited

prior to running the code. Now, if you use a batch subsystem to submit job, either the batch script should have this OR you could put that in your .bashrc file to make sure that the spawn shell for your batch job unlimits the stack. Batch shells don't always inherit the env of their parent shells.

Read this article on stack: http://software.intel.com/en-us/articles/determining-root-cause-of-sigsegv-or-sigbus-errors/
0 Kudos
nickdaq
Beginner
548 Views
Hi Ron,
While compiling the CMAQ model, I have a rather long strong of characters (>7300) I am trying to pass to mpiifort, and I get a buffer overflow error. I was hoping this would have been fixed with the latest updates to the compilers, but the problem is still there. Any idea when the buffer will be increased? Is it possible the next update to IMPI will include a fix?

BTW, I can work around the problem by compiling everything in my home directory. This reduces the lengths of the paths to the files and reduces the string to less than 4000 characters.

Thanks,
Nick
0 Kudos
Reply