Re: [AMBER-Developers] Requirement to build serial before building parallel

From: Scott Brozell <sbrozell.rci.rutgers.edu>
Date: Wed, 10 Mar 2010 01:24:23 -0500

Hi,

On Tue, Mar 09, 2010 at 06:28:44PM -0500, Jason Swails wrote:
> On Sat, Mar 6, 2010 at 3:23 PM, case <case.biomaps.rutgers.edu> wrote:
> > On Sat, Mar 06, 2010, Ross Walker wrote:
> >
> >> That might be useful although right now the 'actual' limitation is that you
> >> can't do:
> >> make -f Makefile_at parallel
> >> without AMBERHOME/exe/yacc
> >
> > I'll work on removing this dependency...not only does it (appear to) involve
> > a piece of pnetcdf that we don't actually use, but according to Jason, the
> > code doesn't even accept yacc.
>
> As a follow-up to this (since I said I would try to verify my past
> claims): I removed bison/byacc from my ubuntu machine, then checked
> out a new version of Amber today. Serial installation/test went fine.
> Parallel install of ambertools yielded the same error for me as it
> did when it was first introduced:
>
> make[5]: Entering directory
> `/home/swails/newamber/03.09.10/amber11/src/pnetcdf/src/utils/ncgen'
> mpicc -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -I./../../../src/lib -I. -I. -DNDEBUG main.c
> mpicc -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -I./../../../src/lib -I. -I. -DNDEBUG load.c
> flex ./ncgen.l; \
> mv lex.yy.c ncgenyy.c
> yacc -d ./ncgen.y; \
> mv y.tab.c ncgentab.c; \
> mv y.tab.h ncgentab.h
> yacc: e - line 10 of "./ncgen.y", syntax error
> %expect 1
> ^
> mpicc -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -I./../../../src/lib -I. -I. -DNDEBUG ncgentab.c

Apparently, the yacc syntax error is not fatal since ncgentab.c compiles.?
%expect is a bison-ism and seems only to quell messages regarding
shift/reduce conflicts:
http://dinosaur.compilertools.net/bison/bison_6.html#SEC54
http://dinosaur.compilertools.net/yacc/index.html

What happens if you delete the %expect line ?

> mpicc -o ncmpigen -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE main.o
> load.o ncgentab.o escapes.o getfill.o init.o genlib.o
> -L../../../src/lib -lpnetcdf
> main.o: In function `main':
> main.c:(.text+0x527): undefined reference to `yyin'
> main.c:(.text+0x52c): undefined reference to `yyparse'
> init.o: In function `init_netcdf':
> init.c:(.text+0x2): undefined reference to `clearout'
> make[5]: *** [ncmpigen] Error 1
>
> which yacc returns: /home/swails/newamber/03.09.10/amber11/bin/yacc
>
> After re-installing bison from aptitude (so that there is a yacc in
> /usr/bin), the compilation finishes successfully. My system uses
> intel11 compilers with MKL.

Scott


_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Tue Mar 09 2010 - 22:30:02 PST
Custom Search