[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ 100105 ] MinGW foibles

From: nobody
Subject: [ 100105 ] MinGW foibles
Date: Thu, 09 Aug 2001 07:23:01 -0700

Support Request #100105, was updated on 2001-Aug-09 14:23
You can respond by visiting: 

Category: None
Status: Open
Priority: 5
Summary: MinGW foibles

By: rootdown
Date: 2001-Aug-09 14:23

Logged In: YES 
Browser: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

I just succeeded in compiling gnustep-base 1.0.2
with mingw 1.0.1 (released 2001-07-26) on top of 
and up-to-date cygwin (DLL 1.3.2). The README.MinGW
was excellent. I had a few head-scratchers along
the way, so I thought I would give some feedback 
on a few tweaks I had to perform to get the install 
to work correctly for me.

1) ffcall-1.8b for win32, great! Probably need to
   update the README to include installing this.
   Also, ffcall does not ./configure with mingw
   /bin in path, probably because of make:

  checking whether make sets $(MAKE)... eval: 1: 
Syntax error: Unterminated quoted string

   Maybe a mention of how to ./configure right.
   I just compiled/installed under cygwin.
   ffcall also changes the gnustep-base ./configure to
   ./configure --target=i386-mingw32 

2) Makefiles in gnustep-base have problems finding
   things because in some cases they are looking
   in "cygwin" directories. Example: link failures
   were traced to which_lib failing because Makefiles
   were looking in GNUstep/System/Makefiles/ix86/cygwin
   instead of .../ix86/mingw32
   My workaround was to:
   export GNUSTEP_HOST_OS=mingw32
   before running GNUSTEP/System/Makefiles/GNUstep.sh

3) Linking failed because of slight changes in objc.
   This caused NSThread.o and objc_objc-load.o to have
   two missing symbols (something _callback_ and

   Solution: download the gcc source that mingw32
   is currently using. Copy all *.[mhc] files from
   that libobjc into appropiate place in
   gnustep-objc-1.0.1 and recompile. Try to remake
   gnustep-objc as normal. Link will fail because
   of two (no longer?) needed symbols (eg:
   obj_thread_remove). Remove these two symbols
   from derived_src/libobjc.def. Recompile and
   reinstall this libobjc lib and dll.

4) Linking still fails because -lobjc is not found.
   (...mingw32\bin\ld.exe: cannot find -lobjc)

   This one confused me because the -L//directory
   was right there plain as day, and libobjc.a was
   in that directory. It was at the very end of the
   link directories. 

   Oh well, easy workaround: copy libobjc.a into 
   mingw/lib/. and make a mental note to keep
   that copy up to date.

These notes are an overview. If you want more
information on any of these, just email and
I can provide additional info.

Again, great work on the MinGW port thus far. 
Hopefully these notes will help future distros.


You can respond by visiting: 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]