[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Error building GNUstep-base on Windows XP/cygwin
From: |
Lars Sonchocky-Helldorf |
Subject: |
Re: Error building GNUstep-base on Windows XP/cygwin |
Date: |
Wed, 16 Mar 2005 17:59:39 +0100 |
Replying to myself, but I've found something out
Lars Sonchocky-Helldorf <Lars.Sonchocky-Helldorf@interone.de> wrote on
15.03.2005 23:31:46:
> I ain't got my bugreporter login handy (I am at work, this is where the
> Windows is) so I decided to send a mail to the list. Sorry.
>
> uname -a:
>
> CYGWIN_NT-5.1 HAM-LHELLDOR 1.5.13(0.122/4/2) 2005-03-01 11:01 i686
unknown
> unknown Cygwin
>
> gcc -v:
>
> Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.1/specs
> Configured with: /gcc/3.4/gcc-3.4.1-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++,f77,java,objc --enable-nls
> --without-included-gettext --enable-libgcj --with-system-zlib
> --enable-interpreter --enable-threads=posix --enable-java-gc=boehm
> --enable-sjlj-exceptions --disable-version-specific-runtime-libs
> --disable-win32-registry
> Thread model: posix
> gcc version 3.4.1 (cygming special)
>
>
> Compiling went fine so far, it's just linking that gives troubles.
>
> the first attempt ended like:
>
> cat ./Additions/subproject.def ./unix/subproject.def libgnustep-base.def
>
> dervided_src/libgnustep-base.inp
> dlltool: Error, duplicate EXPORT with originals:
> NSPortDidBecomeInvalidNotification
> make[2]: *** [derived_src/libgnustep-base.def] Error 1
> make[1]: *** [libgnustep-base.all.library.variables] Error 2
> make[1]: leaving directory `/install/gnustep/core/base/Source'
> make: *** [internal-all] Error 2
>
> a subsequent run yielded:
>
> Making all in Source...
> make[1]: Entering directory `/install/gnustep/core/base/Source'
> Making all in subprojects of library libgnustep-base...
> make[2]: Entering directory
`/install/gnustep/core/base/Source/Additions'
> Making all for subproject Additions...
> make[3]: Nothing to be done for `internal-subproject-all'.
> make[2]: Leaving directory `/install/gnustep/core/base/Source/Additions'
> make[2]: Entering directory `/install/gnustep/core/base/Source/unix'
> Making all for subproject unix...
> make[3]: Nothing to be done for `internal-subproject-all'.
> make[2]: Leaving directory `/install/gnustep/core/base/Source/unix'
> Making all for library libgnustep-base...
> Linking library libgnustep-base ...
> dlltool: Syntax error in def file ./derived_src/libgnustep-base.def:0
> dlltool: Syntax error in def file ./derived_src/libgnustep-base.def:0
> dlltool: Syntax error in def file derived_src/libgnustep-base.def:0
> Creating Info-gnustep.plist...
> make[1]: Leaving directory `/install/gnustep/core/base/Source'
> Making all in SSL...
> make[1]: Entering directory `/install/gnustep/core/base/SSL'
> Making all for bundle SSL...
> Creating SSL.bundle/....
> Compiling file GSSSLHandle.m ...
obviously GSSSLHandle.m has not been ported to cygwin. I see there only
stuff like:
#ifdef __MINGW32__
#ifndef __MINGW__
#define __MINGW__
and:
#if defined(__MINGW__)
#include <winsock2.h>
but no occurence of any CYGWIN so far.
btw. what would be the right String on cygwin? __CYGWIN__?
Also the GNUstep-make package seems to miss definitions for cygwin. In
core/make/user_home.c there are just things like:
#ifdef __MINGW32__
#ifndef __MINGW__
#define __MINGW__
#endif
#ifndef __WIN32__
#define __WIN32__
#endif
#endif
and:
#if defined(__MINGW__)
# include <windows.h>
#endif
and so on but again no occurence of any cygwin stuff anywhere.
Anyway, i got around *this* stuff for now by pasing the '--disable-openssl
' to configure, but the failure on the first try remained (so I had to
issue 'make' twice). The next failure was some autogsdoc.m stuff similar
to the GSSLHandle stuff below (undefined reference to `__imp__NSLog' and
so on). Seems like linking libgnustep-base really failed.
> Linking bundle SSL ...
> dllwrap: no export definition file provided.
> Creating one, but that may not be what you want
> ./shared_obj/GSSSLHandle.o(.text+0x65):GSSSLHandle.m: undefined
reference
> to `__imp__GSLastErrorStr'
> ./shared_obj/GSSSLHandle.o(.text+0x692):GSSSLHandle.m: undefined
reference
> to `__imp__NSLog'
> ./shared_obj/GSSSLHandle.o(.text+0x6b9):GSSSLHandle.m: undefined
reference
> to `__imp__NSLog'
> ./shared_obj/GSSSLHandle.o(.text+0xa22):GSSSLHandle.m: undefined
reference
> to `__imp__NSLog'
> ./shared_obj/GSSSLHandle.o(.text+0xa49):GSSSLHandle.m: undefined
reference
> to `__imp__NSLog'
> ./shared_obj/GSSSLHandle.o(.text+0xb89):GSSSLHandle.m: undefined
reference
> to `__imp__NSLog'
> ./shared_obj/GSSSLHandle.o(.text+0xbfb):GSSSLHandle.m: more undefined
> references to `__imp__NSLog' follow
> ./shared_obj/GSSSLHandle.o(.data+0x35c):GSSSLHandle.m: undefined
reference
> to `___objc_class_name_NSConstantString'
> ./shared_obj/GSSSLHandle.o(.data+0x360):GSSSLHandle.m: undefined
reference
> to `___objc_class_name_NSString'
> ./shared_obj/GSSSLHandle.o(.data+0x368):GSSSLHandle.m: undefined
reference
> to `___objc_class_name_NSFileManager'
> ./shared_obj/GSSSLHandle.o(.data+0x36c):GSSSLHandle.m: undefined
reference
> to `___objc_class_name_NSProcessInfo'
> ./shared_obj/GSSSLHandle.o(.data+0x370):GSSSLHandle.m: undefined
reference
> to `___objc_class_name_NSRunLoop'
> ./shared_obj/GSSSLHandle.o(.data+0x374):GSSSLHandle.m: undefined
reference
> to `___objc_class_name_NSDate'
> ./shared_obj/GSSSLHandle.o(.data+0x378):GSSSLHandle.m: undefined
reference
> to `___objc_class_name_GSFileHandle'
> collect2: ld returned 1 exit status
> dllwrap: gcc exited with status 1
> make[2]: *** [SSL.bundle/./SSL.dll] Error 1
> make[1]: *** [SSL.all.bundle.variables] Error 2
> make[1]: Leaving directory `/install/gnustep/core/base/SSL'
> make: *** [internal-all] Error 2
>
>
> regards, Lars
greets, Lars
P.S.: Why do I use cygwin? It comes with all the required packages
available in an relatively simple GUI installer (and one day GNUstep
itself could be made into such a package)