Quantcast
Channel: 懒得折腾
Viewing all articles
Browse latest Browse all 764

GNUstep on Ubuntu 14.04

$
0
0

GNUstep on Ubuntu 14.04


From: Stephen Schaub
Subject: GNUstep on Ubuntu 14.04
Date: Wed, 21 May 2014 12:15:49 -0700 (PDT)
User-agent: G2/1.0

I am new to Objective-C and GNUstep, and have spent the last few days trying to 
get an environment set up with support for blocks and ARC.

Ubuntu 14.04 has several versions of clang packaged for it in the standard 
repositories, so I thought that would be the way to go, since building clang 
from source requires a lot of time and disk space. 

The script here was very helpful in helping me get a working setup:

http://wiki.gnustep.org/index.php/GNUstep_under_Ubuntu_Linux

However, when I tried to follow it on a stock Ubuntu 14.04 system, I ran into 
trouble. I think my difficulty stemmed from the order the script builds things. 
The post here indicates that GNUstep make should be installed before libobjc2, 
and then reinstalled again afterwards:

http://brilliantobjc.blogspot.kr/2012/12/cocoa-on-freebsd.html

So, here is my script for installing Clang and GNUstep on Ubuntu 14.04. I'm 
hoping it will save someone some time.

# inspired by http://wiki.gnustep.org/index.php/GNUstep_under_Ubuntu_Linux

#install build tools and gnustep prereqs
sudo apt-get -y install clang-3.5 git subversion ninja cmake
sudo apt-get -y install  libffi-dev libxml2-dev libgnutls-dev libicu-dev
sudo apt-get -y install libblocksruntime-dev libkqueue-dev 
libpthread-workqueue-dev autoconf libtool

cd ~/Downloads

#download source
git clone git://github.com/nickhutchinson/libdispatch.git
svn co http://svn.gna.org/svn/gnustep/modules/core
svn co http://svn.gna.org/svn/gnustep/libs/libobjc2/trunk libobjc2

export CC=clang 
export CXX=clang++

#install GNUstep make
cd ~/Downloads/core/make
./configure --enable-debug-by-default --with-layout=gnustep 
--enable-objc-nonfragile-abi 
make -j8
sudo -E make install
. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh

#install libobjc2
cd ~/Downloads/libobjc2
mkdir build
cd build
cmake .. 
make 
sudo make install

#reinstall GNUstep make after libobjc2
cd ~/Downloads/core/make
./configure --enable-debug-by-default --with-layout=gnustep 
--enable-objc-nonfragile-abi 
make -j8
sudo -E make install

#add GNUstep config to shell config
echo ". /usr/GNUstep/System/Library/Makefiles/GNUstep.sh" >> ~/.bashrc
source ~/.bashrc

#install gnustep-base
cd ~/Downloads/core/base/
./configure
make -j8
sudo -E make install

#install Grand Central Dispatch
cd ~/Downloads/libdispatch
sh autogen.sh
./configure CFLAGS="-I/usr/include/kqueue" LDFLAGS="-lkqueue 
-lpthread_workqueue -pthread -lm"
make -j8 
sudo -E make install
sudo ldconfig

#install GUI prerequisites
sudo apt-get install -y libjpeg-dev libtiff-dev 
sudo apt-get install -y libcairo-dev libx11-dev:i386 libxt-dev

#install gnustep gui components
cd ~/Downloads/core/gui
./configure
make -j8
sudo -E make install

cd ~/Downloads/core/back
./configure
make -j8
sudo -E make install


Viewing all articles
Browse latest Browse all 764

Trending Articles