Skip to content

GNUstep, blocks, GCD install on PCBSD 9.1

July 6, 2013

Here is the recipe I used to install GNUstep into a ports jail in PCBSD 9.1.

The process below is required because FreeBSD GNUstep packages are currently compiled with GCC. It is expected that by the time FreeBSD 10 and PCBSD 9.1 are released, all the GNUstep packages will be compiled with clang. That being the case, this guide won’t be required, and GNUstep with GCD with blocks will just work out of the box.

(A previous post has more detail).

Create a new jail in PCBSD 9.1, include ports

portsnap fetch update
#vipw  ->
#  make /usr/local/bin/bash the shell of the "toor" account
#  add new account "devel" also with bash shell
#passwd toor -> set root passwd
#su - toor   	# need to install sudo...


pgk_add -r vim bash portmaster subversion libdispatch
cd /usr/ports

portmaster /usr/ports/lang/clang33

# gnustep sources
mkdir /usr/local/src
svn co svn://svn.gna.org/svn/gnustep/modules/ gnustep

# check what packages could be required to install gnustep...
pkg_add -n -r gnustep-base gnustep-back
#(showed following packages required: libsndfile flac libao libvorbis
#  libogg aspell libxslt libgcrypt gnutls libpg libGLU libGL libdrm
#  libpciaccess giflib libXmu p11-kit mDNSResponder gmp nettle mpfr
#  libgpg libgcrypt xf86vidmodeproto dri2proto pciids libXxf86vm

# install recommended packages prior compilation
portmaster textproc/libxml      # pulled in ports for libgpg libgcrypt
				#pkgconf libxml2 libxslt
portmaster devel/icu
portmaster devel/cmake		# pulled in port for cmake-modules


export CC=/usr/local/bin/clang33
export CXX=/usr/local/bin/clang++33
# gnustep-make; required for libobc2 build
cd /usr/local/src/gnustep/core/make/
./configure
gmake
gmake install
. /usr/local/share/GNUstep/Makefiles/GNUstep.sh

# build libobjc2
cd ../../dev-libs/libobjc2
mkdir Build
cd Build
cmake .. -DCMAKE_C_COMPILER=/usr/local/bin/clang33 -DCMAKE_CXX_COMPILER=/usr/local/bin/clang++33
make
make install

#find / -name libobjc.so.*
#  /usr/local/lib/libobjc.so.4.6
#ldd /usr/local/lib/libobjc.so
#  /usr/local/lib/libobjc.so:
#        libthr.so.3 => /lib/libthr.so.3 (0x801235000)
#        libdispatch.so.0 => /usr/local/lib/libdispatch.so.0 (0x801458000)
#        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x80166a000)
#        libm.so.5 => /lib/libm.so.5 (0x80197a000)
#        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x801b9b000)
#        libc.so.7 => /lib/libc.so.7 (0x80081b000)
#        libBlocksRuntime.so.0 => /usr/lib/libBlocksRuntime.so.0 (0x801da8000)

# install gnustep-make again
./configure
gmake
gmake install
# source GNUstep again
. /usr/local/share/GNUstep/Makefiles/GNUstep.sh

# gnustep-base
cd ../base
./configure
gmake
gmake install

# gnustep-gui
# Note: all of "tiff jpeg png giflib aspell" packages are already installed
cd ../gui
./configure
gmake
gmake install

# gnustep-back
# Note: cairo already installed, but libGL is not.
cd ../back
./configure
gmake
gmake install
Advertisements

From → GNUstep

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: