Compiling SRecord fails on Cygwin; succeeds on Linux/FreeBSD.

E. Weddington ericw@evcohs.com
Fri Jan 7 22:48:00 GMT 2005


Hello!

I've been trying to build the SRecord package version 1.20:
<http://srecord.sourceforge.net/>

I'm using the Cygwin GCC compiler, 3.3.3. I've been getting failures 
during the link phase:

g++  -o bin/srec_cat prog/srec_cat/arglex3.o prog/srec_cat/main.o 
lib/libsrecord.a
lib/libsrecord.a(arglex.o)(.ctors+0x0): In function 
`_ZN11srec_arglexC2EiPPc':
/cygdrive/c/avrdev/srecord/srecord-1.20/lib/srec/arglex.cc:31: undefined 
reference to `__GLOBAL__I__ZN11srec_arglexC2EiPPc'
lib/libsrecord.a(arglex.o)(.dtors+0x0):/cygdrive/c/avrdev/srecord/srecord-1.20/lib/srec/arglex.cc:31: 
undefined reference to `__GLOBAL__D__ZN11srec_arglexC2EiPPc'
lib/libsrecord.a(get_number.o)(.ctors+0x0): In function 
`_ZN11srec_arglex10get_numberEPKc':
/cygdrive/c/avrdev/srecord/srecord-1.20/lib/srec/arglex/get_number.cc:31: 
undefined reference to `__GLOBAL__I__ZN11srec_arglex10get_numberEPKc'
lib/libsrecord.a(get_number.o)(.dtors+0x0):/cygdrive/c/avrdev/srecord/srecord-1.20/lib/srec/arglex/get_number.cc:31: 
undefined reference to `__GLOBAL__D__ZN11srec_arglex10get_numberEPKc'
lib/libsrecord.a(output.o)(.ctors+0x0): In function 
`_ZN11srec_arglex10get_outputEv':
/cygdrive/c/avrdev/srecord/srecord-1.20/lib/srec/arglex/output.cc:57: 
undefined reference to `__GLOBAL__I__ZN11srec_arglex10get_outputEv'
lib/libsrecord.a(output.o)(.dtors+0x0):/cygdrive/c/avrdev/srecord/srecord-1.20/lib/srec/arglex/output.cc:57: 
undefined reference to `__GLOBAL__D__ZN11srec_arglex10get_outputEv'
lib/libsrecord.a(input.o)(.ctors+0x0): In function 
`_ZN11srec_arglex9get_inputEv':
/cygdrive/c/avrdev/srecord/srecord-1.20/lib/srec/arglex/input.cc:78: 
undefined reference to `__GLOBAL__I__ZN11srec_arglex9get_inputEv'
lib/libsrecord.a(input.o)(.dtors+0x0):/cygdrive/c/avrdev/srecord/srecord-1.20/lib/srec/arglex/input.cc:78: 
undefined reference to `__GLOBAL__D__ZN11srec_arglex9get_inputEv'
lib/libsrecord.a(get_interval.o)(.ctors+0x0): In function 
`_ZN11srec_arglex18get_interval_innerEPKc':
/cygdrive/c/avrdev/srecord/srecord-1.20/lib/srec/arglex/get_interval.cc:31: 
undefined reference to 
`__GLOBAL__I__ZN11srec_arglex18get_interval_innerEPKc'
lib/libsrecord.a(get_interval.o)(.dtors+0x0):/cygdrive/c/avrdev/srecord/srecord-1.20/lib/srec/arglex/get_interval.cc:31: 
undefined reference to 
`__GLOBAL__D__ZN11srec_arglex18get_interval_innerEPKc'
collect2: ld returned 1 exit status
make: *** [bin/srec_cat] Error 1


The original author of SRecord was able to successfully build it on a 
Linux host, using the same compiler version, and I have a colleague who 
can build it on FreeBSD, using the same compiler version, with no 
problems either.

SRecord 1.20 (and all previous versions to 1.12) used to be able to 
compile with (Cygwin) GCC 2.95.x with no problems. Obviously, gcc-2 has 
been removed from the install tree, so that's not very feasible.

- Could this be a problem with the Cygwin port of GCC? Is it a known 
issue? Is there a workaround?

- Should I go ahead an open up a GCC bug report? (and move this 
discussion to GCC).

Thanks
Eric

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list