This is the mail archive of the cygwin mailing list for the Cygwin 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: Can't link TclMagick anymore


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@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@_03KBFG@Tcl?$AA@: symbol not found
Cannot export ??_C@_0DM@EBFE@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.


<snip>


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/


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