BSD 互換のなんらかのコードをコンパイルしているときに、usr/ucb/cc を起動するとエラーが発生しました。別製品のコンパイラ (SPARCworks Professional C 製品) は /opt にインストールされます。
/usr/ucb/cc は、ファイル /usr/ccs/bin/ucbcc を探すためのスクリプトであり、このファイルを見つけると、BSD 互換のコンパイルのために適切なライブラリフラグを設定して起動します。
/usr/ucb/cc は、SUNWscpu のパッケージの一部です。/usr/ccs/bin/ucbcc は、別製品の C コンパイラ、SPROcc のインストール中に作成される /opt/SUNWspro/bin/acc に対するシンボリックリンクです。
OS に含まれている開発パッケージ、SUNWscpu、SUNWbtool、および別製品の C コンパイラ SPROcc が存在することを確認します。しかし、/usr/ccs/bin/ucbcc がユーザーのシステム上になければ、明らかにどこかでこのリンクが削除されています。
新しいシンボリックリンクを作成して、問題を解決してください。
# ln -s /opt/SUNWspro/bin/acc /usr/ccs/bin/ucbcc |
次のコマンドを使用して、必要な特定のコンポーネントを含むパッケージを確認します。
craterlake% grep ucb/cc /var/sadm/install/contents /usr/ucb/cc f none 0555 bin bin 3084 50323 814621113 *SUNWscpu craterlake% ls -l /usr/ucb/cc -r-xr-xr-x 1 bin bin 3084 Oct 25 1995 /usr/ucb/cc craterlake% file !$ file /usr/ucb/cc /usr/ucb/cc: executable /usr/bin/sh script craterlake% grep ucbcc /var/sadm/install/contents /usr/ccs/bin/ucbcc=/opt1/40/SUNWspro/SC4.0/bin/acc s none SPROcc SPROcc.2 SPROcc.5 craterlake% file /usr/ccs/bin/ucbcc /usr/ccs/bin/ucbcc: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped craterlake% ls -l /usr/ccs/bin/ucbcc lrwxrwxrwx 1 root other 31 Aug 23 1996 /usr/ccs/bin/ucbcc -> /opt1/40/SUNWspro/SC4.0/bin/acc |