Multiple definition of '_main'

Hi All,

I tried to install HDF4.2r4, but got troubled as following while making
netCDF.

libtool: link: /usr/bin/gcc -O3 -fomit-frame-pointer -o ncgen close.o
escapes.o generate.o genlib.o getfill.o init.o load.o main.o ncgentab.o -L/
usr/local/lib ../libsrc/.libs/libmfhdf.a ../../hdf/src/.libs/libdf.a /usr
/lib/lib/libsz.so -lm /usr/lib/libjpeg.so -lz -Wl,- -rpathWl,/usr/lib/lib -
Wl,-rpath -Wl,/usr/lib/lib
ncgentab.o: In function `main':
ncgentab.c:(.text+0x0): multiple definition of `main'
main.o:main.c:(.text+0x30): first defined here
main.o: In function `main':
main.c:(.text+0x51): undefined reference to `yyin'
main.c:(.text+0x79): undefined reference to `yyout'
main.c:(.text+0x1f3): undefined reference to `yyin'
ncgentab.o: In function `yyparse':
ncgentab.c:(.text+0x539): undefined reference to `yylex'
collect2: ld returned 1 exit status
make[2]: *** [ncgen] Error 1
make[2]: Leaving directory `/home/clr/study/code/hdf/HDF4.2r4/mfhdf/ncgen'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/clr/study/code/hdf/HDF4.2r4/mfhdf'
make: *** [all-recursive] Error 1

Can anyone fix this?
Thank you very much!

Shi gm

Please make sure that you have yacc and lex on your system and in your path.

Elena

···

On Nov 19, 2009, at 11:32 AM, shi gm wrote:

Hi All,

I tried to install HDF4.2r4, but got troubled as following while making netCDF.

libtool: link: /usr/bin/gcc -O3 -fomit-frame-pointer -o ncgen close.o escapes.o generate.o genlib.o getfill.o init.o load.o main.o ncgentab.o -L/usr/local/lib ../libsrc/.libs/libmfhdf.a ../../hdf/src/.libs/libdf.a /usr/lib/lib/libsz.so -lm /usr/lib/libjpeg.so -lz -Wl,- -rpathWl,/usr/lib/lib -Wl,-rpath -Wl,/usr/lib/lib
ncgentab.o: In function `main':
ncgentab.c:(.text+0x0): multiple definition of `main'
main.o:main.c:(.text+0x30): first defined here
main.o: In function `main':
main.c:(.text+0x51): undefined reference to `yyin'
main.c:(.text+0x79): undefined reference to `yyout'
main.c:(.text+0x1f3): undefined reference to `yyin'
ncgentab.o: In function `yyparse':
ncgentab.c:(.text+0x539): undefined reference to `yylex'
collect2: ld returned 1 exit status
make[2]: *** [ncgen] Error 1
make[2]: Leaving directory `/home/clr/study/code/hdf/HDF4.2r4/mfhdf/ncgen'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/clr/study/code/hdf/HDF4.2r4/mfhdf'
make: *** [all-recursive] Error 1

Can anyone fix this?
Thank you very much!

Shi gm
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Hi Elena,
I find yacc and lex in /usr/bin,

*clr@Clr-shi:/usr/bin$ ls yacc lex
lex yacc

···

*
I configured with YACC=/usr/bin/yacc, I got errors again.
and i noticed that in configure parameters, YACC is defined as

* YACC The `Yet Another C Compiler' implementation to use. Defaults
to
              the first program found out of: `bison -y', `byacc', `yacc'.
*
Does this make some mistakes?
Thanks a lot!

Shi gm

On Fri, Nov 20, 2009 at 11:44 AM, Elena Pourmal <epourmal@hdfgroup.org>wrote:

Please make sure that you have yacc and lex on your system and in your
path.

Elena

On Nov 19, 2009, at 11:32 AM, shi gm wrote:

Hi All,

I tried to install HDF4.2r4, but got troubled as following while making
netCDF.

libtool: link: /usr/bin/gcc -O3 -fomit-frame-pointer -o ncgen close.o
escapes.o generate.o genlib.o getfill.o init.o load.o main.o ncgentab.o
-L/usr/local/lib ../libsrc/.libs/libmfhdf.a ../../hdf/src/.libs/libdf.a
/usr/lib/lib/libsz.so -lm /usr/lib/libjpeg.so -lz -Wl,-
-rpathWl,/usr/lib/lib -Wl,-rpath -Wl,/usr/lib/lib
ncgentab.o: In function `main':
ncgentab.c:(.text+0x0): multiple definition of `main'
main.o:main.c:(.text+0x30): first defined here
main.o: In function `main':
main.c:(.text+0x51): undefined reference to `yyin'
main.c:(.text+0x79): undefined reference to `yyout'
main.c:(.text+0x1f3): undefined reference to `yyin'
ncgentab.o: In function `yyparse':
ncgentab.c:(.text+0x539): undefined reference to `yylex'
collect2: ld returned 1 exit status
make[2]: *** [ncgen] Error 1
make[2]: Leaving directory `/home/clr/study/code/hdf/HDF4.2r4/mfhdf/ncgen'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/clr/study/code/hdf/HDF4.2r4/mfhdf'
make: *** [all-recursive] Error 1

Can anyone fix this?
Thank you very much!

Shi gm
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Check also for flex.

Elena

···

On Nov 19, 2009, at 10:38 PM, shi gm wrote:

Hi Elena,
I find yacc and lex in /usr/bin,

clr@Clr-shi:/usr/bin$ ls yacc lex
lex yacc

I configured with YACC=/usr/bin/yacc, I got errors again.
and i noticed that in configure parameters, YACC is defined as

YACC The `Yet Another C Compiler' implementation to use. Defaults to
              the first program found out of: `bison -y', `byacc', `yacc'.

Does this make some mistakes?
Thanks a lot!

Shi gm

On Fri, Nov 20, 2009 at 11:44 AM, Elena Pourmal > <epourmal@hdfgroup.org> wrote:
Please make sure that you have yacc and lex on your system and in your path.

Elena

On Nov 19, 2009, at 11:32 AM, shi gm wrote:

Hi All,

I tried to install HDF4.2r4, but got troubled as following while making netCDF.

libtool: link: /usr/bin/gcc -O3 -fomit-frame-pointer -o ncgen close.o escapes.o generate.o genlib.o getfill.o init.o load.o main.o ncgentab.o -L/usr/local/lib ../libsrc/.libs/libmfhdf.a ../../hdf/src/.libs/libdf.a /usr/lib/lib/libsz.so -lm /usr/lib/libjpeg.so -lz -Wl,- -rpathWl,/usr/lib/lib -Wl,-rpath -Wl,/usr/lib/lib
ncgentab.o: In function `main':
ncgentab.c:(.text+0x0): multiple definition of `main'
main.o:main.c:(.text+0x30): first defined here
main.o: In function `main':
main.c:(.text+0x51): undefined reference to `yyin'
main.c:(.text+0x79): undefined reference to `yyout'
main.c:(.text+0x1f3): undefined reference to `yyin'
ncgentab.o: In function `yyparse':
ncgentab.c:(.text+0x539): undefined reference to `yylex'
collect2: ld returned 1 exit status
make[2]: *** [ncgen] Error 1
make[2]: Leaving directory `/home/clr/study/code/hdf/HDF4.2r4/mfhdf/ncgen'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/clr/study/code/hdf/HDF4.2r4/mfhdf'
make: *** [all-recursive] Error 1

Can anyone fix this?
Thank you very much!

Shi gm
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org