web-dev-qa-db-ja.com

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

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

$cc a.c  

しかし、これは私に次のエラーを与えます:

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

Cコードをコンパイルするにはどうすればよいですか?

3
user7164

まず、このディレクトリは現在かなり廃止されているため、PATHから/usr/ucbを削除する必要があります。これは、数十年前にSunOS4からSolaris2に移行する人々を容易にすることを目的としていましたが、最近ではあまり意味がありません。特に、BSDishコードをコンパイルするために特定のフラグを設定するこのccコマンド。

次に、現在のすべてのSolarisリリースにはCコンパイラが付属していますが、PATH/usr/sfw/binにない可能性のあるディレクトリにあり、gcc( Gnuコンパイラ)。 Solaris11のgccにはPATHがあることに注意してください。

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など)

8
jlliagre

Sunが/ usr/ucb/ccを出荷したのは残念です。あなたはそれがSunOS4と互換性があると思うでしょう。代わりに、4.2の非常に古いバージョンと互換性がありますが、SunPro(現在はSolaris Studio)コンパイラのインストールも必要でした。

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

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

以下のライセンス条項に基づきます(上記のページから引用)

本番環境での使用および商用アプリケーションの開発のための永続的な無料ライセンスを提供します。

2
Casper Dik

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

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

/ usr/local /の下にインストールされるフリーソフトウェアについては、 SunFreeware.com で詳細をご覧ください。

そのオープンソース/ GNUの道を進む場合、それが機能する前に依存関係を満たすためにおそらく多くのパッケージをインストールする必要がありますが、ディスク容量がある場合はおそらくそれだけの価値があります。

SunのSparCompiler/Forte/SunStudioの古いバージョンは、通常はノードロックライセンスでライセンスされているため、(おそらく)古いマシンでは入手が難しい場合があり、これらの廃止されたソフトウェアパッケージのライセンスを購入することはできなくなります。

1
MattBianco