この手順では、必要なシステムパッチまたは更新がインストールされていないときに表示されるエラーを示します。
この例では、Oracle Solaris Studio は、tar ファイルから、Oracle Solaris 10 システム上のディレクトリ /export/home/example/solarisstudio12.4 にインストールされました。コンパイラは、コンパイラオプションが使用されていない場合に単純なプログラムを正しくコンパイルし、-O オプションが使用されている場合にエラーを返します。
#include <stdio.h> main() { printf("hello, world\n"); }
% cc -V hello.c cc: Sun C 5.13 SunOS_i386 2014/10/21 acomp: Sun C 5.13 SunOS_i386 2014/10/21 ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.1505 % a.out hello world %
プログラムはコンパイルし、問題なく実行します。
% cc -O -V hello.c cc: Sun C 5.13 SunOS_i386 2014/10/21 acomp: Sun C 5.13 SunOS_i386 2014/10/21 compiler(iropt) error: iropt: dlsym() could not find function _mmheap_create /export/home/example/solarisstudio12.4/lib/compilers/iropt'quit+0x3e [0x8285dfe] /export/home/example/solarisstudio12.4/lib/compilers/iropt'0x24acfa [0x829acfa] /export/home/example/solarisstudio12.4/lib/compilers/iropt'main+0x17 [0x8341417] /export/home/example/solarisstudio12.4/lib/compilers/iropt'_start+0x72 [0x80947c2] cc: Fatal error in /export/home/example/solarisstudio12.4/lib/compilers/iropt cc: Status 134
必要なシステムライブラリ /lib/libmmheap.so.1 が更新もインストールもされていないので、エラーが発生します。
次のステップ
プログラムを -O でコンパイルした場合、これ以上必要な作業はありません。
プログラムがコンパイルされず、同様のエラーが生成された場合、システム管理者は必要な更新またはパッチをインストールする必要があります。
Oracle Solaris 10 の場合、必要な Oracle Solaris 10 パッチのインストールを参照してください。
Oracle Solaris 11 の場合、Oracle Solaris Studio 12.4 が必要とする Oracle Solaris 11 システムライブラリの更新を参照してください。