[ncl-install] compiling wrapit

Alexander Petkov greenkov at gmail.com
Thu Jan 3 16:41:52 MST 2008


Hi:

I have 2 problems with compiling wrapit77 in the $NCARG/ni/src/mkwrap directory:
1) The generated Makefile tell gcc to link both y.tab.o and wrapit.o
while it compiles wrapit77:
gcc -ansi -fPIC  -O    -o wrapit77 y.tab.o lex.yy.o Symbol.o wrapit.o
-L/opt/ncl_ncarg-5.0.0/lib -L/usr/X11R6/lib64
-L/opt/netcdf-3.6.2/gnu/lib -L/opt/hdf4/lib  -lfl

This results in a number of "multiple definition" errors. I can see
that wrapit.c and y.tab.c are tha same file.
I can get around this problem by editing the Makefile.

2) There are number of "undefined reference" messages to functions
which I cannot find where they are defined. Can I get any help with
that?


Here is the error output of the make all target for wrapit77:

gcc -ansi -fPIC  -O    -o wrapit77 y.tab.o lex.yy.o	 Symbol.o wrapit.o
 -L/opt/ncl_ncarg-5.0.0/lib -L/usr/X11R6/lib64
-L/opt/netcdf-3.6.2/gnu/lib -L/opt/hdf4/lib  -lfl
wrapit.o(.bss+0x0): multiple definition of `theparam'
y.tab.o(.bss+0x0): first defined here
wrapit.o(.text+0x0): In function `WMakeListNode':
: multiple definition of `WMakeListNode'
y.tab.o(.text+0x0): first defined here
wrapit.o(.text+0x22): In function `FType':
: multiple definition of `FType'
y.tab.o(.text+0x22): first defined here
wrapit.o(.text+0x43): In function `NType':
: multiple definition of `NType'
y.tab.o(.text+0x43): first defined here
wrapit.o(.text+0xc9): In function `CType':
: multiple definition of `CType'
y.tab.o(.text+0xc9): first defined here
wrapit.o(.text+0x146): In function `yyparse':
: multiple definition of `yyparse'
y.tab.o(.text+0x146): first defined here
wrapit.o(.text+0x5309): In function `yyerror':
: multiple definition of `yyerror'
y.tab.o(.text+0x5309): first defined here
y.tab.o(.text+0x475): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x54e): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x660): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x6b1): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x702): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x87c): more undefined references to `current' follow
y.tab.o(.text+0xdf0): In function `yyparse':
: undefined reference to `WNewCallRec'
y.tab.o(.text+0xfb1): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x1060): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x10f2): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x1147): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x1184): In function `yyparse':
: undefined reference to `WNewArgVal'
y.tab.o(.text+0x12c4): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x13cd): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x1433): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
y.tab.o(.text+0x14b4): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x150e): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
y.tab.o(.text+0x1583): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
y.tab.o(.text+0x1632): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x1646): In function `yyparse':
: undefined reference to `DoDimsizes'
y.tab.o(.text+0x16e6): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
y.tab.o(.text+0x17c0): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x1817): In function `yyparse':
: undefined reference to `WNewCallRec'
y.tab.o(.text+0x19eb): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x1a8f): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x1ad0): In function `yyparse':
: undefined reference to `WNewArgVal'
y.tab.o(.text+0x1c0f): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x1d15): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x1d7a): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
y.tab.o(.text+0x1dfa): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x1e54): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
y.tab.o(.text+0x1ec9): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
y.tab.o(.text+0x1f78): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x1f8c): In function `yyparse':
: undefined reference to `DoDimsizes'
y.tab.o(.text+0x202c): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
y.tab.o(.text+0x20b9): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x2116): In function `yyparse':
: undefined reference to `WNewCallRec'
y.tab.o(.text+0x24e5): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x25de): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x2f6b): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x300d): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x3079): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x30e5): more undefined references to `current' follow
y.tab.o(.text+0x321c): In function `yyparse':
: undefined reference to `WNewArgVal'
y.tab.o(.text+0x3279): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x32f5): In function `yyparse':
: undefined reference to `WNewArgVal'
y.tab.o(.text+0x3325): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x33e1): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x349a): In function `yyparse':
: undefined reference to `WNewArgVal'
y.tab.o(.text+0x34eb): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x35b4): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x35f6): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x36d9): In function `yyparse':
: undefined reference to `WNewArgVal'
y.tab.o(.text+0x372e): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x37f5): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x3862): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x38f0): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x3b7f): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x3da4): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x3ed6): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
y.tab.o(.text+0x3ef0): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
y.tab.o(.text+0x3f25): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x3f71): In function `yyparse':
: undefined reference to `NewParamLoc'
y.tab.o(.text+0x3fb9): In function `yyparse':
: undefined reference to `WNewVDef'
y.tab.o(.text+0x40b5): In function `yyparse':
: undefined reference to `DoTotal'
y.tab.o(.text+0x4178): In function `yyparse':
: undefined reference to `NewParamLoc'
y.tab.o(.text+0x418a): In function `yyparse':
: undefined reference to `DoDimsizes'
y.tab.o(.text+0x41ad): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x42a6): In function `yyparse':
: undefined reference to `NewParamLoc'
y.tab.o(.text+0x42b8): In function `yyparse':
: undefined reference to `DoTotal'
y.tab.o(.text+0x432a): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x437e): In function `yyparse':
: undefined reference to `NewParamLoc'
y.tab.o(.text+0x4390): In function `yyparse':
: undefined reference to `DoDimsizes'
y.tab.o(.text+0x4418): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x446c): In function `yyparse':
: undefined reference to `NewParamLoc'
y.tab.o(.text+0x447f): In function `yyparse':
: undefined reference to `DoDimsizes'
y.tab.o(.text+0x44eb): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x45e5): In function `yyparse':
: undefined reference to `DoTotal'
y.tab.o(.text+0x4626): In function `yyparse':
: undefined reference to `DoDimsizes'
y.tab.o(.text+0x466f): In function `yyparse':
: undefined reference to `DoDimsizes'
y.tab.o(.text+0x46e9): In function `yyparse':
: undefined reference to `DoTotal'
y.tab.o(.text+0x472a): In function `yyparse':
: undefined reference to `DoDimsizes'
y.tab.o(.text+0x4773): In function `yyparse':
: undefined reference to `DoDimsizes'
y.tab.o(.text+0x4824): In function `yyparse':
: undefined reference to `DoTotal'
y.tab.o(.text+0x4865): In function `yyparse':
: undefined reference to `DoDimsizes'
y.tab.o(.text+0x48ae): In function `yyparse':
: undefined reference to `DoDimsizes'
y.tab.o(.text+0x4ad7): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x4ba1): In function `yyparse':
: undefined reference to `current'
y.tab.o(.text+0x4dc2): In function `yyparse':
: undefined reference to `current'
lex.yy.o(.text+0x215): In function `yylex':
: undefined reference to `WNewWrap'
lex.yy.o(.text+0x28b): In function `yylex':
: undefined reference to `current'
lex.yy.o(.text+0x2d3): In function `yylex':
: undefined reference to `current'
lex.yy.o(.text+0x309): In function `yylex':
: undefined reference to `current'
wrapit.o(.text+0x475): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x54e): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x660): more undefined references to `current' follow
wrapit.o(.text+0xdf0): In function `yyparse':
: undefined reference to `WNewCallRec'
wrapit.o(.text+0xfb1): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x1060): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x10f2): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x1147): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x1184): In function `yyparse':
: undefined reference to `WNewArgVal'
wrapit.o(.text+0x12c4): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x13cd): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x1433): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
wrapit.o(.text+0x14b4): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x150e): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
wrapit.o(.text+0x1583): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
wrapit.o(.text+0x1632): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x1646): In function `yyparse':
: undefined reference to `DoDimsizes'
wrapit.o(.text+0x16e6): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
wrapit.o(.text+0x17c0): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x1817): In function `yyparse':
: undefined reference to `WNewCallRec'
wrapit.o(.text+0x19eb): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x1a8f): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x1ad0): In function `yyparse':
: undefined reference to `WNewArgVal'
wrapit.o(.text+0x1c0f): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x1d15): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x1d7a): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
wrapit.o(.text+0x1dfa): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x1e54): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
wrapit.o(.text+0x1ec9): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
wrapit.o(.text+0x1f78): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x1f8c): In function `yyparse':
: undefined reference to `DoDimsizes'
wrapit.o(.text+0x202c): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
wrapit.o(.text+0x20b9): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x2116): In function `yyparse':
: undefined reference to `WNewCallRec'
wrapit.o(.text+0x24e5): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x25de): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x2f6b): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x300d): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x3079): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x30e5): more undefined references to `current' follow
wrapit.o(.text+0x321c): In function `yyparse':
: undefined reference to `WNewArgVal'
wrapit.o(.text+0x3279): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x32f5): In function `yyparse':
: undefined reference to `WNewArgVal'
wrapit.o(.text+0x3325): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x33e1): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x349a): In function `yyparse':
: undefined reference to `WNewArgVal'
wrapit.o(.text+0x34eb): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x35b4): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x35f6): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x36d9): In function `yyparse':
: undefined reference to `WNewArgVal'
wrapit.o(.text+0x372e): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x37f5): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x3862): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x38f0): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x3b7f): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x3da4): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x3ed6): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
wrapit.o(.text+0x3ef0): In function `yyparse':
: undefined reference to `WNewAdditionalSrc'
wrapit.o(.text+0x3f25): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x3f71): In function `yyparse':
: undefined reference to `NewParamLoc'
wrapit.o(.text+0x3fb9): In function `yyparse':
: undefined reference to `WNewVDef'
wrapit.o(.text+0x40b5): In function `yyparse':
: undefined reference to `DoTotal'
wrapit.o(.text+0x4178): In function `yyparse':
: undefined reference to `NewParamLoc'
wrapit.o(.text+0x418a): In function `yyparse':
: undefined reference to `DoDimsizes'
wrapit.o(.text+0x41ad): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x42a6): In function `yyparse':
: undefined reference to `NewParamLoc'
wrapit.o(.text+0x42b8): In function `yyparse':
: undefined reference to `DoTotal'
wrapit.o(.text+0x432a): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x437e): In function `yyparse':
: undefined reference to `NewParamLoc'
wrapit.o(.text+0x4390): In function `yyparse':
: undefined reference to `DoDimsizes'
wrapit.o(.text+0x4418): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x446c): In function `yyparse':
: undefined reference to `NewParamLoc'
wrapit.o(.text+0x447f): In function `yyparse':
: undefined reference to `DoDimsizes'
wrapit.o(.text+0x44eb): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x45e5): In function `yyparse':
: undefined reference to `DoTotal'
wrapit.o(.text+0x4626): In function `yyparse':
: undefined reference to `DoDimsizes'
wrapit.o(.text+0x466f): In function `yyparse':
: undefined reference to `DoDimsizes'
wrapit.o(.text+0x46e9): In function `yyparse':
: undefined reference to `DoTotal'
wrapit.o(.text+0x472a): In function `yyparse':
: undefined reference to `DoDimsizes'
wrapit.o(.text+0x4773): In function `yyparse':
: undefined reference to `DoDimsizes'
wrapit.o(.text+0x4824): In function `yyparse':
: undefined reference to `DoTotal'
wrapit.o(.text+0x4865): In function `yyparse':
: undefined reference to `DoDimsizes'
wrapit.o(.text+0x48ae): In function `yyparse':
: undefined reference to `DoDimsizes'
wrapit.o(.text+0x4ad7): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x4ba1): In function `yyparse':
: undefined reference to `current'
wrapit.o(.text+0x4dc2): In function `yyparse':
: undefined reference to `current'
collect2: ld returned 1 exit status
make: *** [wrapit77] Error 1


More information about the ncl-install mailing list