/usr/ucb/cc: 言語オプションパッケージがインストールされていません。

/usr/ucb/cc: 言語オプションパッケージがインストールされていません。

シェルプロンプトからオブジェクトファイルを取得するためにいくつかのCコードをコンパイルしようとしています。

$cc a.c  

ただし、これにより次のエラーが発生します。

/usr/ucb/cc:  language optional software package not installed

Cコードをコンパイルする方法は?

答え1

まず、/usr/ucbこのディレクトリは廃止予定なので、PATHから削除する必要があります。数十年前、その目的は人々がSunOS 4からSolaris 2に簡単に移行できるようにすることでしたが、今はあまり意味がありません。特に、このccコマンドはBSDishコードをコンパイルするための特定のフラグを設定します。

第二に、現在のすべてのSolarisバージョンはデフォルトでCコンパイラに付属していますが、これはあなたのディレクトリではなくディレクトリ(Gnu Compiler)にあるかもしれませんPATH。 Solaris 11は。/usr/sfw/bingccgccPATH

Solaris 10 では、以下を使用します。

/usr/sfw/bin/gcc

または

PATH=$PATH:/usr/sfw/bin
gcc

または、以下をインストールした可能性があります(またはあなたはインストールすることができます)Solaris Studioコンパイラ(現在のOracle Developer Studio)。この場合、パスは<installation-dir>/bin/cc(たとえば/opt/SUNWspro/bin/cc, /opt/SolarisStudio11/bin/cc/opt/OracleDeveloperStudio12.5-OS-sparc-bin-bin/developerstudio12.5/bin/ccなど)になります。

答え2

残念ながら、sunは/usr/ucb/ccを提供しました。代わりに、SunOS 4と互換性があると思います。一部の非常に古いバージョン4.2とも互換性がありますが、コンパイルするにはSunPro(現在のSolaris Studio)もインストールする必要があります。デバイス。

このコンパイラは以下からダウンロードできます。

http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index.html

次のライセンス条件が適用されます(前のページから引用)。

商用アプリケーションの生産と開発のための永久無料ライセンスが提供されています。

答え3

Solaris インストールにはコンパイラはインストールされていません。 1900年代に、SunはCコンパイラに追加料金を請求し、コンパイラがまだインストールされていないことを通知するためにスタブ「cc」コマンドを提供しました。

ファイルをコンパイルするには、オペレーティングシステムとコンピュータのハードウェアと一致する同じSolarisバージョン(2.5.1?)とアーキテクチャ(SPARC / sun4m?)のコンパイラをインストールする必要があります。

もっと読むSunFreeware.com/usr/local/にインストールされているフリーソフトウェアの場合。

オープンソース/ GNUパスに進むと、依存関係を満たすために多くのパッケージをインストールする必要があるかもしれませんが、十分なディスク容量があればそれほど価値があるかもしれません。

SunのSparCompiler / Forte / SunStudioの以前のバージョンは、ノードロックライセンスでライセンスされていることが多く、古いパッケージのライセンスを購入できなくなるため、おそらく既存のシステムで購入するのは難しいかもしれません。

関連情報