discuss-gnustep
[Top][All Lists]
Advanced

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

Re: new attempt GNUstep on cygwin


From: Riccardo Mottola
Subject: Re: new attempt GNUstep on cygwin
Date: Wed, 06 Jul 2011 23:16:36 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14

Hi,

Cygwin
======
We used the gcc4 packages (gcc 4.3.4) as the standard gcc packages have
a broken libffi (even when you add all the scattered pieces you will
need for that).
correct. Both libffi and ffcall ship without all necessary devel headers. My suggestion is to remove them both, remove all gcc-* packages and then install the desired gcc4-* packages which come with libffi already.


As noted earlier it is crucial that you don't have spaces in the paths
used by Cygwin. We just created a new home directory and redefined the
HOME environment variable.
Exactly, the problem is that cygwin uses your fullname and not your username (which I set without spaces to begin with)


Base
====
We had problem with the default locale on Cygwin. It has LANG set to
"C.UTF-8", this isn't supported in the GSLanguageFromLocale() function
in base, which obviously is a bug. It is easy to work around this by
setting LANG to "C".
that is a bug indeed. The stack trace will be:
#0 -[NSException raise] (self=0x5b5140, _cmd=0x678ff828) at NSException.m:955
#1  0x677a8421 in +[NSException raise:format:] (self=0x678ff4c0,
_cmd=0x678e2860, name=0x678ff9cc, format=0x678e2a18) at NSException.m:835
#2  0x67730549 in -[GSCString substringFromRange:] (self=0x5b4f08,
    _cmd=0x678d42c8, aRange={location = 0, length = 2}) at GSString.m:3252
#3  0x677012f4 in GSLanguageFromLocale (locale=0x5b7440) at GSLocale.m:270
#4  0x67876eb0 in newLanguages (oldNames=0x0) at NSUserDefaults.m:198
#5  0x6787750a in +[NSUserDefaults standardUserDefaults] (self=0x679432a0,
    _cmd=0x678e98c8) at NSUserDefaults.m:650
#6 0x67751dbc in +[NSBundle _bundleResourcePathsWithRootPath:subPath:localizati
on:] (self=0x678e8d80, _cmd=0x678e98d8, rootPath=0x589d38, subPath=0x0,
    localization=0x0) at NSBundle.m:1737
#7 0x67750c22 in +[NSBundle _pathForResource:ofType:inRootPath:inDirectory:]
    (self=0x678e8d80, _cmd=0x678e98e0, name=0x678e9b98, ext=0x678e9b8c,
    rootPath=0x589d38, subPath=0x0) at NSBundle.m:1795
#8  0x677510dc in -[NSBundle pathForResource:ofType:inDirectory:] (
    self=0x588d30, _cmd=0x678e9778, name=0x678e9b98, ext=0x678e9b8c,
    subPath=0x0) at NSBundle.m:1872
#9  0x6775062d in -[NSBundle pathForResource:ofType:] (self=0x588d30,
    _cmd=0x678e9990, name=0x678e9b98, ext=0x678e9b8c) at NSBundle.m:1853
#10 0x67751ae3 in -[NSBundle infoDictionary] (self=0x588d30, _cmd=0x678e9898)
    at NSBundle.m:2381


Gui
===
We have some hack in NSBitmapImageRep+JPEG.m that was added specifically
for Cygwin at some point in time but now breaks the compilation. We need
to find out whether that modified JPEG library is still in circulation.
If not we can just remove this code otherwise we need to add a configure
check for this special JPEG library.

yep, as a test we just commented it our right now.

Back
====
you need to run configure --enable-server=win32 if you want the native
display and why wouldn't you want that?
You might want to use X11. Both sould be possible indeed, but we are not yet as far as that.

The compilation of gscolors.c failed for me. Strange enough it worked
when done manually, but without the -o switch. Most likely this is a gcc
bug and this was the place where I found out about the strange
extensions and directory names.
winpbs.m has a missing #include, we need to add this.

Execution
=========
We tried to run all the test code in base and gui. For some reason the
test environment wont detect test cases that just break with a
segmentation fault, that way it is hard to say how much of the tests
actually run correctly. In base teh NSRunLoop test never returned, we
had to kill it.
Simple command line tools seem to run, as they already get used when
compiling gui and back.
Any real gui application and more complex tools seem to segmentation
fault rather early. The computer with the backtrace is a few hundred
kilometres away, Riccardo will have to provide the exact backtrace, but
it wasn't very helpfull.

I just tired now and I get this:

Program received signal SIGSEGV, Segmentation fault.
0x6ee50241 in ?? ()
from \\?\C:\cygwin\System\Library\Bundles\libgnustep-back-021.bundle\libgnust
ep-back-021.dll
(gdb) bt
#0  0x6ee50241 in ?? ()
from \\?\C:\cygwin\System\Library\Bundles\libgnustep-back-021.bundle\libgnust
ep-back-021.dll
#1  0x00605e28 in ?? ()
#2  0x67966870 in _OBJC_SELECTOR_TABLE ()
   from C:\cygwin\System\Tools\cyggnustep-base-1_23.dll
#3  0x00002020 in ?? ()
#4  0x005fd148 in ?? ()
#5  0x00000000 in ?? ()

is that what you got or were you able to tweak it further?

I think the next step should be to recompile our own libobjc as most
likely this is the source of the problem. We didn't have the time for
this on the weekend and it is unclear at what time any of us will touch
Cygwin again.

As soon as I have enough time, I'll report about that.

R



reply via email to

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