discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Building frameworks on GNUstep Windows


From: Alex Perez
Subject: Re: Building frameworks on GNUstep Windows
Date: Tue, 15 Feb 2005 12:59:14 -0800
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

Andreas Höschler wrote:
Hello all,

we have installed GNUstep base on Windows using the the binary installer (good work) and even managed to build gui. However, we encounter problems while porting our frameworks to windows. Building any framework gives us

...
SRManager.m: undefined reference to '__objc_class_name_NSString'
SRManager.m: undefined reference to '__objc_class_name_NSData'
SRManager.m: undefined reference to '__objc_class_name_NSArray'
C:\GNUstep\Development\msys\1.0\mingw\bin\dllwrap.exe: no export definition file provided.
Creating one. This might not what you want.

Any idea what this means and how this can be fixed?

The short answer: This is a limitation/bug of/in GNUstep-make and needs to be fixed. If you explicitly tell the framework to link against GNUstep-base, it will compile, BUT.....the problem is a lot more complex than you may realize..

I recently ran across this myself. Frameworks under Windows are basically completely broken. Frameworks absolutely rely on symbolic links, which in turn relies on a filesystem which supports them (as well as userland tools which support the creation of real symbolic links). Now, NTFS didn't even support symbolic links until Windows XP (version 5.1), and NTFS only had fetal hard-link support in Win2K. Currently, the mingw32 userland tools (and maybe the cygwin ones, but I don't know for sure) don't work the same. Since even with Windows XP, one cannot guarantee that the machine is using NTFS (XP, and possibly 2K, runs fine under FAT32, which has *ZERO* support for symbolic links), mingw32's 'ln -s' actually just performs a copy operation. This is very dirty and wrong, but it's the only safe way of dealing with the problem.

 The same makefile
works great on Linux and Solaris. Has anybody ever managed to build a framework under GNUstep windows?

It works, but as I stated above, you have to have duplicates of all your data, since symbolic links aren't something you can be sure of the existance of under XP or 2K. I've worked up a GNUstep-make patch which makes all frameworks build as libraries under win32. It's not in CVS yet. If you are interested in this patch and in the further makefile magic/changes required to make it work, let me know.

I hope you have found this informative, and if you've got any further questions, feel free to fire away...

Cheers,
Alex Perez





reply via email to

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