반응형

 

AIX에서 사용하는 컴파일러는 기본적으로 xl c/C 인데

xlc는 c Compiler이며 xlC는 C++ Compiler가 되겠다.

 

리눅스는 gcc/g++ , HP-UX는 cc/aCC 와 매칭되는 컴파일러들인데

해당 시스템에 해당 컴파일러가 어디에 위치하고 설치되어 있는데 그리고 각각 어떠한 Fileset을 가지고 있는지 알아보자

 

우선 일반적으로 AIX 시스템에는 /usr/bin에 해당 컴파일러들의 심볼릭 링크가 걸려있는데 xlc, xlC 등의 실행은 이곳에서도 실행 시킬 수 있다.

문제는 각각 C/C++ Compiler Fileset이 설치가 되어 있는지 안 되어 있는지 확인하고자 할 때 어떻게 해야 하냐는 건데

 

우선 일반적으로 바이너리가 설치되는 위치를 살펴보자.

 

/usr/vac/bin     <- XL C Compiler Binary 설치 위치

/usr/vacpp/bin  <- XL C++ Compiler Binary 설치 위치

 

각각의 디렉토리에 가보면 xlc, xlc_r, xlC, xlC_r 부터 시작해서 뭐 이상한 바이너리가 잔뜩 있는데...

ls -la 해서 가만히 살펴보면 심볼릭 링크가 되어 있는 것을 따라가다 보면 신기하게도 죄다 xlc로 귀결된다.

어떤 바이너리를 실행시켜도 결국에는 xlc가 실행된다는건데, 이는 AIX의 XL 컴파일러가 내부적으로 실행 시킨 바이너리 파일을 기준으로

다른 전처리 옵션을 타는게 아닌가 싶은데.. 뭐 자세한 동작 원리는 아직 잘 모르겠다.

 

우선적으로 AIX 시스템의 경우 /usr/lpp에 보면 xlC 부분도 있긴 한데 이는 SW Directory로 해당 소프트웨어의 Description을 확인할 수 있는 뭐... 그런거 같다. 정확하게는 이것도 아직 공부 중임. 어쨋거나 AIX에서 소프트웨어가 설치될때 installp 를 사용하는데 이를 사용하여 설치된 소프트웨어는 /usr/lpp에서 관리된다는 사실 알아놓으면 좋을꺼 깥다.

 

그렇다면 IBM 공식 홈페이지에 적혀 있는 각각 Compiler의 Fileset을 살펴보자

각각의 Fileset이 현재 AIX 서버 머신에 설치되어 있는지 확인하고자 한다면

 

lslpp -la | grep [fileset 명] 을 입력해주면 되겠다.

 

(XL C/C++ V8.0 for AIX 기준)

 

XL C compiler filesets

The following filesets are included in the XL C compiler.

Table 3. XL C compiler filesets
Fileset name Fileset description
vac.C IBM XL C compiler
vac.include IBM XL C compiler include files
vac.man.LANG
Note:
LANG is one of: en_US, EN_US, ja_JP, Ja_JP, JA_JP, zh_CN, Zh_CN, ZH_CN.
IBM XL C compiler manual pages
vac.lib IBM XL C compiler libraries
vac.aix50.lib IBM XL C compiler libraries for AIX 5
vac.lic IBM XL C license files
Note:
For licensed customers only
vac.msg.LANG.C
Note:
LANG is one of: en_US, EN_US, ja_JP, Ja_JP, JA_JP, zh_CN, ZH_CN.
IBM XL C compiler messages

 

XL C++ compiler filesets

The following filesets are included in the XL C/C++ compiler.

Note:
All of the filesets required for the XL C compiler, except vac.ndi and vac.licAgreement, are also required for the XL C/C++ compiler.

Table 4. XL C/C++ compiler filesets
Fileset name Fileset description
vacpp.cmp.aix50.lib IBM XL C/C++ libraries for AIX 5.1, 5.2 and 5.3
vacpp.cmp.aix50.tools IBM XL C/C++ tools for AIX 5.1, 5.2 and 5.3
vacpp.cmp.core IBM XL C/C++ compiler
vacpp.cmp.include IBM XL C/C++ compiler include files
vacpp.cmp.lib IBM XL C/C++ libraries
vacpp.cmp.rte IBM XL C/C++ compiler application runtime
vacpp.cmp.tools IBM XL C/C++ tools
vacpp.lic IBM XL C/C++ license files
vacpp.licAgreement IBM XL C++ electronic license agreement files
vacpp.memdbg.aix50.lib IBM XL C/C++ user heap/memory debug AIX 5.1, 5.2 and 5.3 libraries
vacpp.memdbg.aix50.rte IBM XL C/C++ user heap/memory debug AIX 5.1, 5.2 and 5.3 runtime
vacpp.memdbg.lib IBM XL C/C++ user heap and memory debugger static library
vacpp.memdbg.rte IBM XL C/C++ user heap and memory debugger runtime
vacpp.msg.LANG.cmp.core
Note:
LANG is one of: en_US, EN_US, ja_JP, Ja_JP, JA_JP, zh_CN, ZH_CN.
IBM XL C/C++ compiler messages
vacpp.msg.LANG.cmp.tools
Note:
LANG is one of: en_US, EN_US, ja_JP, Ja_JP, JA_JP, zh_CN, ZH_CN.
IBM XL C/C++ tools messages
vacpp.man.LANG
Note:
LANG is one of: en_US, EN_US, ja_JP, Ja_JP, JA_JP, zh_CN, ZH_CN.
IBM XL C/C++ compiler manual pages

C++ runtime filesets

The following filesets are included in the IBM XL C/C++ Enterprise Edition V8.0 for AIX compiler installation package, and must be installed with the compiler.

Table 5. C++ runtime filesets
Fileset name Fileset description
xlC.adt.include C Set ++ application development toolkit
xlC.aix50.rte C Set ++ runtime for AIX 5.1, 5.2 and 5.3
xlC.msg.LANG.rte
Note:
LANG is one of: en_US, ja_JP, Ja_JP.
C Set ++ runtime messages
xlC.rte C Set ++ runtime

 

 

 

반응형

'OS > AIX::' 카테고리의 다른 글

AIX xlc 컴파일러 비트 설정  (0) 2014.01.09
AIX의 2가지의 프로그래밍 모델  (0) 2014.01.09
AIX Thread Dump 분석 방법  (0) 2012.08.22
AIX 라이브러리 버전 확인  (0) 2012.07.12
AIX 컴파일 정보  (0) 2011.10.05

+ Recent posts