\input texinfo @c -*-texinfo-*- @setfilename machines.info @settitle Platform Compatibility @ifclear HOWTO @c Machine Specific, Compilers, , (DIR) @node Machine Specific, Compilers, , (DIR) @chapter Machines @end ifclear Below is a list of machines that people have attempted to compile GNUstep on. GNUstep compiles with little or no trouble on many of the more popular operating systems. Some machines marked with @emph{Unstable} may have some trouble or may not work at all. Platforms marked @emph{Needs Testing} are not actively tested by developers and need someone to help with reporting problems and fixes. Platforms marked @emph{Obsolete} are very old distributions. No one really knows if GNUstep works on these although they may. If you have compiled GNUstep on a specific machine, please send information about what you needed and any special instructions needed to GNUstep @email{bug-gnustep@@gnu.org}. @menu * Compilers:: * CentOS/i386:: * Darwin/ix86:: * Darwin/PowerPC:: * Debian/Alpha:: * Debian/i386:: * Debian/em64t:: * Debian/PowerPC:: * Debian/SPARC:: * FedoraCore/i386:: * FreeBSD 5.x:: * FreeBSD 4.x:: * FreeBSD 3.x:: * FreeBSD 2.x:: * Gentoo/i686:: * Gentoo/PPC:: * Gentoo/amd64:: * Gentoo/alpha:: * Gentoo/sparc:: * Irix 6.5/MIPS:: * MacOSX/PowerPC:: * MkLinux/PowerPC:: * NetBSD/i386:: * NetBSD/Sparc64:: * Netwinder:: * OpenBSD 3.x:: * OSF/Alpha:: * RedHat/i386:: * Slackware/Intel:: * Slackware/Sparc:: * Solaris 2.5.1/Sparc:: * Solaris/Sparc:: * Solaris 2.7/Intel:: * Suse 6.x/Intel:: * Suse/Intel:: * Suse 7.x/PPC:: * Unixware-2.1.3/Intel:: * Windows with CYGWIN:: * Windows with MinGW:: * Yellowdog/PowerPC:: @end menu @c ----------------------------------------- @node Compilers, CentOS/i386, Machine Specific, Machine Specific @section Compilers A recommended compiler is listed for each machine, if known. You should try to use the recommended compiler for compiling GNUstep, as GNUstep is quite complex and tends provoke a lot of errors in some compilers. Even versions newer than the listed compiler may not work, so don't just get the latest version of a compiler expecting it to be better than previous versions. Compiler notes: If a recommended compiler is not listed, take note of the following information before choosing the compiler you use. @table @var @item egcs or gcc < 2.95 Most likely will not work and is not supported. @item gcc 2.95.x Support for this compiler is deprecated as of Aug 2006. Mostly likely it will work in the near future and bug fixes will be accepted, but any bugs are considered non-critical. @item gcc 2.96 Not an official gcc release. Some versions (Redhat, Mandrake) have problems that prevent GNUstep from being compiled correctly and cause mysterious errors. Not supported. @item gcc 3.0.x A fairly good compiler. @item gcc 3.1 Several bugs where introduced in the version. It's probably better to avoid this one, although it might work fine. @item gcc 3.2.x Pretty good. @item gcc 3.3.x Recommended. Fixes some bugs relating to protocols as well as other improvements. @item gcc 3.4.x Recommended. The #import directive is no longer deprecated as of this version of the compiler. @item gcc 4.0 Probably OK. Did start triggering compiler errors on parts of base, but there has been a workaround in base for that. Does not work on MacOSX. @item gcc 4.0.1 Probably OK. This version should work on MacOSX. @item gcc 4.1.x 4.1.0 and 4.1.1 don't work if you use precompiled headers. @end table If your having mysterious trouble with a machine, try compiling GNUstep without optimization. Particularly in the newer GCC compilers, optimization can break some code. The easiest way to do this is when configuring, @kbd{CFLAGS="" ./configure}. Or when building, @kbd{make OPTFLAG=""}. Also if you manually upgraded gcc and/or make, we recommend reading the documentation at @url{http://www.LinuxFromScratch.org} for tips on compiling and installing gcc and make. If you had GNUstep previously installed, make sure you completely remove all of it, including installed init scripts. Support Notes: @table @var @item Supported Regularly used and tested by developers @item Release Tested before a release @item Unsupported Not regularly used or tested @item Unstable Has problems either building or running GNUstep or requires special setp procedures to run correctly. @end table @c ----------------------------------------- @node CentOS/i386, Darwin/ix86, Compilers, Machine Specific @section CentOS/ix86 (@emph{Supported}) This RedHat variant is well-tested and well-supported (tested at least up to CentOS release 4.4). For more information, please check the section on RedHat/i386 below. @c ----------------------------------------- @node Darwin/ix86, Darwin/PowerPC, CentOS/i386, Machine Specific @section Darwin/ix86 (@emph{Unsupported}) Currently tested on Darwin 7.x @table @var @item Recommended compiler gcc 3.3.2 or greater 3.3.* versions. Older versions will not compile on Darwin and 3.4.* versions don't support GNU runtime compilation on Darwin currently (The GCC bug report is http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11572). Default compiler (Apple GCC) has unknown problems. Download the FSF GCC compiler and configure it with -enable-threads=posix. You don't need binutils or anything else. Use the GNU runtime. Make sure to add @example export CC=/usr/local/bin/gcc (use the correct path to FSF gcc) @end example so that the correct compiler is found @item Extra libs needed Use ffcall because libffi hasn't been ported to Darwin x86. @item Special Instructions Read the @url{README.Darwin} file in the gnustep-make/Documentation directory for complete instructions. @end table @c ----------------------------------------- @node Darwin/PowerPC, Debian/Alpha, Darwin/ix86, Machine Specific @section Darwin/PowerPC (@emph{Supported}) This section is for building the complete GNUstep system. This system will not interact at all with Mac OS X/Cocoa. It uses different complilers, different display systems, etc. For building GNUstep extensions to be used with Mac OS X (for instance, if you want to build something based on GNUstep, such as GSWeb or GNUMail), see the MacOSX/PowerPC section. Currently tested on Darwin 6.x, 7.x, 8.x @table @var @item Recommended compiler FSF gcc 4.x, gcc 3.3.2 or greater 3.3.* versions. Older versions will not compile on Darwin and 3.4.* versions don't support GNU runtime compilation on Darwin currently (The GCC bug report is http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11572). Apple gcc with Mac OS X 10.4 or later and XCode 2.5 or later @item Extra libs needed Use libffi (not ffcall). This should be enabled by default in gnustep-base so you don't have to type --enable-libffi. For 6.x, you need the dlcompat library (from @url{www.opendarwin.org}) to load bundles (not needed for 7.x or later). libjpeg that comes with fink conflicts with the Apple libraries and screw up other apps on Mac OSX (like X11). @item Special Instructions Read the @url{README.Darwin} file in the gnustep-make/Documentation directory for complete instructions. If you compiled FSF gcc by hand, make sure to rename to GNU libobjc library to libobjc-gnu.dylib @end table See also the MacOSX/PowerPC section @c ----------------------------------------- @node Debian/Alpha, Debian/i386, Darwin/PowerPC, Machine Specific @section Debian/Alpha (@emph{Unsupported}) @c ----------------------------------------- @node Debian/i386, Debian/em64t, Debian/Alpha, Machine Specific @section Debian/i386 (@emph{Supported}) Tested on sid. @c ----------------------------------------- @node Debian/em64t, Debian/PowerPC, Debian/i386, Machine Specific @section Debian/em64t (@emph{Supported}) Tested on 'unstable'. @c ----------------------------------------- @node Debian/PowerPC, Debian/SPARC, Debian/em64t, Machine Specific @section Debian/PowerPC (@emph{Supported}) Tested on sid. @c ----------------------------------------- @node Debian/SPARC, FedoraCore/i386, Debian/PowerPC, Machine Specific @section Debian/SPARC (@emph{Release}) Tested on sid. @c ----------------------------------------- @node FedoraCore/i386, FreeBSD 5.x, Debian/SPARC, Machine Specific @section FedoraCore/ix86 (@emph{Supported}) This RedHat variant is well-tested and well-supported (tested at least up to Fedora Core release 6). For more information, please check the section on RedHat/i386 below. @c ----------------------------------------- @node FreeBSD 5.x, FreeBSD 4.x, FedoraCore/i386, Machine Specific @section FreeBSD 5.x (@emph{Supported}) Tested on 5.0, 5.1, 5.3 @table @var @item Special Instructions Can install via /usr/ports/devel/gnustep, but not all required dependancies are installed. See the GNUstep-HOWTO for list of libraries. For 5.3, there is a bug in libkvm that requires that /proc be mounted. Use 'mount_procfs proc /proc' or see the procfs man page. @end table @c ----------------------------------------- @node FreeBSD 4.x, FreeBSD 3.x, FreeBSD 5.x, Machine Specific @section FreeBSD 4.x (@emph{Unsupported}) @table @var @item Special Instructions For gcc 3.0.4, make WANT_THREADS_SUPPORT=YES For libxml2 2.4.24, make WITHOUT_PYTHON=YES @end table @c ----------------------------------------- @node FreeBSD 3.x, FreeBSD 2.x, FreeBSD 4.x, Machine Specific @section FreeBSD 3.x (@emph{Obsolete}) Compiles "out of the box" on FreeBSD 3.4. @table @var @item Special Instructions You need to use gmake not make to compile the GNUstep packages. A special port of gdb can be used with the Objective-C patches from @url{ftp://ftp.pcnet.com/users/eischen/FreeBSD/gdb-4.17-port.tar.gz} The best compiler for GNUstep is the latest release of the GNU Compiler Collection (GCC). You can find it at @url{http://egcs.cygnus.com/}. If you want to use the native POSIX threads support from @file{libc_r} pass @code{--enable-threads=posix} to configure. This is the recommended option as this is the FreeBSD threads package that gives the best results --with others you may be unable to run some examples like @file{diningPhilosophers}. The whole compilation process can fail if you have another threads library installed so watch out for installed packages like @file{pth} and such. Besides the support for libc_r, GNUstep will also look for @file{pth} and @file{pcthreads}, so if you have installed them and they aren't detected prepare to write a nice bug report. This can be done more much easily by using the port version. Just @code{cd} to @file{/usr/ports/lang/egcs} and do a @code{"make WANT_THREADS=yes install"}. Easy. If configure cannot find tiff.h or the tiff library and you have it installed in a non-standard place (even @file{/usr/local}), you may need to pass these flags to configure: @code{CFLAGS="-I/usr/local/include"} and @code{LDFLAGS="-L/usr/local/lib"}. @end table @c ----------------------------------------- @node FreeBSD 2.x, Gentoo/i686, FreeBSD 3.x, Machine Specific @section FreeBSD 2.x (@emph{Obsolete,Unstable}) @table @var @item Special Instructions Only static libraries work on this system. Use /stand/sysinstall to install these packages if you have not already done so: @format gmake (GNU make) gcc 2.8.x @end format Seems to compile ok, but some tests crash. Possibly due to a performace 'hack' in base. Might be a good idea to upgrade to FreeBSD 3.x. You need to use gmake not make to compile the GNUstep packages. @end table @c ----------------------------------------- @node Gentoo/i686, Gentoo/PPC, FreeBSD 2.x, Machine Specific @section Gentoo/i686 (@emph{Supported}) @table @var @item Special Instructions libffi sometimes causes odd problems. Try to use ffcall. @end table @c ----------------------------------------- @node Gentoo/PPC, Gentoo/amd64, Gentoo/i686, Machine Specific @section Gentoo/PPC (@emph{Supported}) @c ----------------------------------------- @node Gentoo/amd64, Gentoo/alpha, Gentoo/PPC, Machine Specific @section Gentoo/amd64 (@emph{Unsupported}) 32-bit mode only? @c ----------------------------------------- @node Gentoo/alpha, Gentoo/sparc, Gentoo/amd64, Machine Specific @section Gentoo/alpha (@emph{Unsupported}) @c ----------------------------------------- @node Gentoo/sparc, Irix 6.5/MIPS, Gentoo/alpha, Machine Specific @section Gentoo/sparc (@emph{Unsupported}) @c ----------------------------------------- @node Irix 6.5/MIPS, MacOSX/PowerPC, Gentoo/sparc, Machine Specific @section Irix 6.5/MIPS (@emph{Unsupported}) @table @var @item Recommended compiler gcc 3.2.1 To use threads, it's necessary to bootstrap a compiler yourself: configure with --enable-threads=posix, that will work as long as you link EVERY objective C executable with -lpthread, no matter what warnings the irix linker produces! @item Extra libs needed Unknown @item Special Instructions If you cannot link the library because of the very low default limit (20480) for the command line length, then you should either use systune ncargs to increase the value (maximum is 262144) or link the library by hand. No libffi-support: Use ffcall @end table @c ----------------------------------------- @node MacOSX/PowerPC, MkLinux/PowerPC, Irix 6.5/MIPS, Machine Specific @section MacOSX/PowerPC (@emph{Release}) This section is for building the GNUstep extensions only. Use this if, for instance, if you want to build something based on GNUstep, such as GSWeb or GNUMail. If you want to build the complete GNUstep system independant of Mac OS X, see the Darwin/PowerPC section. Currently tested on MacOSX 10.1.5, 10.2, 10.3 @table @var @item Recommended compiler Default. For 10.1.5, you need to add -no-cpp-precomp to CFLAGS (For instance, ./configure CFLAGS="-no-cpp-precomp" ...) @item Extra libs needed None. @item Special Instructions Warning ! To know how to install a complete GNUstep system on Mac OS X, read the Darwin/PowerPC section. By default, on Mac OS X, only the GNUstep extensions are built. Read the @url{README.Darwin} file in the gnustep-make/Documentation directory for complete instructions. To build the GNUstep extensions only is useful, when you want to build on Mac OS X, GNUstep related projects like gdl2, etc linked to Cocoa. Xcode project files exist, but they may not be up-to-date. Make sure /usr/sbin is in your path: @example PATH=$PATH:/usr/sbin @end example Then type: @example cd make ./configure --with-library-combo=apple-apple-apple make install . /usr/GNUstep/System/Library/Makefiles/GNUstep.sh cd ../base ./configure --with-xml-prefix=/usr --disable-xmltest make debug=yes install @end example On Mac OS X 10.1.5, there is no libxml. Either install libxml2 or configure base with --disable-xml. @end table See also the Darwin/PowerPC section. @c ----------------------------------------- @node MkLinux/PowerPC, NetBSD/i386, MacOSX/PowerPC, Machine Specific @section MkLinux/PowerPC (@emph{Unsupported}) Tested with R2 RC2 (2004/03/04). @c ----------------------------------------- @node NetBSD/i386, NetBSD/Sparc64, MkLinux/PowerPC, Machine Specific @section NetBSD/i386 (@emph{Release}) Tested on NetBSD 2.0.2 (2005/04/15) @table @var @item Recommended compiler Standard @item Extra libs needed libiconv(?), libffi @item Special Instructions Use NetBSD packages to install needed libraries. libffi either comes automatically with gcc or can be installed separately and works fine (over ffcall). @end table @c ----------------------------------------- @node NetBSD/Sparc64, Netwinder, NetBSD/i386, Machine Specific @section NetBSD/Sparc64 (@emph{Unstable}) Tested on NetBSD 2.0.2 (2005/04/15) @table @var @item Recommended compiler Standard @item Extra libs needed libiconv(?), libffi @item Special Instructions Use NetBSD packages to install needed libraries. libffi either comes automatically with gcc or can be installed separately and is prefered over ffcall which does not work on Sparc64 machines. @end table gdomap crashes. Perhaps other things do not work as well. @c ----------------------------------------- @node Netwinder, OpenBSD 3.x, NetBSD/Sparc64, Machine Specific @section Netwinder (@emph{Unstable}) @table @var @item Recommended compiler Build #12 of the system. @item Extra libs needed Unknown @item Special Instructions See @url{http://www.netwinder.org/~patrix} @end table @c ----------------------------------------- @node OpenBSD 3.x, OSF/Alpha, Netwinder, Machine Specific @section OpenBSD 3.9 (@emph{Unsupported}) Information for version 3.9 (2006/08/13) Ports at @url{http://mail.rochester.edu/~asveikau/gnustep-openbsd/} @c ----------------------------------------- @node OSF/Alpha, RedHat/i386, OpenBSD 3.x, Machine Specific @section OSF/Alpha (@emph{Needs Testing, Unstable}) @c Contact: suzukis@file.phys.tohoku.ac.jp Information is for Version 3.2C @table @var @item Recommended compiler Unknown @item Extra libs needed Unknown @item Special Instructions Can only compile with static libraries. Compiler may fail when linking executables (e.g. gdnc). Standard ranlib and ar programs are to feable to create libraries. Should use GNU binutils versions. Linker sometimes fails to find symbols, in which case you may need to link with a library twice. For instance, add an extra -lgnustep-gui in ADDTIONAL_TOOL_LIBS in the GNUmakefile(.preamble). @end table @c ----------------------------------------- @node RedHat/i386, Slackware/Intel, OSF/Alpha, Machine Specific @section RedHat/i386 (@emph{Supported}) RedHat and variants/clones such as Fedora Core and CentOS are all very well supported and are regularly tested with all GNUstep releases. @table @var @item Recommended compiler The default compiler works very well. @item Extra libs needed All extra libs needed are easily available from standard packages; the only tricky one is ffcall. If you don't find an RPM for that one, download it directly from the GNUstep web site (http://www.gnustep.org). @item Special Instructions None. @end table @c ----------------------------------------- @node Slackware/Intel, Slackware/Sparc, RedHat/i386, Machine Specific @section Slackware/Intel (@emph{Unsupported}) @c ----------------------------------------- @node Slackware/Sparc, Solaris 2.5.1/Sparc, Slackware/Intel, Machine Specific @section Slackware/Sparc (Splack) (@emph{Unsupported}) Tested with Spalck 8.0 (2005/03/01) @table @var @item Recommended compiler gcc 3.2, no extra options. @item Extra libs needed Unknown. @item Special Instructions Tested on an ultra sparc server, kernel 2.4.27, XF86-4.0.3 @end table @c ----------------------------------------- @node Solaris 2.5.1/Sparc, Solaris/Sparc, Slackware/Sparc, Machine Specific @section Solaris 2.5.1/Sparc (@emph{Obsolete}) This configuration is no longer being tested, but it may still work. @table @var @item Recommended compiler Unknown @item Extra libs needed tiff, Don't use the one in /usr/openwin @item Special Instructions See the Solaris 2.6 section for more instructions. @end table @c ----------------------------------------- @node Solaris/Sparc, Solaris 2.7/Intel, Solaris 2.5.1/Sparc, Machine Specific @section Solaris 2.[678]/Sparc (@emph{Supported}) Tested on Solaris version 6, 7, 8 and 9 @table @var @item Recommended compiler gcc 3.2.1 or greater gcc 3.04. Not 3.1 - does not compile parts of GNUstep. @item Extra libs needed tiff, Don't use the one in /usr/openwin @item Special Instructions Using a POSIX shell (zsh or bash, which should come with Solaris) is highly recommended. In fact, some functions, such as compiling frameworks, will not work without it. @end table Some people have reported problems when using binutils assembler and linker. Using the native Solaris assmebler and linker should work fine. Older Instructions: If you are using threads, make sure the Objective-C runtime (libobjc that comes with gcc) is compiled with threads enabled (This is true by default) AND that it is compiled with the _REENTRANT flag defined (This does not seem to be true by default). Or use the gnustep-objc package. Also make sure THREADS is set to 'posix' not 'solaris'. @c ----------------------------------------- @node Solaris 2.7/Intel, Suse 6.x/Intel, Solaris/Sparc, Machine Specific @section Solaris 2.7/Intel (@emph{Unsupported}) @c Contact?: Sebastian Niesen @table @var @item Recommended compiler Unknown. @item Extra libs needed Unknown @item Special Instructions Make sure there are no -g compiler flags (i.e. compiling with debug=yes might be a problem). Unsure of correct bundle flags - You might need to use the alternate flags listed in target.make, line 989. Also, configuring gnustep-make with @option{--disable-backend-bundle} might be necessary if you can't get bundles to work. You will probable get a lot of text relocation warnings, which probably can be ignored. See the other Solaris instructions above for more information. @end table @c ----------------------------------------- @node Suse 6.x/Intel, Suse/Intel, Solaris 2.7/Intel, Machine Specific @section Suse 6.x/Intel (@emph{Obsolete}) GNUstep has been tested on version 6.2-6.4 of Suse @table @var @item Recommended compiler Standard @item Extra libs needed None @item Special Instructions It seems that there is a problem with the default kernel build distributed with Suse which means that the socket binding used by gdnc doesn't work. If you recompile the kernel then it starts working. @end table @c ----------------------------------------- @node Suse/Intel, Suse 7.x/PPC, Suse 6.x/Intel, Machine Specific @section Suse/Intel (@emph{Supported}) GNUstep has been tested on version 7.0, 8.0, 8.1, 8.2, 9.0, 9.1, 9.3, and 10.1 of Suse @table @var @item Recommended compiler The default compiler that comes with Susu is fine. Also gcc2.95.x, gcc3.0.x, 3.1 and 3.2 work, but 2.95 is faster. Compile with --threads-enabled (non-standard). @item Extra libs needed None @item Special Instructions Suse 10.1 does not work with the x11 backend. @end table @c ----------------------------------------- @node Suse 7.x/PPC, Unixware-2.1.3/Intel, Suse/Intel, Machine Specific @section Suse 7.x/PPC (@emph{Unsupported}) GNUstep has been tested on version 7.0 of Suse/PPC @table @var @item Recommended compiler Standard. gcc2.95.x, gcc3.0.x and gc3.1 work, but 2.95 is faster. Compile with --threads-enabled (non-standard). @item Extra libs needed None @item Special Instructions @end table @c ----------------------------------------- @node Unixware-2.1.3/Intel, Windows with CYGWIN, Suse 7.x/PPC, Machine Specific @section Unixware-2.1.3/Intel (@emph{Unsupported}) @c Contact?: Richard Frith-Macdonald @table @var @item Recommended compiler Unknown @item Extra libs needed Unknown @end table Special Instructions for GNUstep installation on Unixware 2.1 systems @table @asis @item 1 Tune the kernel to increase the argument space so that we can pass long command-line argument strings to processes (which the makefiles do) (/etc/conf/bin/idtune ARG_MAX 102400) @item 2 Install raft of the latest GNU software @format gzip (you need this to unpack other stuff) make (to build everything) m4 (for autoconf etc) autoconf (if you need to change anything) bison flex binutils (required by gcc if you want to debug) gcc-2.8.1 (configure --with-gnu-as --with-gnu-ld --with-stabs) NB. gcc-2.8.1 needs a fix to __do_global_dtors_aux() in crtstuff.c on Unixware 2.1.3 (and possibly other unixware versions) The fix is already in recent versions of egcs. @end format @example ================================== static void __do_global_dtors_aux () @{ static func_ptr *p = __DTOR_LIST__ + 1; static int completed = 0; if (completed) return; while (*p) @{ p++; (*(p-1)) (); @} #ifdef EH_FRAME_SECTION_ASM_OP __deregister_frame_info (__EH_FRAME_BEGIN__); #endif completed = 1; @} ====================================== @end example @item 3 Having got gcc working - it's probably a good idea to rebuild all your GNU software using it! @item 4 Build gstep as normal. @item 5 The SIOCGIFCONF ioctl sometimes doesn't work on unixware after applying some of the OS patches. So I have added a '-a' flag to gdomap to give it the name of a file containing IP address and netmask information for the network interfaces on the system. You need to set up a file (I suggest '/etc/gdomap_addresses') containing the information for your machine and modify your system startup files in /etc/rc?.d to run gdomap, telling it to use that file. eg. If your machine has an IP address of '193.111.111.2' and is on a class-C network, your /etc/gdomap_addresses file would contain the line @example 193.111.111.2 255.255.255.0 @end example and your startup file would contain the lines @example . /usr/local/GNUstep/Library/Makefiles/GNUstep.sh gdomap -a /etc/gdomap_addresses @end example @end table If you don't set gdomap up correctly, Distributed Objects will not work. @c ----------------------------------------- @node Windows with CYGWIN, Windows with MinGW, Unixware-2.1.3/Intel, Machine Specific @section Windows with CYGWIN (@emph{Unsupported}) @table @var @item Recommended compiler gcc 3.3.1 or later (with libobjc and libjava (if using libffi)) @item Extra libs needed Objective-C library DLL (@url{ftp://ftp.gnustep.org/pub/gnustep/windows/cygwin}) for shared libs. It's a good idea to remove the libobjc.a that comes with gcc (gcc -v for location) so that it isn't accidentally found. For ffcall, you should get version 1.8b or above (the earlier ones don't compile). There are still some problems with structure passing, but that is generally not supported on any architecture. libffi also works. @item Special Instructions Make sure you have good shared libraries for everthing. Sometimes a bad shared library (like libtiff) will cause odd and untraceable problems. See @url{README.Cygwin} for information on compiling. @end table @c ----------------------------------------- @node Windows with MinGW, Yellowdog/PowerPC, Windows with CYGWIN, Machine Specific @section Windows with MinGW (@emph{Supported}) @table @var @item Recommended compiler See below. @item Extra libs needed See below. @item Special Instructions See the @url{README.MinGW} file located in the gnustep-make Documentation directory for instructions. Windows NT/2000/XP only. Win98 machines and earlier are very buggy and are not supported. Native GUI backend is alpha version. @end table @c ----------------------------------------- @node Yellowdog/PowerPC, , Windows with MinGW, Machine Specific @section Yellowdog/PowerPC (@emph{Unsupported}) @ifclear HOWTO @include end.texi @end ifclear