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