Oracle(旧Sun) Solaris OS用の開発環境です。無償で利用可能です。
Oracle Solaris Studio のページから[Download]タブを選択し、Oracle Solaris Studio OTN Developer License Agreementに同意するにチェックを付けます。無償で登録できるOracle Technology Networkのログインが要求されるので、ログインします。
2010年9月14日現在、Ver.12.2が提供されています。
OTN Developer License Agreementによると、開発・テストを含む組織内のビジネス運営(internal business operations, including the development and testing)が該当します。
まず、SolarisStudio12.2-solaris-x86-pkg-ML.tar.bz2を展開します。
# gtar xjf SolarisStudio12.2-solaris-x86-pkg-ML.tar.bz2 # ls SolarisStudio12.2-solaris-x86-pkg-ML LEGAL OSS12.2_README-pkgs.txt patches OSS12.2_README-pkgs-ja.html SolarisStudio12.2-solaris-x86-pkg-ML.sh OSS12.2_README-pkgs-zh_CN.html install_patches.sh #
そして、インストーラをGUI環境用で実行します。
# ./SolarisStudio12.2-solaris-x86-pkg-ML.sh
必要なパッチが適用されていないとインストール画面にパッチをインストールするボタンが表示されます。インターネットに接続している環境では、パッチがインストールされ、インストールが続行できます。
Solaris Stuidoはデフォルトで/opt/solstudio12.2にインストールされますが、主要なコマンドは/usr/bin/にシンボリックが作成されています。(CC、c++filt、cc、dmake、lint、・・・)
ただし、すべてのコマンドではないので、必要であれば、/opt/solstudio12.2/binをPATHに追加した方がよいでしょう。
ELF形式の実行ファイル(共有ライブラリファイル)の情報を見ることができます。(/usr/ccs/bin/nmコマンドでもシンボル情報は見れます)
情報の中には、コンパイラのバージョン(パッチID)、コンパイルオプションが含まれています。
たまに実行時にこのエラーが出ることがありました。原因・解決方法は未定です。
この関数はどちらもlibCstdにて定義されているもので、発生した場合に以下の試行錯誤が有効な場合があります。
Solaris 10は、IEEE 1003.1、IEEE 1003.2をサポートしています。以下の定義が含まれます。
POSIX.1-1990, POSIX.1b-1993, POSIX.1c-1996, POSIX.2-1992, POSIX.2a-1992更新
また、X/Open共通アプリケーション環境ポータビリティガイドのXPG3, XPG4, XPG4v2, シングルUNIX仕様SUSv2(XPG5),
SUSv3(XPG6), XNS4, XNS5をサポートしています。
SUS:Single UNIX Specification。XPG4の後継。
UNIXの標準化の歴史には、IEEEによるPOSIXの流れ、The Open GroupによるX/Openの流れ、ISO/IECの規格と3系統がありましたが、これら3つの団体が共同で統一標準を出すに至り、ようやく1つのUNIX標準が規定されるようになりました。
The Open Groupが規定しているUNIX標準仕様。
X/Open Portability Guide, Issue 3 : XPG3
SVID3のユーティリティを含むPOSIX.1-1988のスーパーセット
X/Open CAE Specification, Issue 4: XPG4
XPG3に加えてPOSIX.1-1990、POSIX.2-1992、POSIX.2a-1992
X/Open CAE Specification, Issue 4, Version 2: XPG4v2
UNIX 95 (SUS or SUSv1)
BSDインタフェースを含むXPG4のスーパーセット
X/Open CAE Specification, Issue 5: XPG5
UNIX 98 (SUSv2)
SUSの拡張(POSIX.1b-1993、POSIX.1c-1996、ISO/IEC 9899 Amendment 1)
Open Group Technical Standard, Issue 6: XPG6
SUSv3
IEEE Std. 1003.1-2001 and ISO/IEC 9945:2002
この規格は、X/OpenとPOSIX規格の融合であり、POSIX.1-2001と同一
規格 | アプリケーションで指定するマクロ定義 | システム内部で使用するマクロ | 備考 |
XPG3 |
_XOPEN_SOURCE |
_XPG3 |
_XOPEN_SOURCEマクロの値は500未満 |
XPG4 |
_XOPEN_SOURCE && _XOPEN_VERSION=4 |
_XPG4 |
|
XPG4v2 |
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED=1 |
_XPG4_2 |
|
XPG5 |
_XOPEN_SOURCE=500 |
_XPG5 |
|
XPG6 |
_XOPEN_SOURCE=600 または POSIX_C_SOURCE=200112L |
_XPG6 |
Portable Operating System Interface for UNIXの略。米国電気電子学会(IEEE)で規定している、UNIX系のOSの共通仕様。システムコール(API)だけでなく、コマンド、ディレクトリ等についても規定している。