This is the mail archive of the mailing list for the Insight project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Compiling the latest GDB on cygwin

----Original Message----
>From: Jingzhao Ou
>Sent: 16 August 2005 21:49

> Hi, Dave,
> I downloaded the following version of Insight from the ftp website:
> When I tried to compile the source in cygwin on a WinXP box, I got the
> following error message:

> tclWin32Dll.o: In function `TclpCheckStackSpace':
> /cygdrive/d/src/tcl/win/tclWin32Dll.c:364: undefined reference to
> `__except_checkstackspace_handler'
      [ ... snip several similar ... ]
> collect2: ld returned 1 exit status

> I changed tcl/win/Makefile and undefined "-DHAVE_NO_SEH=1". Then I got
> errors reporting that "__try" are undefined, etc. I commented out all
> the "__try" and "__except" and get tcl compiled without further
> complaints. 

  This is a known problem, but the solution isn't to change the HAVE_NO_SEH
flag.  The functions are being compiled but they're only referenced from asm
(...) statements and the optimiser thinks they're unused.  (The optimiser
has become more aggressive in more recent versions of gcc, which is why this
problem didn't show up before; it's only started happening recently because
cygwin went from a 3.3.x series compiler to a 3.4.x series compiler a few
months back).  It's fixed in CVS, or you could apply the patch at

> After that, I still encountered the following errors in the "gdb"
> directory: 
> libgdb.a(solib.o): In function `solib_address':
> /cygdrive/d/src/gdb/solib.c:771: multiple definition of `_solib_address'
> libgdb.a(win32-nat.o):/cygdrive/d/src/gdb/win32-nat.c:728: first defined
> here

  Ah, this is a new one on me too.  It seems that the win32 native version
of solib_address is now clashing with the generic version from solib.c; I
don't know why this shouldn't have always been the case, perhaps the
visibility of one of the symbols has changed recently, maybe it's a
side-effect of some of the multi-arch work.  ISTM that the correct thing to
do is use the win32 native version of the functions, which seems to override
the generic solib functionality with dll-related functionality.  Which makes

> I got lost here and don't know how I should proceed. Can any one kindly
> tell me what I am missing in the compilation process? I am only
> interested in using gdb to debug C/C++ code. I don't need the Java or
> Fortran stuffs if they are giving me trouble.

  You're doing fine so far.  Attached is my current patchset; this fixes
both problems and results in a working gdb, but I've not looked to
thoroughly at it for correctness.  Apply it to the snapshout you're working
with and have another go, and let me know if it works/doesn't work for you.

Can't think of a witty .sigline today....

Attachment: gdb-cygwin-patches.diff
Description: Binary data

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]