X-Spam-Check-By: sourceware.org Message-ID: <44D9005D.7060603@cygwin.com> Date: Tue, 08 Aug 2006 17:21:33 -0400 From: "Larry Hall (Cygwin)" Reply-To: cygwin AT cygwin DOT com User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20060112 Fedora/1.5-1.fc4.remi Thunderbird/1.5 Mnenhy/0.7.4.0 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Can't link TclMagick anymore References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Problems with the -mno-cygwin switch typically put you in the MingW camp (www.mingw.org). You should consult their list/archives. See below. Dave Bodenstab wrote: > Within the last two months I used to be able to link a .dll using the > -mno-cygwin switch. Today it fails with the error messages below. > I know this is pretty vague, but if I can figure out >why< it > is now broken, I am hoping I can fix it. > > This *used* to work -- I used to get a .dll that worked fine with > ActiveState's Tcl: > > gcc -c -mno-cygwin ... TclMagick.c (the compile still works) > > gcc -v -mno-cygwin -shared -L'/cygdrive/c/Program Files/Tcl'/lib > -L'/cygdrive/c/Program Files/ImageMagick/lib' -L'/cygdrive/c/Program > Files/ImageMagick' -o libTclMagick.dll TclMagick.o -ltclstub84 > -lCORE_RL_wand_ -lCORE_RL_magick_ > > Now I get: > Reading specs from /usr/lib/gcc/i686-pc-mingw32/3.4.4/specs > Configured with: /gcc/gcc-3.4.4/gcc-3.4.4-1/configure --verbose > --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib > --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info > --enable-languages=c,ada,c++,d,f77,java,objc --enable-nls > --without-included-gettext --enable-version-specific-runtime-libs > --without-x --enable-libgcj --disable-java-awt --with-system-zlib > --enable-interpreter --disable-libgcj-debug --enable-threads=posix > --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptions > --enable-hash-synchronization --enable-libstdcxx-debug : (reconfigured) > Thread model: posix > gcc version 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125) > /usr/lib/gcc/i686-pc-mingw32/3.4.4/collect2.exe --shared -Bdynamic -e > _DllMainCRTStartup AT 12 -o libTclMagick.dll > /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/lib/dllcrt2.o > -L/cygdrive/c/Program Files/Tcl/lib -L/cygdrive/c/Program > Files/ImageMagick/lib -L/cygdrive/c/Program Files/ImageMagick > -L/usr/lib/gcc/i686-pc-mingw32/3.4.4 > -L/usr/lib/gcc/i686-pc-mingw32/3.4.4 > -L/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/lib > -L/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../.. TclMagick.o -ltclstub84 > -lCORE_RL_wand_ -lCORE_RL_magick_ -lmingw32 -lgcc -lmoldname -lmingwex > -lmsvcrt -lmingw32 -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 > -lgcc -lmoldname -lmingwex -lmsvcrt > Warning: .drectve `-defaultlib:MSVCRT ' unrecognized > Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ These warnings seem strange. Looks allot like MS stuff but maybe it's alright. I'd recommend verifying it though. > Cannot export ??_C AT _03KBFG@Tcl?$AA@: symbol not found > Cannot export ??_C AT _0DM@EBFE AT This?5interpreter?5does?5not?5suppor@: > symbol not found > Cannot export ^?CORE_RL_magick__NULL_THUNK_DATA: symbol not found > Cannot export ^?CORE_RL_wand__NULL_THUNK_DATA: symbol not found You should be able to find these symbols to verify their authenticity (or not), right? > collect2: ld returned 1 exit status > > > > I'm trying to figure out what has changed so I can fix it. > > + Tcl has >not< been changed (ActiveState 8.4.13.0) > + ImageMagick has >not< been changed (6.2.7 Q16) > > I've kept my Cygwin installation current, but for this problem > > + I've re-installed mingw runtime 3.9-2 > > Between the last time this worked, I've installed > > + gcc-g++ 3.4.4-1 (but I'm not compiling/linking C++) > + gcc-mingw-g++ 20050522-1 (but I'm not compiling/linking C++) > + binutils 20060709-1 > + xorg packages 6.8.99.901-1 > + cygwin 1.5.21-2 > + Open Watcom > + M$'s free Visual Express packages for C++, Basic & SQL server > - M$'s .net stuff (I think .net 2) was required > + M$'s platform SDK > + more stuff that I can't remember but I can't see where it would > impact Cygwin > > I don't think that these orher installations are relevant -- > Cygwin's gcc does not reference this stuff, right? What is > necessary is all included in the Cygwin packages, right? > > What is causing the linker error messages? Has some other Cygwin > package (that I've installed) changed in the last two months that > could cause this? > > 'cygcheck -s -v -r' output attached. > INCLUDE = 'F:\WATCOM\H;F:\WATCOM\H\NT' I'd recommend removing this from your Cygwin environment as well. -- Larry Hall http://www.rfk.com RFK Partners, Inc. (508) 893-9779 - RFK Office 216 Dalton Rd. (508) 893-9889 - FAX Holliston, MA 01746 -- 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/