PGI User Forum
 SearchSearch   MemberlistMemberlist     RegisterRegister   ProfileProfile    Log inLog in 

Free OpenACC Webinar

sdsc meme application fails to compile

 
Post new topic   Reply to topic    PGI User Forum Forum Index -> Programming and Compiling
View previous topic :: View next topic  
Author Message
jaa



Joined: 29 Jul 2005
Posts: 3

PostPosted: Wed May 10, 2006 5:46 am    Post subject: sdsc meme application fails to compile Reply with quote

The meme 3.5.3 application, available from http://meme.sdsc.edu/meme/intro.html fails to compile the source file init.c, with error message:

Code:

usculus403-6:src$ pgcc -DHAVE_CONFIG_H -I. -I.. -I./include -I./libadd     -DUNIX -D__USE_FIXE_PROTOTYPES -O -c init.c
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-S-0204-Actual parameters too long for DO_STANDARD_COMMAND_LINE (init.c: 237)
PGC-F-0008-Error limit exceeded (init.c)
PGC/x86-64 Linux/x86-64 6.1-4: compilation aborted


The application is configured with
Code:
CC=pgcc ./configure --enable-opt --disable-server


The file compiles w/o problems with gcc. Looks like a PGI cpp problem to mee. Anybody who have manage to compile and run meme with pgi compilers ? Thanks in advance for any feedback.[/code][/url]
Back to top
View user's profile
mkcolg



Joined: 30 Jun 2004
Posts: 6213
Location: The Portland Group Inc.

PostPosted: Wed May 10, 2006 4:58 pm    Post subject: Reply with quote

Hi Jaa,

Unfortunately, you've hit a preprocessor limit where macro arguments can't exceed a particular length. This REALLY BIG macro hits this limit and then some. I've put in a feature request (TPR#3831) to have this limit expanded or removed and hopefully we can add this to a future release. Until then, you can add a preprocessing step the "src/Makefile". For example, add the following just after the "COMPILE=" at line 226.
Code:
PRECOMP = $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
   $(CPPFLAGS) $(AM_CFLAGS)

And modify the ".o.c" rule at line 309 to include the preprocessing step.
Code:
.c.o:
   $(PRECOMP) `test -f '$<' || echo '$(srcdir)/'`$< > $*.i
   $(COMPILE) -c $*.i

Move the "-DUNIX -D__USE_FIXED_PROTOTYPES__" variables from the "CFLAGS" to the "CPPFLAGS". Finally, set your environment variable "CPP=cpp" and type 'make'.

I was was able compile and run successfully using this method. Note that you can also change the CFLAGS to use "-fastsse" instead of "-O" to give you better performance.

- Mat
Back to top
View user's profile
Display posts from previous:   
Post new topic   Reply to topic    PGI User Forum Forum Index -> Programming and Compiling All times are GMT - 7 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group