GCCで必要な言語のコンパイラだけインストールする
pkgsrcからGCCをインストールする場合、mk.confに
# disable Java
BUILD_JAVA=no
# disable Objective-C
BUILD_OBJC=no
のように書いておくと、必要ない言語のコンパイラをインストールしないように指定できる。
備忘録とチラシの裏を兼ねる
pkgsrcからGCCをインストールする場合、mk.confに
# disable Java
BUILD_JAVA=no
# disable Objective-C
BUILD_OBJC=no
のように書いておくと、必要ない言語のコンパイラをインストールしないように指定できる。
正確に言うとAutoconf 2.61の問題なんだけど、GCCを使っていても、CCの値が(/opt/pkgsrc/bin/gccのように)パスを含む場合、configureスクリプトが使っているコンパイラを誤判定する。これにより、リンカに間違ったオプションが渡され、libgauche.soのリンクに失敗してしまう。
このくらい良きに計らってくれよ、と目眩がする思いだが、現時点の最新版のAutoconf 2.62では直っているのだろうか。
もう一度詳しく調べたところ、Gauche 0.8.13のconfigure.acに問題があった。Autoconf関係者の方々、ごめんなさい。
SXCEにはb90の現時点で、Solaris Secure Shellが含まれている。これは、SunがOpenSSHをベースに開発したSSHの実装のひとつ。SSHサーバのsshdがインストール直後から起動しているため、きちんと設定をすれば、すぐにSSHプロトコルで通信できるようになる。
今回設定するサーバにはLANの中の特定のPCからしか接続しないので、ホストに基づく認証を使って接続する。作業手順は以下の通り。
Solaris Secure Shellの設定ファイルは、/etc/sshディレクトリにまとまって入っている。まずは、その中の/etc/ssh/sshd_configを編集。最初に、
HostbasedAuthentication yes
という行を追加。ホストに基づく認証を行うという意味。標準ではホストに基づく認証は使えないようになっている。次に、
IgnoreRhosts yes
という部分を、
IgnoreRhosts no
と変更。ホストに基づく認証で~/.shostsを使うようになる。ホストに基づく認証をするだけなら不要だが、ユーザの名前が接続元と接続先で違う場合には必要。今回はまさにそのケース。
/etc/ssh/shosts.equivの設定。rshが使う/etc/hosts.equivと書式は同じ。一行ごとに、接続を許すホスト名を書く。
client-host
/etc/ssh/shosts.equivに接続を許すホストを列挙したら、今度は/etc/ssh/ssh_known_hostsに、接続を許すそれぞれのホストの公開鍵を追加する。ssh_host_dsa_key.pubが公開鍵だとすると、
# (echo -n "client-host "; cat ssh_host_dsa_key.pub) >> /etc/ssh/ssh_known_hosts
のように、ファイルの終わりに公開鍵を書き込む。
~/.shostsの設定。接続を許すユーザのホームディレクトリに.shostsというファイルを作り、
client-host client-user
のように、ホスト名に続けてユーザ名を書く。
設定がすべて終わったので、最後にsshdの再起動。
# svcadm restart ssh
Solaris Secure ShellもSMFで管理されているサービスなので、こういう操作は簡単。