2. Oracle Solaris 11 - python36 インストール - cc はいずこに?

 
2.1 概要
2.2 ソフトウェアの追加を起動
2.3 探してみる
2.4 パスを加えてみたが
2.5 man 見てわかった大恥な話

2.1 概要

 前ページからの続きではあるのですが・・・。  CC って明示的にインストールしてはいないけど、インストールされていないの?

2.2 ソフトウェアの追加を起動

 気になるアイコンがあるので起動してみます。  「ソフトウェアの追加」

 「パッケージマネージャ」が開くのね。

 「開発」→「C」を開くと
 「Solaris CPP」インストール済って書いてあるじゃん。


2.3 探してみる


$ whereis cpp
-bash: whereis: コマンドが見つかりません
 あう、そもそも whereis がないのね。  気を取り直して

$ which cpp
no cpp in /usr/bin /usr/sbin
 ふむぅ。  root ユーザで

> find / -name cpp -print
/usr/ccs/lib/cpp
/usr/lib/cpp
/lib/cpp
 なるほど、なんかある。

> file /usr/ccs/lib/cpp
/usr/ccs/lib/cpp:       ELF 32-bit LSB executable 80386 Version 1 [FPU], dynamically linked, stripped
> file /usr/lib/cpp
/usr/lib/cpp:   ELF 32-bit LSB executable 80386 Version 1 [FPU], dynamically linked, stripped
> file /lib/cpp
/lib/cpp:       ELF 32-bit LSB executable 80386 Version 1 [FPU], dynamically linked, stripped
 はて?  どれが本物じゃろ?

> ls -la /usr/ccs/lib/cpp
lrwxrwxrwx   1 root     root          13  7月 30日  13:37 /usr/ccs/lib/cpp -> ../../lib/cpp
> ls -la /usr/lib/cpp
-rwxr-xr-x   1 root     bin        75888 10月  7日 2015年 /usr/lib/cpp
> ls -la /lib/cpp
lrwxrwxrwx   1 root     root          14  7月 30日  13:26 /lib/cpp -> ../usr/lib/cpp
 本体は /usr/lib/cpp らしいが、どれを $PATH に追加するべきか・・・。  全部は書きませんが、/usr/ccs/lib の中身が cpp のみで、他はライブラリがたくさんあるように見えるので

~/.bashrc
 に

PATH="$PATH":/usr/ccs/lib
 の1行を加えてログインしなおし。

2.4 パスを加えてみたが

 でまぁ、パスを追加してみたのですが

$ ./configure --without-gcc --prefix=$HOME/bin
checking build system type... i386-pc-solaris2.11
checking host system type... i386-pc-solaris2.11
checking for python3.6... no
checking for python3... no
checking for python... python
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MACHDEP... sunos5
checking for --without-gcc... yes
checking for --with-icc... no
checking for gcc... cc
checking whether the C compiler works... no
configure: error: in `/tmp/python/Python-3.6.6':
configure: error: C compiler cannot create executables
See `config.log' for more details
 とまぁ、同じ結果になったのです。

2.5 man 見てわかった大恥な話

 で、ふと man で見てみたら・・・。  cpp って「C言語プリプロセッサ」なんですって・・・。  シー・プラスプラスでなくてシープリプロセッサだったんですね。