ユーザ用ツール

サイト用ツール


gnustep:install

文書の過去の版を表示しています。


GNUstepのインストール

GNUstep logo

GNUstepのプログラミングを始めるために必要なソフトウェアは、Linuxディストリビューションのパッケージマネージャーでインストールできることが多いです。 そうでない場合はソースコードからビルドしてインストールする必要があります。 もしGNUstep関連のパッケージが存在しなかったとしても、GCCのObjective-Cのコンパイラだけでもインストールしておきます。

Ubuntu 24.04 LTS

Ubuntuでは、GNUstep関連の多くのパッケージが提供されています。 手っ取り早く始めるにはgnustep-develというパッケージをインストールするのが簡単です。 必要なもの一式をまとめてインストールしてくれます。 これをインストーするだけで、GCCを利用したObjective-C+GNUstepのプログラミングを始めることができるようになります。

$ sudo apt update
$ sudo apt install gnustep-devel

残念ながら、このパッケージではObjective-CのコンパイラとしてClangを使うことができません。 Clangを使いたい場合は、ソースからビルドする方法を取ります。

ソースからビルド

使用しているディストリビューションでGNUstepが提供されていない場合、または不完全な場合はソースコードからビルドしてインストールします。

Fedora 43 の例

ソースからインストールすれば、GNUstep MakeでClangを使うように調整できます。。 GCCだとObjective-Cの機能がかなり制限されるので、Clangを使うようにするのがおすすめです。

事前要件

以下をあらかじめパッケージマネージャーでインストールしておきます。

  • clang
  • lld
  • libobjc2

libobjc2はソースからインストールしたほうが良いかもしれません。

tools-make

ファイル INSTALL に軽く目を通しておきます。

$ ./configure \
	--enable-native-objc-exceptions \
	--enable-objc-arc \
	--with-runtime-abi=gnustep-2.1 \
	--with-library-combo=ng-gnu-gnu \
	CC="clang" CXX="clang++" CPP="clang -E" LDFLAGS="-fuse-ld=lld"

注意 –with-runtime-abi=gnustep-x.yx.y はlibobjc2のバージョンに合わせます。

たぶん ./configure で、Clangのオプション -V-qversion が無効なためエラーになります。 このオプションをサポートするClangのバージョンは存在しません。 configureスクリプトの該当箇所を探して、適切なもの(-v–version)に書き換える。あるいは削除します。

configureが通ったらmakeします。

$ make -j4
$ sudo make install

prefixを指定しなければ /usr/local 以下にインストールされます。 アンインストールは make uninstall でできます。

libs-base

ファイル INSTALL に軽く目を通しておきます。

依存するものパッケージマネージャーでインストールします。

$ sudo dnf install libffi-devel libicu-devel libicu-devel gnutls-devel libxml2-devel \
	libxslt-devel libxslt-devel avahi-devel zlib-ng openssl-devel libcurl-devel libdispatch-devel

GNUstep Make を有効にします。

$ source /usr/local/share/GNUstep/Makefiles/GNUstep.sh

ビルド、インストールを実行します。

$ ./configure
$ make -j4
$ sudo make install
gnustep/install.1771480408.txt.gz · 最終更新: by freemikan

特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki