FreeBSD でデスクトップ環境とプログラミング環境を整える(主にポーツ・ツリーを活用)
FreeBSD に種々のソフトウェアのインストールするための手順を記述しました(2010/8 に作成).
◇ ポーツ・ツリーを活用してインストールするもの
- X.Org X Window System
- GNOME バージョン2
- GNU の エディタ emacs, tamago (emacs でのかな漢字変換用), yatex
- GNU の 開発用ツール類: gmake, patch
- GNU の その他の開発用ツール類 (autoconf, automake, autogen, bison, gawk, libtool, ccache, binutils)
- GNU の コンパイラ (gcc42, gcc44, g++44, gfortran44, gcc45, g++45, gfortran45, gcc46, g++46, gfortran4)
- ライブラリ類(readline, openssl, gmp, mpfr, ppl, mpc, metis, suitesparse, glpk, gsl, fltk)
- lapack
- 表示,変換など (freetype2, xpdf, nkf, lv, xlhtml, libgsf, wv2)
- Chasen
- Namazu
- MySQL-client
- SDL, グラフィックス (SDL12, ImageMagick, GraphicsMagick, libjpeg, libpng, libtiff)
- パノラマ画像ツール (autopano-sift, hugin, panoglview), avbin
- ffmpeg, avbin
- cmake
- vtk
- OpenCV
- irrlicht (3D ゲームエンジン)
- wxWidgets
- tcl/tk 処理系
- blender
- Ogre3d, ember
- octave 処理系
- R 処理系
- Ruby, RubyGems, eRuby, erubis, Ruby on Rails, Ruby GNOME2, Ruby Facets, Ruby RMagick, Ruby mysql, Ruby sqlite3, Apache mod_ruby
- NetBeans IDE
- Sqlite3, spatialize, sqlite-ext-miscfuncs, sqlite-ext-mobigourp, sqliteman
- beav(バイナリエディタ)
- VNC, vino, rdesktop, tsclient など
◇ ソースコードからビルドするもの
* FreeBSD のパッケージを使ってのインストール手順については 別ページで説明
* Ubuntu については別ページで説明
* 参考ファイル: hoge2.sh
* この Web ページでインストール手順を説明していない主要なソフトウェア
- Eclipse を FreeBSD にインストール(リンク先で詳しく説明)
- Octave-Forge を FreeBSD にインストール(リンク先で詳しく説明)
- FreeBSD に SQLite Analyzer をダウンロードしテスト実行(リンク先で詳しく説明)
前準備
基本設定と更新
- /etc/rc.conf, /etc/make.conf, /etc/src.conf, /etc/fstab, /etc/sysctl.conf, /root/.netrc の設定
「FreeBSD 基本設定」の Web ページなどを参考に行う.
- FreeBSD の更新
- FreeBSD のソースコードとポーツ・ツリーの更新
以下のようにコマンドを実行して,FreeBSD の全てのソースコードを更新します. このとき,同時に,ポーツ・ツリー (Ports Tree) の展開/更新も行われます(そのはずです)
cd /usr/src make update
- FreeBSD のシステム更新
下記の portupgrade に進む前に,FreeBSD のシステム更新を先に行っておく(決して必須ではありませんが,その方が作業が楽だと思います).
- GNU コンパイラコレクションの更新
- FreeBSD のソースコードとポーツ・ツリーの更新
- ポーツとパッケージ管理を支援するソフトウェア
- ports-mgmt/portupggrade のインストール
cd /usr/ports/ports-mgmt/portupgrade make clean deinstall rmconfig make -j4 make install
- パッケージ・レジストリ・データベースと, ポーツ・インデックス・ファイルと, ポーツ・データベース・ファイルの生成/再構成
portsdb -uU pkgdb -aF
- portupggrade コマンドによるアプリケーションの全更新
shutdown now portupgrade -aRv sync sync sync sync sync reboot
- ports-mgmt/psearch のインストール
portupgrade -Npv -B 'make rmconfig' ports-mgmt/psearch
- ports-mgmt/portupggrade のインストール
環境変数の設定
- 環境変数 VTK_DATA_ROOT の設定
- (オプション)環境変数 PACKAGEROOT, PACKAGESITE, FTP_PASSIVE_MODE の設定
* pkg_add を使いたいときは, 環境変数 PACKAGEROOT, PACKAGESITE, FTP_PASSIVE_MODE を設定しておく. デフォルトのままでは海外からダウンロードしてしまうので,ネットワークの無駄遣いです.
* FTP_PASSIVE_MODE はファイヤウオールを超えてダウンロードするときのトラブルを減らすための設定
【設定例】
◆ .cshrc
setenv VTK_DATA_ROOT /usr/local/share/examples/vtk/VTKData
setenv PACKAGEROOT ftp://ftp.jp.freebsd.org/
setenv PACKAGESITE ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.1-release/Latest/
setenv FTP_PASSIVE_MODE yes
◆ .profile
export VTK_DATA_ROOT=/usr/local/share/examples/vtk/VTKData
export PACKAGEROOT=ftp://ftp.jp.freebsd.org/
export PACKAGESITE=ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.1-release/Latest/
export FTP_PASSIVE_MODE=yes
* 次のように「/libexec/ld-elf.so.1: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.11 required by /usr/local/lib ... not found」というエラーメッセージが出たときの回避策. この設定で、エラーを回避できる可能性がある. これはポーツ・ツリーでのビルドに gcc45 などを使っている(デフォルトの設定を使っていない)場合によく出てくるエラー. 仕方がないので,環境変数 LD_LIBRARY_PATH の設定で対処する. 上のように、環境変数 LD_LIBRARY_PATH を設定しているのは,/usr/lib/libstdc++.so.6 ではなく,/usr/local/lib/gcc45/libstdc++.so.6 を使いたいときの設定.

.xinitrc, .emacs の設定
- .xinitrc の設定
かな漢字変換に関する次の設定を書き加える.
export XMODIFIERS='@im=SCIM' export LANG=ja_JP.UTF-8 export LC_ALL=ja_JP.UTF-8 export GTK_IM_MODULE=scim scim -d
- .emacs の設定
* /usr/local/share/emacs/site-lisp のファイルを書き換えることにしてもよいでしょう.
(set-language-environment "Japanese") (push "/usr/local/share/emacs/site-lisp/anthy" load-path) (load-library "anthy") (setq default-input-method "japanese-anthy") (set-input-method 'japanese-egg-anthy)
avahi の設定
GNOME2 が avahi-gtk を含んでいるみたいなので,avahi ユーザと avahi グループを作っておく
pw groupadd avahi -g 558
pw useradd avahi -u 558 -g 558 -d /nonexistent -s /sbin/nologin -c "Avahi Daemon User"
システムの起動時に,次のようなエラーメッセージが出る場合には,上記の pw ... の操作を行って下さい.
avahi-daemon[1035]: Failed to find user 'avahi' avahi-dnsconfd[1241]: connect(): No such file or directory
* 「cd /var/db/ports; rm -R *」は、make config, make config-recursive の記録を消す操作.
Java 開発環境 JDK のインストール
前準備として, 「FreeBSD Foundation 版 Java を FreeBSD にインストール」の Web ページを参考にインストールを行っておく.
* 前準備
ダウンロード http://www.freebsdfoundation.org/
* インストール手順の詳細
* インストール操作を記述したスクリプト (FreeBSD 用)
cd /usr/ports/java/diablo-jdk16
make config
make clean deinstall
make -j4
make install
portsdb -u
X.Org と GNOME のインストール (ポーツ・ツリーを使用)
X.Org X Windows System と GNOME バージョン 2 のインストール
【関連する外部ページ】 http://www.freebsd.org/doc/ja_JP.eucJP/books/handbook/x11-wm.html
- ポーツ・ツリーを使用してインストール
shutdown now export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig portupgrade -Npv -B 'make rmconfig' x11/xorg portupgrade -Npv -B 'make rmconfig' graphics/libGL portupgrade -Npv -B 'make rmconfig' graphics/libGLU portupgrade -Npv -B 'make rmconfig' graphics/libGLw portupgrade -Npv -B 'make rmconfig' security/heimdal if [ ! -f /usr/local/lib/libk5crypto.so ]; then cp /usr/local/lib/libkrb5.so /usr/local/lib/libk5crypto.so endif portupgrade -Npv -B 'make rmconfig' dns/nss_mdns portupgrade -Npv -B 'make rmconfig' x11/gnome2 portupgrade -Npv -B 'make rmconfig' textproc/uim portupgrade -Npv -B 'make rmconfig' textproc/uim-gnome portupgrade -Npv -B 'make rmconfig' textproc/uim-gtk sync sync sync sync sync reboot
security/krb5, dns/nss_mdns は x11/gnome2 が依存するソフトウェア
* このインストールのときエラーメッセージが出やすい. エラーメッセージを見逃したくないので,script コマンドで,ファイルに記録を残す.
エラー時のよくある対処法としては,各種のデータベース等の再構成(下記のコマンド)であったり,
portsdb -uU pkgdb -aF
環境変数 FORCE_PKG_INSTALL の設定だったり.
export FORCE_PKG_INSTALL=true あるいは setenv FORCE_PKG_INSTALL true
- システムを再起動し gnome-session が起動することを確認
* 上記の手順で,gnome-session の配下に X サーバ・ソフトウェアが起動するはずです.
* 次のように/usr/local/lib/X11/xinit/xinitrc の設定すると scim がクラッシュする場合がある、ことが分かっています.
X.Org で「キーボードとマウスが効かない」状態から脱出(ヒント)
参考 にした Web ページ: http://homepage3.nifty.com/maikaze/xwinat1.html (現存しない)
FreeBSD で X.Org をインストールしたら,X サーバの画面は現れるのに,マウスもキーボードも効かない! という状態に陥ることがあります (何も操作が効かないので,一見して,OSが止まっているように見えます).ここでは,その解決のヒントを説明する.
経緯
X.Org バージョン 7,4 以上からは,デフォルトで hal を使うようになっています. つまり
- hal が動作するように FreeBSD の設定を行う.あるいは,
- hal を使わないように X.Org 側の設定を行うということです.
hal が動作するように FreeBSDの設定が行われていることなどの確認
- (前準備)X サーバの停止
* 「ALTキー」+「ファンクション F1」(同時押し)あるいは 「CTRLキー」+「ALTキー」+「ファンクション F2」(同時押し) で X サーバを抜け出すことができる場合があります.
- (前準備) tail -f /var/log/Xorg.0.log を実行し,エラーメッセージを確認.
これで,問題解決のヒントが得られます.
* 下の実行例の場合では,「(EE) config/hal: couldn't initialise context: unknown error (null)」というエラーが出ていることが分かります.
- /etc/rc.conf の確認
hal を使うために,dbus デーモンと hald (hal デーモン) が起動するように /etc/rc.conf に設定しておく必要がある. /etc/rc.conf が次の 2行を含むことを確認します(含んでいなければ修正する).
dbus_enable="YES" hald_enable="YES"
* (参考)GNOME2 の gdm を使いたいときには,/etc/rc.conf には,さらに,次の 4行を含めておきます.
gdm_enable="YES" gnome_enabl="YES" polkitd_enable="YES" system_tools_backends_enable="YES"
- /usr/local/etc/rc.d/hal が存在することを確認
ls /usr/local/etc/rc.d
* FreeBSD では,X.Org をインストールするときに hal もインストールするはず(ポーツ・ツリーを使って「portupgrade -Npv -B 'make rmconfig' x11/xorg; make; make install」としたときは,hal は自動でインストールされます). ファイルがないとき は X.Org のインストール作業をやり直すべきでしょう.
- lshal コマンドで,hald (hal デーモン) の動作を確認
hald が起動しているかの確認は,「lshal コマンド」で簡単にできる.
lshal
◇ エラーの例
下の図のように,「Could not initialise connection to hald.」というメッセージが出たときは 「hal のインストールは済んでいるけれど,hald (hal デーモン) は起動していない」ということになる.
- hald の手動での起動
- 単に /etc/rc.conf のミスで hal が起動できていないのか? あるいは
- hald がうまく動かないのか
の確証を得るために hald を手動で起動してみることにします.
/usr/local/etc/rc.d/hald restart /usr/local/etc/rc.d/hald restart
◇ エラーの例
下の図のように,2回目の「/usr/local/etc/rc.d/hald restart」で, 「hald not running? (check /var/run/hald/hald.pid)」というメッセージが出たときは 「hald がうまく動かない」という強い革新が得られます.
(オプション) hald がうまく動かないときの対処(ヒント)
ここでは,X.Org の X サーバが hal を使わないように設定します.
- /etc/rc.conf に mouse デーモンに関する設定を追加
/etc/rc.conf に次の 2行を追加します
* 逆に hal を使いたいときは,次の 2行を書いてはいけません.hald と moused が衝突します.
moused_enable="YES" moused_nondefault_enable="YES"
- xorg.conf.new の生成
「Xorg -configure」により xorg.conf.new が自動生成される.
cd Xorg -configure
- xorg.conf.new での hal 関係の設定
xorg.conf.new の ServerLayout セクション
* hal を使いたくない(hal が動かない)ときの設定
Option "AutoAddDevices" "False" Option "AutoEnableDevices" "False" # Option "AllowEmptyInput" "False"
xorg.conf.new での sysmouse 関係の設定
hal を使いたくない(hal が動かない)ときは, 引き続き,xorg.conf.new に「Option "Device" "/dev/sysmouse"」のような行があることを確認しておく (違う場合には修正しておく)
* hal を使いたいときの設定
Option "AutoAddDevices" "True" Option "AutoEnableDevices" "True" # Option "AllowEmptyInput" "True"
- cp xorg.conf.new /etc/X11/xorg.conf
詳しくは,man xorg.conf を見てください
emacs のインストール (ポーツ・ツリーを使用)
portupgrade -Npv -B 'make rmconfig' editors/emacs
portupgrade -Npv -B 'make rmconfig' editors/tamago
portupgrade -Npv -B 'make rmconfig' japanese/scim-anthy
portupgrade -Npv -B 'make rmconfig' japanese/uim-anthy
portupgrade -Npv -B 'make rmconfig' japanese/anthy
portupgrade -Npv -B 'make rmconfig' print/yatex
種々のソフトウェアのインストール (ポーツ・ツリーを使用)
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
#
portupgrade -Npv -B 'make rmconfig' devel/gmake
portupgrade -Npv -B 'make rmconfig' devel/patch
portupgrade -Npv -B 'make rmconfig' devel/autoconf262
portupgrade -Npv -B 'make rmconfig' devel/automake110
portupgrade -Npv -B 'make rmconfig' devel/autogen
portupgrade -Npv -B 'make rmconfig' devel/bison
portupgrade -Npv -B 'make rmconfig' lang/gawk
portupgrade -Npv -B 'make rmconfig' devel/libtool22
portupgrade -Npv -B 'make rmconfig' devel/ccache
portupgrade -Npv -B 'make rmconfig' devel/binutils
portupgrade -Npv -B 'make rmconfig' devel/readline
portupgrade -Npv -B 'make rmconfig' security/openssl
portupgrade -Npv -B 'make rmconfig' math/gmp
portupgrade -Npv -B 'make rmconfig' math/mpfr
portupgrade -Npv -B 'make rmconfig' devel/ppl
portupgrade -Npv -B 'make rmconfig' math/mpc
portupgrade -Npv -B 'make rmconfig' math/metis
portupgrade -Npv -B 'make rmconfig' math/suitesparse
portupgrade -Npv -B 'make rmconfig' math/glpk
portupgrade -Npv -B 'make rmconfig' math/gsl
portupgrade -Npv -B 'make rmconfig' x11-toolkits/gsl
portupgrade -Npv -B 'make rmconfig' lang/gcc42
portupgrade -Npv -B 'make rmconfig' lang/gcc44
portupgrade -Npv -B 'make rmconfig' lang/gcc46
portupgrade -Npv -B 'make rmconfig' lang/gcc45
portupgrade -Npv -B 'make rmconfig' lang/libstdc++_stldoc_4.2.2
#
portupgrade -Npv -B 'make rmconfig' math/lapack
# 表示,変換など
portupgrade -Npv -B 'make rmconfig' print/freetype2
portupgrade -Npv -B 'make rmconfig' japanese/xpdf
portupgrade -Npv -B 'make rmconfig' japanese/nkf
portupgrade -Npv -B 'make rmconfig' misc/lv
portupgrade -Npv -B 'make rmconfig' textproc/xlhtml
portupgrade -Npv -B 'make rmconfig' devel/libgsf
portupgrade -Npv -B 'make rmconfig' textproc/wv2
# Japanse Morphological Analyis
portupgrade -Npv -B 'make rmconfig' japanese/chasen
portupgrade -Npv -B 'make rmconfig' japanese/chasen-base
portupgrade -Npv -B 'make rmconfig' japanese/p5-Text-ChaSen
portupgrade -Npv -B 'make rmconfig' japanese/ruby-chasen
portupgrade -Npv -B 'make rmconfig' japanese/ruby-gyokuro
portupgrade -Npv -B 'make rmconfig' japanese/ipadic
portupgrade -Npv -B 'make rmconfig' japanese/mecab
portupgrade -Npv -B 'make rmconfig' japanese/mecab-ipadic
portupgrade -Npv -B 'make rmconfig' japanese/ruby-mecab
# full text search
portupgrade -Npv -B 'make rmconfig' japanese/namazu2
portupgrade -Npv -B 'make rmconfig' databases/ruby-search-namazu
portupgrade -Npv -B 'make rmconfig' japanese/rbnamazu
# データベースクライアントライブラリ
portupgrade -Npv -B 'make rmconfig' databases/mysql55-client
# SDL
portupgrade -Npv -B 'make rmconfig' devel/sdl12
# graphics
portupgrade -Npv -B 'make rmconfig' graphics/ImageMagick
portupgrade -Npv -B 'make rmconfig' graphics/GraphicsMagick
portupgrade -Npv -B 'make rmconfig' graphics/jpeg
portupgrade -Npv -B 'make rmconfig' graphics/png
portupgrade -Npv -B 'make rmconfig' graphics/tiff
# panoramic image
portupgrade -Npv -B 'make rmconfig' graphics/autopano-sift
portupgrade -Npv -B 'make rmconfig' graphics/hugin
portupgrade -Npv -B 'make rmconfig' multimedia/panoglview
# ffmpeg
portupgrade -Npv -B 'make rmconfig' multimedia/ffmpeg
portupgrade -Npv -B 'make rmconfig' multimedia/avbin
# vtk
portupgrade -Npv -B 'make rmconfig' devel/cmake
portupgrade -Npv -B 'make rmconfig' math/vtk
portupgrade -Npv -B 'make rmconfig' math/vtk-data
portupgrade -Npv -B 'make rmconfig' math/vtk-examples
portupgrade -Npv -B 'make rmconfig' math/vtk-headers
portupgrade -Npv -B 'make rmconfig' math/vtk-java
# OpenCV
portupgrade -Npv -B 'make rmconfig' graphics/opencv
# irrlicht (3D ゲームエンジン)
portupgrade -Npv -B 'make rmconfig' x11-toolkits/irrlicht
# wxWidgets
portupgrade -Npv -B 'make rmconfig' x11-toolkits/wxgtk28
portupgrade -Npv -B 'make rmconfig' x11-toolkits/wxgtk28-contrib
# tcl/tk 処理系
portupgrade -Npv -B 'make rmconfig' lang/tcl85
portupgrade -Npv -B 'make rmconfig' lang/tclX
portupgrade -Npv -B 'make rmconfig' x11-toolkits/tk85
# blender
portupgrade -Npv -B 'make rmconfig' graphics/blender
portupgrade -Npv -B 'make rmconfig' graphics/blender-doc
# Ogre3d, ember
portupgrade -Npv -B 'make rmconfig' graphics/ogred3
portupgrade -Npv -B 'make rmconfig' graphics/ember
# octave 処理系
portupgrade -Npv -B 'make rmconfig' math/octave
# R 処理系
portupgrade -Npv -B 'make rmconfig' math/R
# OpenOffice.org
portupgrade -Npv -B 'make rmconfig' editors/openoffice.org-3
# Eclipse
# eclipse (skip on FreeBSD) 手動で入れるので
# eclipse-jdt (skip on FreeBSD) 手動で入れるので
# pleiades (skip on FreeBSD) 手動で入れるので
# git (Distributed source code management system)
portupgrade -Npv -B 'make rmconfig' devel/git
portupgrade -Npv -B 'make rmconfig' devel/giggle
portupgrade -Npv -B 'make rmconfig' devel/gitg
# virutal machine tools (仮想マシンツール)
# ubuntu-vm-builder (skip on FreeBSD)
# virt-manager (skip on FreeBSD)
# virt-viewer (skip on FreeBSD)
portupgrade -Npv -B 'make rmconfig' security/openssh-askpass
portupgrade -Npv -B 'make rmconfig' emulators/qemu
portupgrade -Npv -B 'make rmconfig' emulators/qemu-launcher
# wine エミュレータ
portupgrade -Npv -B 'make rmconfig' emulators/wine
portupgrade -Npv -B 'make rmconfig' emulators/wine-doors
# Network security
portupgrade -Npv -B 'make rmconfig' security/nmap
portupgrade -Npv -B 'make rmconfig' ecutiry/umit
portupgrade -Npv -B 'make rmconfig' security/knmap
portupgrade -Npv -B 'make rmconfig' security/klamav
# password security (パスワードセキュリティ)
portupgrade -Npv -B 'make rmconfig' security/medusa
portupgrade -Npv -B 'make rmconfig' net-mgmt/aricrack-ng
# system information and device management (システムに関する情報の取得)
portupgrade -Npv -B 'make rmconfig' sysutils/sysinfo
portupgrade -Npv -B 'make rmconfig' net/xprobe
portupgrade -Npv -B 'make rmconfig' net-mgmt/p0f
portupgrade -Npv -B 'make rmconfig' net-mgmt/satellite
# remote connection and file transfer, (リモート接続とファイル転送) VNC, vino, rdesktop, tsclient, filezilla
portupgrade -Npv -B 'make rmconfig' ftp/filezilla
portupgrade -Npv -B 'make rmconfig' net/x11vnc
portupgrade -Npv -B 'make rmconfig' net/vino
portupgrade -Npv -B 'make rmconfig' net/rdesktop
portupgrade -Npv -B 'make rmconfig' net/tsclient
# file tools, launcher (ファイル操作ツール, ランチャー)
portupgrade -Npv -B 'make rmconfig' x11-fm/gnome-commander2
# i386 用のデコーダ (decoders for i386) (only FreeBSD)
portupgrade -Npv -B 'make rmconfig' multimedia/win32-codecs
# バイナリエディタ, スクリーンショット,ペイント, 図,グラフ,スペルチェック,改行,ポストスクリプト,TeX 支援,scror, gwenview,動画像
portupgrade -Npv -B 'make rmconfig' editors/beav
portupgrade -Npv -B 'make rmconfig' graphics/scrot
portupgrade -Npv -B 'make rmconfig' graphics/gwenview
portupgrade -Npv -B 'make rmconfig' multimedia/mplayer
portupgrade -Npv -B 'make rmconfig' multimedia/smplayer
portupgrade -Npv -B 'make rmconfig' multimedia/avidemux2
portupgrade -Npv -B 'make rmconfig' graphics/dia
portupgrade -Npv -B 'make rmconfig' japanese/tgif
portupgrade -Npv -B 'make rmconfig' math/qgfe
portupgrade -Npv -B 'make rmconfig' textproc/ispell
portupgrade -Npv -B 'make rmconfig' converters/unix2dos
portupgrade -Npv -B 'make rmconfig' japanese/a2ps
portupgrade -Npv -B 'make rmconfig' print/pstotext
* エラーメッセージが出る場合の対処。
エラーメッセージを読んで個別に対応する。これで間違いなく大丈夫.
* よくあるエラーとして「FORCE_PKG_REGISTER システムをセットしてから make reinstall してくれ」というエラーが出る場合は,
- 「export FORCE_PKG_REGISTER=yes」を実行し、上 LI> のスクリプトを の「make clean deinstall; make; make install」の部分を、例えば、 の「make clean deinstall; make reinstall」のように 書き換えて再実行してみる。これで、多くのエラーは消える。残ったエラーを個別対処。
Ruby 処理系と SQLite 3 関係のインストール (ポーツ・ツリーを使用)
# Sqlite3, sqliteman, Apache mod_ruby
portupgrade -Npv -B 'make rmconfig' databases/sqlite3
portupgrade -Npv -B 'make rmconfig' databases/spatialite
portupgrade -Npv -B 'make rmconfig' databases/sqlite-ext-inet
portupgrade -Npv -B 'make rmconfig' databases/sqlite-ext-miscfuncs
portupgrade -Npv -B 'make rmconfig' databases/sqlite-ext-mobigroup
portupgrade -Npv -B 'make rmconfig' databases/sqliteman
# Ruby
portupgrade -Npv -B 'make rmconfig' lang/ruby-pdflib
portupgrade -Npv -B 'make rmconfig' lang/ruby18
portupgrade -Npv -B 'make rmconfig' lang/ruby-extensions
portupgrade -Npv -B 'make rmconfig' devel/ruby-gems
portupgrade -Npv -B 'make rmconfig' www/rubygem-erubis
portupgrade -Npv -B 'make rmconfig' textproc/eruby
portupgrade -Npv -B 'make rmconfig' java/netbeans
portupgrade -Npv -B 'make rmconfig' databases/mod_ruby
gem update --system
portupgrade -Npv -B 'make rmconfig' www/rubygem-rails
portupgrade -Npv -B 'make rmconfig' www/rubygem-rails-app-installer
portupgrade -Npv -B 'make rmconfig' textproc/gnome-doc-utils
portupgrade -Npv -B 'make rmconfig' x11-toolkits/ruby-panelapplet
portupgrade -Npv -B 'make rmconfig' x11/ruby-gnome2
portupgrade -Npv -B 'make rmconfig' devel/rubygem-facets
portupgrade -Npv -B 'make rmconfig' graphics/ruby-rmagick
portupgrade -Npv -B 'make rmconfig' databases/ruby-mysql
portupgrade -Npv -B 'make rmconfig' databases/rubygem-sqlite3
portupgrade -Npv -B 'make rmconfig' devel/ruby-wirble
portupgrade -Npv -B 'make rmconfig' graphics/rubygem-gruff
cd /usr/lib/ruby/gems/1.8/gems/octave-ruby-1.0.9 ・・・ この部分は書きかけ(うまくいかない)
ruby setup.rb ・・・ この部分は書きかけ(うまくいかない)
再び前準備
【注意】下記に挙げるソフトウェアの多くはフリーソフトウェアではない(ある限られた条件下でのみ,無償で使うことが許されているだけ).
ライセンス条項は各自で確認すること。 再配布は不可 などの決まりがそれぞれあるので、ライセンス条項をよく確認もせずにソースコードを再配布したり、知り合いのパソコンに代理でインストールしたり、などを避けておく(よくライセンス条項を確認)。
それぞれのインストールの前準備として, ソースコードを入手しておく。 入手先は、それぞれ、下記に記述している。
GotoBLAS2 バージョン 1.13 のインストール (ソースコードからビルド)
* 前準備
ダウンロード GotoBLAS2-1.13.tar.gz http://www.tacc.utexas.edu/resources/software/
* インストール手順の詳細
https://www.kkaneko.jp/tools/ubuntu/cblaslinux.html
* インストール操作を記述したスクリプト
【特記事項】 FreeBSD では「quickbuild.64bit」を実行するとエラーが出るので,替わりに「gmake BINARY=64 CC="gcc44 -DDTB_ENTRIES=64"」
【特記事項の2】gcc44, gfortran44 を使う
cd /tmp
rm -rf /tmp/GotoBLAS2
tar -xvzof GotoBLAS2-1.13.tar.gz
cd GotoBLAS2
echo ■ Makefile.rule の設定
echo =================================================================
rm -f /tmp/pp
echo '*** Makefile.rule.DIST 2010-07-03 11:40:43.657754091 -0400' > /tmp/pp
echo '--- Makefile.rule 2010-07-03 11:43:38.741566987 -0400' >> /tmp/pp
echo '***************' >> /tmp/pp
echo '*** 14,23 ****' >> /tmp/pp
echo ' ' >> /tmp/pp
echo ' # C compiler including binary type(32bit / 64bit). Default is gcc.' >> /tmp/pp
echo " # Don't use Intel Compiler or PGI, it won't generate right codes as I expect." >> /tmp/pp
echo '! # CC = gcc' >> /tmp/pp
echo ' ' >> /tmp/pp
echo ' # Fortran compiler. Default is g77.' >> /tmp/pp
echo '! # FC = gfortran' >> /tmp/pp
echo ' ' >> /tmp/pp
echo ' # Even you can specify cross compiler' >> /tmp/pp
echo ' # CC = x86_64-w64-mingw32-gcc' >> /tmp/pp
echo '--- 14,23 ----' >> /tmp/pp
echo ' ' >> /tmp/pp
echo ' # C compiler including binary type(32bit / 64bit). Default is gcc.' >> /tmp/pp
echo " # Don't use Intel Compiler or PGI, it won't generate right codes as I expect." >> /tmp/pp
echo '! CC = gcc44' >> /tmp/pp
echo ' ' >> /tmp/pp
echo ' # Fortran compiler. Default is g77.' >> /tmp/pp
echo '! FC = gfortran44' >> /tmp/pp
echo ' ' >> /tmp/pp
echo ' # Even you can specify cross compiler' >> /tmp/pp
echo ' # CC = x86_64-w64-mingw32-gcc' >> /tmp/pp
echo '***************' >> /tmp/pp
echo '*** 30,39 ****' >> /tmp/pp
echo ' # specify it.' >> /tmp/pp
echo ' # For force setting for single threaded, specify USE_THREAD = 0' >> /tmp/pp
echo ' # For force setting for multi threaded, specify USE_THREAD = 1' >> /tmp/pp
echo '! # USE_THREAD = 0' >> /tmp/pp
echo ' ' >> /tmp/pp
echo " # If you're going to use this library with OpenMP, please comment it in." >> /tmp/pp
echo '! # USE_OPENMP = 1' >> /tmp/pp
echo ' ' >> /tmp/pp
echo ' # You can define maximum number of threads. Basically it should be' >> /tmp/pp
echo " # less than actual number of cores. If you don't specify one, it's" >> /tmp/pp
echo '--- 30,39 ----' >> /tmp/pp
echo ' # specify it.' >> /tmp/pp
echo ' # For force setting for single threaded, specify USE_THREAD = 0' >> /tmp/pp
echo ' # For force setting for multi threaded, specify USE_THREAD = 1' >> /tmp/pp
echo '! USE_THREAD = 1' >> /tmp/pp
echo ' ' >> /tmp/pp
echo " # If you're going to use this library with OpenMP, please comment it in." >> /tmp/pp
echo '! USE_OPENMP = 1' >> /tmp/pp
echo ' ' >> /tmp/pp
echo ' # You can define maximum number of threads. Basically it should be' >> /tmp/pp
echo " # less than actual number of cores. If you don't specify one, it's" >> /tmp/pp
patch < /tmp/pp
echo =================================================================
gmake BINARY=64 CC="gcc44 -DDTB_ENTRIES=64"
cp *.a /usr/lib
CBLAS のインストール (ソースコードからビルド)
* 前準備
CBLAS のソースコードのダウンロード, http://www.netlib.org/blas/blast-forum/
* インストール手順の詳細
https://www.kkaneko.jp/tools/ubuntu/cblaslinux.html
* インストール操作を記述したスクリプト
【特記事項】 FreeBSD では「gfortran」の替わりに「gfortran44」 gcc44 を使う
cd /tmp
rm -rf /tmp/CBLAS
tar -xvzf cblas.tgz
cd /tmp/CBLAS
ln -s Makefile.LINUX Makefile.in
echo ■ /tmp/CBLAS/Makefile.in の編集
echo =================================================================
rm -f /tmp/pp
echo '*** Makefile.in.DIST 2010-07-03 12:43:34.162601551 -0400' > /tmp/pp
echo '--- Makefile.in 2010-07-03 12:43:42.415691945 -0400' >> /tmp/pp
echo '***************' >> /tmp/pp
echo '*** 22,29 ****' >> /tmp/pp
echo ' # Libraries and includs' >> /tmp/pp
echo ' #-----------------------------------------------------------------------------' >> /tmp/pp
echo ' ' >> /tmp/pp
echo '! BLLIB = libblas.a' >> /tmp/pp
echo '! CBDIR = $(HOME)/CBLAS' >> /tmp/pp
echo ' CBLIBDIR = $(CBDIR)/lib/$(PLAT)' >> /tmp/pp
echo ' CBLIB = $(CBLIBDIR)/cblas_$(PLAT).a' >> /tmp/pp
echo ' ' >> /tmp/pp
echo '--- 22,29 ----' >> /tmp/pp
echo ' # Libraries and includs' >> /tmp/pp
echo ' #-----------------------------------------------------------------------------' >> /tmp/pp
echo ' ' >> /tmp/pp
echo '! BLLIB = /usr/lib/libgoto2.a -lpthread -lgomp' >> /tmp/pp
echo '! CBDIR = /tmp/CBLAS' >> /tmp/pp
echo ' CBLIBDIR = $(CBDIR)/lib/$(PLAT)' >> /tmp/pp
echo ' CBLIB = $(CBLIBDIR)/cblas_$(PLAT).a' >> /tmp/pp
echo ' ' >> /tmp/pp
echo '***************' >> /tmp/pp
echo '*** 32,46 ****' >> /tmp/pp
echo ' #-----------------------------------------------------------------------------' >> /tmp/pp
echo ' ' >> /tmp/pp
echo '! CC = gcc' >> /tmp/pp
echo '! FC = g77' >> /tmp/pp
echo ' LOADER = $(FC)' >> /tmp/pp
echo ' ' >> /tmp/pp
echo ' #-----------------------------------------------------------------------------' >> /tmp/pp
echo ' # Flags for Compilers' >> /tmp/pp
echo ' #-----------------------------------------------------------------------------' >> /tmp/pp
echo ' ' >> /tmp/pp
echo '! CFLAGS = -O3 -DADD_' >> /tmp/pp
echo '! FFLAGS = -O3 ' >> /tmp/pp
echo ' ' >> /tmp/pp
echo ' #-----------------------------------------------------------------------------' >> /tmp/pp
echo ' # Archive programs and flags' >> /tmp/pp
echo '--- 32,46 ----' >> /tmp/pp
echo ' #-----------------------------------------------------------------------------' >> /tmp/pp
echo ' ' >> /tmp/pp
echo '! CC = gcc44' >> /tmp/pp
echo '! FC = gfortran44' >> /tmp/pp
echo ' LOADER = $(FC)' >> /tmp/pp
echo ' ' >> /tmp/pp
echo ' #-----------------------------------------------------------------------------' >> /tmp/pp
echo ' # Flags for Compilers' >> /tmp/pp
echo ' #-----------------------------------------------------------------------------' >> /tmp/pp
echo ' ' >> /tmp/pp
echo '! CFLAGS = -m64 -O3 -DADD_' >> /tmp/pp
echo '! FFLAGS = -m64 -O3 ' >> /tmp/pp
echo ' ' >> /tmp/pp
echo ' #-----------------------------------------------------------------------------' >> /tmp/pp
echo ' # Archive programs and flags' >> /tmp/pp
patch < /tmp/pp
echo =================================================================
make all
cd /tmp/CBLAS/lib/LINUX
cp cblas_LINUX.a /usr/lib/libcblas.a
cp /tmp/CBLAS/src/cblas.h /usr/include/cblas.h
ATLAS 3.29.25 のインストール (ソースコードからビルド)
* 前準備
◇ ATLAS のソースコードのダウンロード, http://math-atlas.sourceforge.net/
◇ LAPACK のソースコードのダウンロード, https://netlib.org/lapack/index.html
* インストール手順の詳細
https://www.kkaneko.jp/tools/linuxtoolchain/atlaslinux.html
* インストール操作を記述したスクリプト
【特記事項】 FreeBSD では「gfortran」の替わりに「gfortran44」,FreeBSD では「make」の替わりに「gmake」を使う場合がある(全てではない)
* マルチスレッド版ライブラリがうまくビルドできない場合があります(2010/10)
cd /tmp
rm -rf /tmp/ATLAS3.9.25
tar -xvjof atlas3.9.25.tar.bz2
mv ATLAS ATLAS3.9.25
cd ATLAS3.9.25
../configure --prefix=/usr/atlas -Si nof77 1 -C if gfortran44 -C ac gcc44 -Fa alg -fopenmp -Fa alg -fPIC -omp 2 -Si latune 1
make
make check
make ptcheck
make time
make install
cd lib
make ptshared cptshared
rm -f /usr/atlas/lib/*.so
cp *.so /usr/atlas/lib
rm -f /usr/atlas/lib/liblapack.a
rm -f /usr/atlas/lib/liblapack.so