Discussion:
Installing GNUstep on Windows
Hank Grabowski
2003-12-04 04:29:31 UTC
Permalink
A combination of doing a bit of OSX development these past few weeks
and reading archived articles (with screenshots) of YellowBox has
gotten me riled up about doing *STEP development on Windows again.
Coincidentally there was a thread on this group about getting
development on track for the Windows port of GNUstep.

Deciding that some help is better than none, my low level Windows
programming level isn't very high, I decided to get my XP machine up
and running with the latest release of GNUstep. I'm hoping that
someone here can tell me what has gone wrong with my process, because
I'm at an impasse at the present time.

I'm following the directions at:
http://documents.made-it.com/GNUstep/buildguide.html

I started with downloading the current M-sys and MinGW from the MinGW
website. Following that I've followed every step to the best of my
ability. For example, steps that include a build step of running
"ldconfig" can't be executed in MinGW since there is no ldconfig.
Similarly I didn't build SSH (don't care about security on a box that
never sees the outside world) nor did I build Sound, since small
trying didn't get anything working.

Up through the building of the non-GNUstep stuff, everything seemed to
be going well. Once I started building the GNUstep stuff, things have
started going awry. GNUmake builds fine. However I'm not having much
success past the GNUstep base step. First of all, the automatic
configuration couldn't find the ffcall libraries. I adjusted the
LD_LIBRARY_PATH to point to my /usr/local/lib directory (where the
ffcall stuff is) and I set the ffcall flags on the configuration
script. This got base to build pretty well (warning messages on
certain things et cetera). However I can't complete the post install
phase of the base install.

Everytime I try and execute the defaults command I get the system
message: "This application has requested the Runtime to terminate it
in an unusual way. Please contact the application's support team for
more information. objc runtime: cannot find class NSAutoreleasePool.

I thought perhaps that it may have something to do with the
initialization script hadn't run yet (even though I started the build
in a new terminal window after adding the shell commands to my
.profile file). So I brought everything down and back up and tried
again. I get the same error. Trying to build GUI causes a failure in
the same manner.

I did some investigation, which may shed some light on this situation
for those who are up to their elbows in this stuff. First of all base
built NSAutoreleasePool without any warnings. The header file is in
the /GNUstep/System/Library/Headers/Foundation directory. The library
created by the base build scripts was put in
/GNUstep/System/Library/Libraries and is called libgnustep-base.a.
That directory is in the LD_LIBRARY_PATH environment variable.
Looking in the library itself, the symbol
___objc_class_name_NSAutoreleasePool is found. Therefore the class is
in the library, and the library is in the library search path. I'm
therefore perplexed as to why this is the source of the error.

Looking at GNUstep.sh, for the first time, I tried to see if there was
anything off in that file. The only thing that struck me as odd was
an attempt to run a script called make_services. I can find no such
file installed anywhere on my system. I have searched for any file
name "make_*" and have only found make_strings.exe. I have also
searched for the keyword "service" which only turns up several
service.make files.

Ironically, while looking for the make_services file, I found a .so
version of the gnustep-base library (in the System/Tools directory).
I added that too to the LD_LIBRARY_PATH but to no avail.

I'm very much looking forward to developing for the Windows port,
hopefully into something akin to an open source version of YellowBox.
I plan on taking the lessons learned here and creating a very detailed
install instruction like the one I'm following for UNIX systems.
Hopefully someone here can shed some light on what's going on.

Thanks in advance,
Hank
Adam Fedor
2003-12-04 05:03:37 UTC
Permalink
Post by Hank Grabowski
A combination of doing a bit of OSX development these past few weeks
and reading archived articles (with screenshots) of YellowBox has
gotten me riled up about doing *STEP development on Windows again.
Coincidentally there was a thread on this group about getting
development on track for the Windows port of GNUstep.
Deciding that some help is better than none, my low level Windows
programming level isn't very high, I decided to get my XP machine up
and running with the latest release of GNUstep. I'm hoping that
someone here can tell me what has gone wrong with my process, because
I'm at an impasse at the present time.
http://documents.made-it.com/GNUstep/buildguide.html
That guide really only works well on Unix systems. I'd read the
README.MinGW in the gnustep-make/Documentation directory for
instructions. Alternately, you can download and install the windows
installation program:

http://www.gnustep.org/resources/sources.html#windows

Which gets the basic stuff installed up to gnustep-base. Then checkout
the 'core' software from CVS and recompile everything again to get the
latest stuff*.

NOTE that savannah.gnu.org and subverions.gnu.org are down for a few
days, so you won't be able to do that :-(


I don't really understand the errors you got. Hopefully doing it this
way will fix that.
andre levy
2003-12-04 14:29:45 UTC
Permalink
Hello,

my company is using MinGW\GNUstep-base as the core of our application.
we're using GNUstep-base 1.3.4 and hoping to synchronize to a more
up-to-date version.

I've been trying 1.8.0 and had quit the same symptoms you are describing
now.
I solved it by re-installing gnustep-make with a different set of options.
explanation:

the first time, I tried ./configure --disable-flattened in gnustep-make
because the new standard is NOT to use directories like
'.../ix86/mingw32/gnu-gnu-gnu'

but when I did, I couldn't build gnustep-base afterward. I found that
the reason for this was that the libraries were looked for in:
.../gnu-gnu-gnu/ix86/mingw32 (looking at GNUstep.sh)

so i decided to try ./configure using flattened directories. the install
went fine. I realized at that time that I don't need the hairy option.
(If i want an install of the application for linux or freeBSD, i'm going
to distribute a version compiled for linux and another one compiled for
freebsd!)

however, try 'make -n' to see the paths that are used to compile your
gnustep-base.

Andre

Loading...