Sunday, November 27, 2011

Setting up GNUstep in Windows

GNUstep is a wonderful project that aims to replicate Cocoa APIs for a variety of Unix-like OSes and Windows. In effect this lets you get started playing with Objective C and a coding environment similar to Xcode, without owning a Mac or resorting to illegally running OSX on non-Apple hardware.


I've only just begun, but the whole GNUstep project seems more solid than I expected (although about as ugly as I'd expect from a GNU project).


It wasn't completely clear where to begin, since there are several different pages talking about GNUstep, ProjectCenter (the visual project builder), and Windows. So here is what I ended up doing to get started. I'm on Windows 7 64-bit.



  1. http://www.gnustep.org/experience/Windows.html has good instructions on getting started on Windows. (Unfortunately to use ProjectCenter, you can't use the latest GNUstep versions since they're incompatible. As of this writing, GNUstep 0.29.0 stable was released very recently in Nov 2011, while ProjectCenter 0.60 was released December 2010. Since I mainly cared about using ProjectCenter, I chose the GNUstep versions that were released prior to ProjectCenter 0.60.)
  2. Download from http://ftp.gnustep.org/pub/gnustep/binaries/windows/
    1. gnustep-msys-system-0.25.1-setup.exe (July 15, 2010)
    2. gnustep-core-0.25.0-setup.exe (May 15, 2010)
      
      
    3. gnustep-devel-1.1.1-setup.exe (July 15, 2010)
    4. SystemPreferences-1.1.0-1-setup.exe
    5. gorm-1.2.12-setup.exe
  3. Install the exes in the order downloaded, shown above. I used the default C:\GNUstep target.
  4. Download ProjectCenter 0.6.0 tar.gz from http://ftp.gnustep.org/pub/gnustep/dev-apps/ into e.g. C:\GNUstep\home\Andrew
  5. In your Start menu, run "Shell" under GNUstep. (I renamed this to "GNUstep Shell" to be more sensible for Windows 7 start menu autocomplete.)
    Note: Non-administrator users must right-click and choose Run as Administrator (thanks Winston Lee).
  6. Install ProjectCenter
    1. Untar ProjectCenter--from the shell: tar xzvf ProjectCenter-0.6.0.tar.gz
    2. cd ProjectCenter-0.6.0
    3. make
    4. make install
  7. Run ProjectCenter from the shell (just type ProjectCenter)
  8. Run gorm from start menu.
  9. Follow tutorial at http://www.gnustep.org/experience/PierresDevTutorial/index.html
    1. ProjectCenter doesn't recognize gorm for some reason, which is why I have to run gorm separately.
    2. Also, builds don't work from within ProjectCenter, but thankfully GNUstep generates makefiles for everything, so from the GNUstep shell you can just type "make" inside your project, and it'll generate a ProjectName.app directory for you. Inside that directory, you'll find Windows binaries to run the app.
I'm really excited about this, because although I do intend to do a bit of development, and of course builds, for iOS apps using a Mac, GNUstep gives me a bit more choice where I want to do development from.

One more thing: there are other projects that go along with GNUstep. See https://github.com/ANindie/cocos2d-GNUstep for a work-in-progress cocos2d port. Given that cocos2d-GNUstep is written and tested on Ubuntu, maybe I'll want to use Ubuntu instead of Windows for this stuff.

8 comments:

  1. Make returned a lot of errors.
    Do you know how to pinpoint the problems?

    ReplyDelete
  2. Make install has problem with permission on Windows 7.
    Do you know the way around?

    ReplyDelete
  3. Sorry I don't know about the permissions problem. I used a Windows account with Administrator privilege.

    ReplyDelete
  4. Untar ProjectCenter--from the shell: tar xzvf ProjectCenter-0.6.0.tar.gz

    What does this mean? What do we have to do here?

    ReplyDelete
  5. Just kidding. I figured it out. I wonder if this blog post is still active. Reply to me if it is, because I am very new to GNUstep and you seem to know enough about it to get past installation (more than me.) Thanks!

    ReplyDelete
  6. I can't run Gorm because there is an error message saying:

    "The program can't start because gnustep-base-1_21.dll is missing from your computer. Try reinstalling the program to fix this problem."

    What do I do?

    ReplyDelete
  7. This is a good article, but I wish you were still around to help with clarifications.

    A. With respect to your Step 5 above, non-administrator users must right-click "Run as administrator" when they run "Shell" in order to successfully build (make) the system.

    B. when I try to run ProjectCenter from the shell (Step 7), a Log display pops up, and it just hangs when the notification "PCAppController: Loading additional subsystems..." shows on the Log display.

    Any ideas?

    And thanks.

    ReplyDelete
  8. Winston, thanks for the comment clarification. When I load ProjectCenter, I see the Log window and another small menu which shows on the top-left of my monitor. It's easy for that small menu to become obscured, and unfortunately doesn't show up in Windows task bar or Alt-Tab menu, so it's easy to lose sight of it. Hope that helps.

    ReplyDelete