discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Trying to compile gdl2 in MinGW


From: David Ayers
Subject: Re: Trying to compile gdl2 in MinGW
Date: Thu, 31 Jan 2008 16:28:19 +0100
User-agent: Mozilla-Thunderbird 2.0.0.9 (X11/20080110)

Hello Tim,

Thanks for trying GDL2 and reporting you issues!

Tim Kack schrieb:

I have compiled and installed Postgresql 8.1 in MinGW to try to build GDL2.
I started from the recent windows installers to ensure that I have a
baseline.

The problem is that I cannot build EOControl clean:
First I hit something that could be a problem with GCC 3.4:
...
EODebug.m:345: warning: 'EOFLogDumpObject_' defined locally after being
referenced with dllimport linkage
 Compiling file EOPrivate.m ...
EOPrivate.m:109: warning: 'GDL2_EONull' defined locally after being
referenced with dllimport linkage
EOPrivate.m:114: warning: 'GDL2_PrivateInit' defined locally after being
referenced with dllimport linkage
....
Has one seen this?

Sorry, I haven't tried building on Windows yet. I believe it has been done before yet with a different version of -make and with a different project type.

I'm assuming this is supposed to be handled by the EOControl/EODefines.h declarations. But looking at -base and Renaissance I'm almost assume that the handling is superfluous. I was going to ask you to build Renaissance which I thought had the same project type (NATIVE_LIBRARY) but it seems I'm wrong.

Possibly I need to replace the header declarations with GDL2CONTROL_DECLARE and add GDL2CONTROL_EXPORT to the implementation files.

I also found this in the README.Cygwin of the -make package:
"2. Dynamic libraries mechanism is not so good. (Windows DLL). It does
not support several features (and this makes so hard to port some
software e.g. licq) And it has those ugly __declspec(dllexport) /
__declspec(dllimport) . But (Cygwin hackers are just cool!) in later
releases of binutils ld is capable to link wrongly declared exports!
This eliminates a lot of problems when dealing with DLLs (including
objc.dll and gnustep-*.dll)"

So it "might" work to #define GDL2CONTROL_EXPORT/GDL2CONTROL_DECLARE to either the same values as without DLL:
(i.e.:
#  define GDL2CONTROL_EXPORT extern
#  define GDL2CONTROL_DECLARE
)
unconditionally.  But I'm only taking pot shots here.

Second problem is a follow up on the first problem:

Linking library EOControl ...
obj/EOSortOrdering.o: In function `c_EOSortOrdering__initialize':
C:/GNUstep/home/tkack/dev-libs/gdl2/EOControl/EOSortOrdering.m:67: undefined
reference to `_imp__GDL2_PrivateInit'
obj/EOSortOrdering.o: In function `compareUsingSortOrderings':
C:/GNUstep/home/tkack/dev-libs/gdl2/EOControl/EOSortOrdering.m:209:
undefined reference to `_imp__GDL2_EONull'
C:/GNUstep/home/tkack/dev-libs/gdl2/EOControl/EOSortOrdering.m:210:
undefined reference to `_imp__GDL2_EONull'
...

Should I open up a bug on savannah?

Yes please! I'm not sure when I can setup a Qemu Windows Session to test this correctly.

Cheers,
David




reply via email to

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