Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-Id: <199905041606.LAA06834@modi.xraylith.wisc.edu> X-Authentication-Warning: modi.xraylith.wisc.edu: localhost.xraylith.wisc.edu [127.0.0.1] didn't use HELO protocol To: Paul Thiessen cc: cygwin AT sourceware DOT cygnus DOT com Subject: Re: problem building tcl/tk 8.0.3 using egcs-1.1.2/msvcrt40 In-reply-to: Your message of "Tue, 04 May 1999 10:10:18 EDT." Date: Tue, 04 May 1999 11:06:16 -0500 From: Mumit Khan Paul Thiessen writes: > Hi. I'm using Mumit Khan's mingw32/egcs-1.1.2 with his msvcrt40-runtime > stuff installed. I'm trying to build tcl 8.0.3, with source patches again > provided by Mr. Khan, which compiles fine w/o the msvcrt40 update. I have > a couple of questions: > > 1) What's the advantage of using msvcrt? Should I bother with Q #2, or > is it not worth it? Depends on your application. MSVCRT has quite possibly better threading support than CRTDLL, and has bug fixes that CRTDLL may or may not have. However, for most part, CRTDLL works just as well as MSVCRT. Using MSVCRT has one advantage -- since most of the MS apps use MSVCRT, it's already loaded on the system, and CRTDLL apps need to load that as well. However, it's just a bit of extra RAM. The short answer is that it depends on what you need. I do just fine with CRTDLL. > 2) When I do the compile (using the provided Makefile.gnu), dllwrap gives > me errors of the sort: > > ./tclEnv.o(.text+0x365):tclEnv.c: undefined reference to > `__imp__environ_dll' > ./tclWinTime.o(.text+0x21):tclWinTime.c: undefined reference to > `__imp__timezone_dll' > ./tclWinTime.o(.text+0x4ad):tclWinTime.c: undefined reference to > `__imp__daylight_dll' > That means that either you have installed msvcrt runtime support correctly (as Earnie points out, you're not passing -D__MSVCRT__ correctly, which is done when you install the msvcrt runtime), or you didn't recompile all of tcl when you moved to msvcrt. The other reason may be that I didn't build it for msvcrt and didn't notice these problems. > Again, I have changed nothing from the working compile - haven't touched > the tcl tree at all, but only unpacked the egcs-1.1.2-msvcrt40-runtime.zip > file into my egcs tree, removed the old tcl*.dll, and re-ran make. > Is there some way to fix this? I'm not nearly expert enough to track > down just where these symbols are coming from, but if someone could give > me some brief advice, perhaps I'll attempt it in order to better learn > how all this works - I'm new to mingw32 and the whole process of building > DLL's, so this might be educational... :) I'd just like to know where to > start looking. Remove all the .o, .a etc files as well. MSVCRT support requires that everything be recompiled, not just relinked. Regards, Mumit -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com