이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 perlaix 명령입니다.
프로그램:
이름
perlaix - IBM AIX(UNIX) 시스템의 Perl 버전 5
기술
이 문서에서는 IBM UNIX 운영 체제 AIX의 다양한 기능을 설명합니다.
Perl 버전 5(이하 Perl만)가 컴파일 및/또는 실행되는 방식에 영향을 미칩니다.
컴파일 펄 5 on AIX
이전 AIX 버전의 컴파일러에 대한 정보는 "이전 AIX에서 Perl 5 컴파일"을 참조하십시오.
최대 4.3.3" 버전.
Perl을 컴파일할 때 ANSI C 컴파일러를 사용해야 합니다. AIX는 ANSI 규격을 제공하지 않습니다.
기본적으로 AIX가 포함된 C 컴파일러이지만 AIX용 gcc의 바이너리 빌드가 널리 사용 가능합니다. ㅏ
gcc 버전은 AIX와 함께 제공되는 AIX 도구 상자에도 포함되어 있습니다.
지원 컴파일러
현재 IBM의 "xlc", "xlc_r", "cc", "cc_r" 또는 "vac" ANSI/C 컴파일러의 모든 버전은
해당 컴파일러가 시스템에서 작동하는 경우 Perl 구축을 위해 노력하십시오.
DBD::Oracle과 같이 스레드 지원이 필요한 모듈에 Perl을 연결하려는 경우
_r 버전의 컴파일러를 사용하는 것이 더 좋습니다. 이것은 스레드 Perl을 빌드하지는 않지만
스레드 가능 Perl. 나중에 "Threaded Perl"을 참조하세요.
작성 당시(2010-09)에만 IBM XL C 을 통한 AIX or IBM XL C / C ++ 을 통한 AIX 컴파일러는
AIX 5L/6.1/7.1에서 IBM이 지원합니다.
현재 IBM에서 지원하는 컴파일러 버전은 다음과 같습니다.
IBM XL C 및 IBM XL C/C++ V8, V9, V10, V11
AIX용 XL C는 AIX용 XL C/C++ 컴파일러에 통합되어 있으므로
지원.
XL C/C++ V9를 선택하는 경우 APAR IZ35785를 설치해야 하며, 그렇지 않으면 통합
최적화 버그로 인해 SDBM_File이 올바르게 컴파일되지 않습니다. 이것을 피할 수 있습니다
최적화 플래그에 -qipa를 추가하면 문제가 발생합니다(-Doptimize='-O -qipa'). 에 대한 PTF
이 문제를 해결하는 APAR IZ35785는 IBM(2009년 XNUMX월 XL C/C++용 PTF)에서 제공됩니다.
AIX용 엔터프라이즈 에디션, V9.0).
XL C/C++ V11을 선택하는 경우 2010년 XNUMX월 PTF(또는 그 이상)가 설치되어 있어야 합니다. 그렇지 않으면
작동하는 Perl 버전을 얻을 수 없습니다.
Perl은 IBM의 ANSI C 컴파일러나 gcc를 사용하여 컴파일할 수 있습니다. 전자는
Perl을 어려움 없이 컴파일할 수 있을 뿐만 아니라
IBM 컴파일러별 명령을 사용해야 하는 나중에 나열된 기능의 이점
라인 플래그.
gcc를 사용하기로 결정했다면 설치가 최신이고 완전한지 확인하고,
더 많은 gcc 관련 세부 정보를 보려면 Perl INSTALL 파일을 읽어보세요. 당신이 어떤 농구를 신고하십시오
개발팀으로 건너가야 했습니다.
비 호환성 과 AIX 도구 상자 lib gdbm
lib gdbm < 1.8.3-5의 AIX Toolbox 버전이 시스템에 설치된 경우 Perl
작동 안 할 것이다. 이 라이브러리에는 헤더 파일이 포함되어 있습니다.
/opt/freeware/include/gdbm/dbm.h|ndbm.h 이는 AIX 시스템 버전과 충돌합니다. 그만큼
lib gdbm은 다음 중 하나가 있으면 원하는 라이브러리에서 자동으로 제거됩니다.
이 두 헤더 파일이 감지되었습니다. GDBM 지원으로 Perl을 빌드하려면 다음을 수행하십시오.
최소한 gdbm-devel-1.8.3-5(또는 그 이상)을 설치하세요.
펄 5 였다 성공적으로 컴파일 그리고 테스트 에 :
펄 | AIX 레벨 | 컴파일러 수준 | w 일 | 없이
-----+---------+------- ------+------+-------
5.12.2 |5.1 TL9 32비트 | XL C/C++ V7 | 알았어 | 좋아요
5.12.2 |5.1 TL9 64비트 | XL C/C++ V7 | 알았어 | 좋아요
5.12.2 |5.2 TL10 SP8 32비트 | XL C/C++ V8 | 알았어 | 좋아요
5.12.2 |5.2 TL10 SP8 32비트 | gcc 3.2.2 | 알았어 | 좋아요
5.12.2 |5.2 TL10 SP8 64비트 | XL C/C++ V8 | 알았어 | 좋아요
5.12.2 |5.3 TL8 SP8 32비트 | XL C/C++ V9 + IZ35785 | 알았어 | 좋아요
5.12.2 |5.3 TL8 SP8 32비트 | gcc 4.2.4 | 알았어 | 좋아요
5.12.2 |5.3 TL8 SP8 64비트 | XL C/C++ V9 + IZ35785 | 알았어 | 좋아요
5.12.2 |5.3 TL10 SP3 32비트 | XL C/C++ V11 + 2010년 XNUMX월 | 알았어 | 좋아요
5.12.2 |5.3 TL10 SP3 64비트 | XL C/C++ V11 + 2010년 XNUMX월 | 알았어 | 좋아요
5.12.2 |6.1 TL1 SP7 32비트 | XL C/C++ V10 | 알았어 | 좋아요
5.12.2 |6.1 TL1 SP7 64비트 | XL C/C++ V10 | 알았어 | 좋아요
5.13 |7.1 TL0 SP1 32비트 | XL C/C++ V11 + 2010년 XNUMX월 | 알았어 | 좋아요
5.13 |7.1 TL0 SP1 64비트 | XL C/C++ V11 + 2010년 XNUMX월 | 알았어 | 좋아요
w th = 스레드 지원 포함
w/o th = 스레드 지원 없음
확인 = 테스트됨
성공적으로 테스트되었다는 것은 모든 "테스트 수행" 실행이 100% OK라는 결과로 완료되었음을 의미합니다. 모두
테스트는 -Duseshrplib 세트를 사용하여 수행되었습니다.
모든 테스트는 최신 지원되는 가장 오래된 AIX 기술 수준에서 수행되었습니다.
지원 패키지가 적용되었습니다. 테스트된 AIX 버전이 지원되지 않는 경우(AIX 4.3.3, 5.1, 5.2)
그런 다음 사용 가능한 마지막 지원 수준이 사용되었습니다.
건물 동적 확장 on AIX
Perl 5.7.2(및 결과적으로 5.8.x / 5.10.x / 5.12.x) 및 AIX 4.3 이상부터 시작
Perl은 소위 런타임 연결 모드에서 AIX 기본 동적 로딩 인터페이스를 사용합니다.
Perl 릴리스 5.6.1 및 이전 버전에서 사용된 에뮬레이트된 인터페이스 대신 또는
AIX 릴리스 4.2 이하. 이 변경으로 인해 컴파일된 버전과의 이전 버전과의 호환성이 손상되었습니다.
이전 Perl 릴리스의 모듈. Perl이 다음과 더 잘 호환되도록 변경되었습니다.
AIX 기본 인터페이스를 사용하는 Apache/mod_perl과 같은 다른 애플리케이션. 이것
또한 변경을 통해 Perl의 정적 생성자 및 소멸자와 함께 C++ 코드를 사용할 수 있습니다.
에뮬레이트된 인터페이스로는 불가능했던 확장입니다.
새로운 인터페이스를 사용하는 것이 좋습니다.
사용 큰 파일 과 펄
문제가 발생하지 않아야 합니다.
스레드 된 펄
AIX 5.1 / 5.2 / 5.3 / 6.1 / 7.1에서는 문제가 발생하지 않습니다.
IBM은 AIX 시스템 Perl(AIX 5.6.0에서는 V5.1, AIX 5.8.2/5.2 및 5.3에서는 V6.1,
AIX 5.8.8 TL5.3 및 AIX 11 TL6.1의 V4; AIX 5.10.1의 V7.1) 일부 AIX 시스템 스크립트의 경우.
링크를 전환하면 / usr / bin AIX 시스템 Perl(/usr/opt/perl5)에서 새로
Perl을 빌드하면 IBM AIX 시스템 Perl과 동일한 기능을 얻을 수 있습니다.
옵션이 사용됩니다.
스레드 Perl 빌드는 AIX 5.1에서도 작동하지만 IBM Perl 빌드(Perl v5.6.0)는 작동하지 않습니다.
AIX 5.1에서 스레드되었습니다.
Perl 5.12 이후 버전은 IBM 파일 세트 perl.libext와 호환되지 않습니다.
64-bit 펄
AIX 시스템이 64비트 지원과 함께 설치된 경우 64비트 구성을 기대할 수 있습니다.
일하다. AIX 64에서 6.1비트 Perl을 사용하려면 libc.a 버그에 대한 APAR이 필요합니다.
(n)dbm_XXX 기능에 영향을 미칩니다. 이 문제의 APAR 번호는 IZ39077입니다.
Perl 프로그램에 더 많은 메모리(더 큰 데이터 세그먼트)가 필요한 경우 다음을 설정할 수 있습니다.
/etc/보안/제한
기본값: (또는 사용자)
데이터 = -1(기본값은 262144 * 512바이트)
기본 설정에서는 크기가 128MB로 제한됩니다. -1은 이 제한을 제거합니다. 만약
"make test"가 실패하면 위에서 설명한 대로 /etc/security/limits를 변경하십시오.
긴 더블스
IBM은 long double 구현을 128비트라고 부르지만 IEEE 128비트는 아닙니다.
("116배 정밀도") 이는 XNUMX비트 가수를 제공합니다.
하드웨어) 대신 "double-double"이라는 특수 소프트웨어 구현입니다.
106비트의 가수를 제공합니다.
이 긴 이중 구현에는 다양한 문제가 있는 것 같습니다. 구성하는 경우
이러한 파손을 감지하면 긴 이중 지지가 비활성화됩니다. 이는 재정의될 수 있습니다.
명시적인 "-Duselongdouble"(또는 "-Dusemorebits")을 사용하면 긴 더블과
64비트 정수). 대부분의 깨진 것들에 대해 긴 더블을 활성화하기로 결정한 경우
Perl은 해결 방법을 구현했지만 특수 값 infinity 및 NaN을 처리하는 데 문제가 있습니다.
심하게 손상된 상태로 유지됩니다. 예를 들어 무한대에 XNUMX을 더하면 NaN이 발생합니다.
추천 옵션 AIX 5.1 / 5.2 / 5.3 / 6.1 그리고 7.1 (스레드/32비트)
다음 옵션을 사용하면 모든 make 테스트를 통과하는 스레드 Perl 버전을 얻을 수 있습니다.
스레드된 32비트 모드는 AIX용 Perl 빌드의 기본 구성입니다.
함께 배송됩니다.
RM 구성.sh
./구성 \
-d \
-Dcc=cc_r \
-Duseshrplib \
-Dusethreads \
-Dprefix=/usr/opt/perl5_32
-Dprefix 옵션은 IBM AIX 시스템 Perl과 병렬인 디렉토리에 Perl을 설치합니다.
설치.
추천 옵션 AIX 5.1 / 5.2 / 5.3 / 6.1 그리고 7.1 (32 비트)
다음 옵션을 사용하면 32비트의 모든 make 테스트를 통과하는 Perl 버전을 얻을 수 있습니다.
방법.
RM 구성.sh
./구성 \
-d \
-Dcc=cc_r \
-Duseshrplib \
-Dprefix=/usr/opt/perl5_32
-Dprefix 옵션은 IBM AIX 시스템 Perl과 병렬인 디렉토리에 Perl을 설치합니다.
설치.
추천 옵션 AIX 5.1 / 5.2 / 5.3 / 6.1 그리고 7.1 (스레드/64비트)
다음 옵션을 사용하면 모든 make 테스트를 통과하는 스레드 Perl 버전을 얻을 수 있습니다.
64비트 모드.
내보내기 OBJECT_MODE=64 / setenv OBJECT_MODE 64 (쉘에 따라 다름)
RM 구성.sh
./구성 \
-d \
-Dcc=cc_r \
-Duseshrplib \
-Dusethreads \
-Duse64bitall \
-Dprefix=/usr/opt/perl5_64
추천 옵션 AIX 5.1 / 5.2 / 5.3 / 6.1 그리고 7.1 (64 비트)
다음 옵션을 사용하면 64비트의 모든 make 테스트를 통과하는 Perl 버전을 얻을 수 있습니다.
방법.
내보내기 OBJECT_MODE=64 / setenv OBJECT_MODE 64 (쉘에 따라 다름)
RM 구성.sh
./구성 \
-d \
-Dcc=cc_r \
-Duseshrplib \
-Duse64bitall \
-Dprefix=/usr/opt/perl5_64
-Dprefix 옵션은 IBM AIX 시스템 Perl과 병렬인 디렉토리에 Perl을 설치합니다.
설치.
64비트 Perl을 컴파일하기 위해 gcc를 선택하는 경우 다음 옵션을 추가해야 합니다.
-Dcc='gcc -maix64'
컴파일 펄 5 on AIX 7.1.0
AIX 7의 회귀로 인해 일광 절약 시간 동안 Time::Piece의 make 테스트가 실패합니다.
시간. APAR IV16514는 이에 대한 수정사항을 제공합니다. 필요한지 확인하기 위한 간단한 테스트,
현재 동부 표준시 일광 절약 시간제라고 가정하면 " TZ=EST5 날짜를 실행합니다.
+%Z ". 일반적으로 "EST"로 반환되지만 문제가 있으면 아무것도 반환되지 않습니다.
컴파일 펄 5 on 이전 AIX 버전 up 에 4.3.3
AIX 4.3.3이 31년 2003월 XNUMX일에 서비스가 종료되었기 때문에
정보는 있는 그대로 제공됩니다. Perl 5.8.9 이전의 Perl 버전은 다음에서 컴파일될 수 있습니다.
다음 설정을 사용하는 AIX 최대 4.3.3(마일리지는 다를 수 있음):
Perl을 컴파일할 때 ANSI C 컴파일러를 사용해야 합니다. AIX는 ANSI 규격을 제공하지 않습니다.
기본적으로 AIX가 포함된 C 컴파일러이지만 AIX용 gcc의 바이너리 빌드가 널리 사용 가능합니다.
이 글을 쓰는 시점에서 AIX는 두 가지 서로 다른 기본 C 컴파일러를 지원합니다.
지불해야합니다: xlC 그리고 비어있는. 이 두 가지 중 하나를 사용하기로 결정한 경우(상당히 많은
gcc를 사용하는 것보다 쉽습니다) 사용 가능한 최신 패치 수준으로 업그레이드하세요. 현재:
xlC.C 3.1.4.10 또는 3.6.6.0 또는 4.0.2.2 또는 5.0.2.9 또는 6.0.0.3
vac.C 4.4.0.3, 5.0.2.6, 6.0.0.1
xlC의 이름에는 버전 4.0.2.0의 OS 버전이 있으므로 xlC.C를 찾을 수 있습니다.
AIX-5.0용 패키지
xlC.aix50.rte 5.0.2.0 또는 6.0.0.3
Subversion은 모든 OS 버전에서 동일한 "최신"이 아닙니다. 예를 들어 최신 xlC-5는
aix41은 5.0.2.9이고, aix43에서는 5.0.2.7입니다.
Perl은 IBM의 ANSI C 컴파일러나 gcc를 사용하여 컴파일할 수 있습니다. 전자는
Perl을 어려움 없이 컴파일할 수 있을 뿐만 아니라
IBM 컴파일러별 명령을 사용해야 하는 나중에 나열된 기능의 이점
라인 플래그.
IBM의 컴파일러 패치 레벨 5.0.0.0 및 5.0.1.0에는 다음과 같은 컴파일러 최적화 버그가 있습니다.
perl.c와 regcomp.c를 각각 컴파일하는 데 영향을 미칩니다. Perl의 구성이 감지하는 경우
해당 컴파일러 패치 수준에서는 해당 소스 코드 파일에 대한 최적화가 꺼집니다.
최소 5.0.2.0으로 업그레이드하는 것이 좋습니다.
gcc를 사용하기로 결정했다면 설치가 최신이고 완전한지 확인하고,
더 많은 gcc 관련 세부 정보를 보려면 Perl INSTALL 파일을 읽어보세요. 당신이 어떤 농구를 신고하십시오
개발팀으로 건너가야 했습니다.
OS 수평
IBM C 컴파일러에 패치를 설치하기 전에 패치 수준을 알아야 합니다.
운영 체제용. IBM의 'oslevel' 명령은 베이스를 표시하지만 항상 그런 것은 아닙니다.
완료(이 예에서 oslevel은 4.3.NULL을 표시하는 반면 시스템은 대부분의
4.3):
# 오스레벨
4.3.0.0
# lslpp -l | grep 'bos.rte'
bos.rte 4.3.3.75 커밋된 기본 운영 체제 런타임
bos.rte 4.3.2.0 커밋된 기본 운영 체제 런타임
#
AIX 5.1이나 다른 OS 레벨에서도 마찬가지입니다. 참고로 Perl은 빌드할 수 없습니다.
bos.adt.syscalls 및 bos.adt.libm이 설치되지 않은 경우
# lslpp -l | egrep "syscalls|libm"
bos.adt.libm 5.1.0.25 커밋된 기본 애플리케이션 개발
bos.adt.syscalls 5.1.0.36 커밋된 시스템 호출 응용 프로그램
#
건물 동적 확장 on AIX < 5L
AIX는 동적으로 로드 가능한 객체와 공유 라이브러리를 지원합니다. 공유 라이브러리
관례적으로 접미사 .a로 끝나는데 이는 아카이브에 포함될 수 있으므로 약간 오해의 소지가 있습니다.
정적 멤버와 동적 멤버. Perl이 동적으로 로드된 객체의 경우 .so를 사용합니다.
다른 많은 플랫폼에서도 사용되는 접미사입니다.
Perl 5.7.2(및 결과적으로 5.8.0) 및 AIX 4.3 이상 Perl에서는 다음을 사용합니다.
대신 소위 런타임 링크 모드의 AIX 기본 동적 로딩 인터페이스
Perl 릴리스 5.6.1 이하 또는 AIX용으로 사용된 에뮬레이트된 인터페이스
릴리스 4.2 이하. 이 변경으로 인해 컴파일된 버전과의 이전 버전과의 호환성이 손상되었습니다.
이전 Perl 릴리스의 모듈. Perl이 다음과 더 잘 호환되도록 변경되었습니다.
AIX 기본 인터페이스를 사용하는 Apache/mod_perl과 같은 다른 애플리케이션. 이것
또한 변경을 통해 Perl의 정적 생성자 및 소멸자와 함께 C++ 코드를 사용할 수 있습니다.
에뮬레이트된 인터페이스로는 불가능했던 확장입니다.
The IBM ANSI C 컴파일러
구성의 모든 기본값을 사용할 수 있습니다.
vac 4를 사용하기로 선택한 경우 4.4.0.3을 실행해야 합니다. 이전 버전은 불쾌감을 줄 것입니다.
나중에. vac 5의 경우 최소 5.0.1.0을 실행해야 하지만 vac 5.0.2.6 이상은 매우
추천합니다. IBM은 소프트웨어에서 vac 5.0.2.1~5.0.2.5를 제거했기 때문에 참고하세요.
저장소의 경우 이러한 버전은 더 이상 사용되지 않는 것으로 간주되어야 합니다.
다음은 컴파일러를 최신 수준으로 업그레이드하는 방법에 대한 간략한 설명입니다. 물론 이것은
변경될 수 있습니다. 첫 번째 경우에만 FTP 사용 가능한 업데이트의 버전을 업그레이드할 수 있습니다.
세 자리 그룹은 동일합니다(여기서 패치와 달리 중간을 건너뛸 수 있음).
Perl의 개발자 스냅샷) 또는 "기본"을 사용할 수 있는 한 버전 위로 이동합니다. ~ 안에
즉, AIX 컴파일러 패치는 누적됩니다.
vac.C.4.4.0.1 => vac.C.4.4.0.3은 괜찮습니다 (vac.C.4.4.0.2는 필요하지 않습니다)
xlC.C.3.1.3.3 => xlC.C.3.1.4.10은 적합하지 않습니다(xlC.C.3.1.4.0은 사용할 수 없음).
# ftp ftp.software.ibm.com
service.boulder.ibm.com에 연결되었습니다.
: 환영 메시지 ...
이름(ftp.software.ibm.com:merijn): 익명
331 게스트 로그인 OK, 전체 이메일 주소를 비밀번호로 보내주세요.
암호:
... 허용되는 로그인 항목
ftp> cd /aix/fixes/v4/
ftp> dir other other.ll
로컬 파일로 출력: other.ll? 와이
200 PORT 명령이 성공했습니다.
150 /bin/ls에 대한 ASCII 모드 데이터 연결을 여는 중입니다.
226 전송이 완료되었습니다.
ftp> 디렉토리 xlc xlc.ll
로컬 파일로 출력: xlc.ll? 와이
200 PORT 명령이 성공했습니다.
150 /bin/ls에 대한 ASCII 모드 데이터 연결을 여는 중입니다.
226 전송이 완료되었습니다.
ftp> 안녕
... 작별 메시지
# ls -l *.ll
-rw-rw-rw- 1 merijn 시스템 1169432 2월 17일 29:XNUMX other.ll
-rw-rw-rw- 1 merijn 시스템 29170 2월 17일 29:XNUMX xlc.ll
xlC를 사용하는 AIX 4.2에서는 다음을 계속합니다.
# lslpp -l | fgrep 'xlC.C'
xlC.C 3.1.4.9 AIX 컴파일러용 커밋된 C
xlC.C 3.1.4.0 AIX 컴파일러용 커밋된 C
# grep 'xlC.C.3.1.4.*.bff' xlc.ll
-rw-r--r-- 1 45776101 1 6286336 22년 1996월 3.1.4.1일 xlC.C.XNUMX.bff
-rw-rw-r-- 1 45776101 1 6173696 24년 1998월 3.1.4.10일 xlC.C.XNUMX.bff
-rw-r--r-- 1 45776101 1 6319104 14년 1996월 3.1.4.2일 xlC.C.XNUMX.bff
-rw-r--r-- 1 45776101 1 6316032 21년 1996월 3.1.4.3일 xlC.C.XNUMX.bff
-rw-r--r-- 1 45776101 1 6315008 20년 1996월 3.1.4.4일 xlC.C.XNUMX.bff
-rw-rw-r-- 1 45776101 1 6178816 28년 1997월 3.1.4.5일 xlC.C.XNUMX.bff
-rw-rw-r-- 1 45776101 1 6188032 22년 1997월 3.1.4.6일 xlC.C.XNUMX.bff
-rw-rw-r-- 1 45776101 1 6191104 5년 1997월 3.1.4.7일 xlC.C.XNUMX.bff
-rw-rw-r-- 1 45776101 1 6185984 13년 1998월 3.1.4.8일 xlC.C.XNUMX.bff
-rw-rw-r-- 1 45776101 1 6169600 27년 1998월 3.1.4.9일 xlC.C.XNUMX.bff
#wget ftp://ftp.software.ibm.com/aix/fixes/v4/xlc/xlC.C.3.1.4.10.bff
#
vac를 사용하는 AIX 4.3에서는 다음을 계속합니다.
# lslpp -l | grep 'vac.C'
vac.C 5.0.2.2 AIX 컴파일러용 COMMITTED C
vac.C 5.0.2.0 AIX 컴파일러용 COMMITTED C
# grep 'vac.C.5.0.2.*.bff' other.ll
-rw-rw-r-- 1 45776101 1 13592576 16년 2001월 5.0.2.0일 vac.C.XNUMX.bff
-rw-rw-r-- 1 45776101 1 14133248 9년 2002월 5.0.2.3일 vac.C.XNUMX.bff
-rw-rw-r-- 1 45776101 1 14173184 20년 2002월 5.0.2.4일 vac.C.XNUMX.bff
-rw-rw-r-- 1 45776101 1 14192640 22년 2002월 5.0.2.6일 vac.C.XNUMX.bff
#wget ftp://ftp.software.ibm.com/aix/fixes/v4/other/vac.C.5.0.2.6.bff
#
다른 모든 OS 수준에서도 마찬가지입니다. 그런 다음 다음 명령을 실행하고 해당 내용을 채웁니다.
선택
# smit install_update
-> 사용 가능한 최신 소프트웨어에서 설치 및 업데이트
* 소프트웨어용 입력 장치 / 디렉토리 [ vac.C.5.0.2.6.bff ]
[ 확인 ]
[ 확인 ]
메시지를 따르세요. 그러면 완료됩니다.
좀 더 웹과 유사한 접근 방식을 좋아한다면 좋은 시작점이 될 수 있습니다.
http://www14.software.ibm.com/webapp/download/downloadaz.jsp "C for AIX"를 클릭하고
지시를 따르다.
The 사용 option
miniperl을 연결하는 경우
cc -o miniperl ... miniperlmain.o opmini.o perl.o ... -lm -lc ...
이런 오류가 발생합니다
ld: 0711-317 오류: 정의되지 않은 기호: .aintl
ld: 0711-317 오류: 정의되지 않은 기호: .copysignl
ld: 0711-317 오류: 정의되지 않은 기호: .syscall
ld: 0711-317 오류: 정의되지 않은 기호: .eaccess
ld: 0711-317 오류: 정의되지 않은 기호: .setresuid
ld: 0711-317 오류: 정의되지 않은 기호: .setresgid
ld: 0711-317 오류: 정의되지 않은 기호: .setproctitle
ld: 0711-345 자세한 정보를 얻으려면 -bloadmap 또는 -bnoquiet 옵션을 사용하십시오.
당신은 다시 시도 할 수 있습니다
진짜 깨끗하게 만들어
RM 구성.sh
./Configure -Dusenm ...
그러면 라이브러리 기호를 스캔할 때 "nm" 도구를 사용하도록 구성됩니다.
일반적으로 AIX에서는 수행되지 않습니다.
이와 관련하여 AIX에서 구성의 "-r" 옵션을 사용하면 안 됩니다.
이는 "nm" 도구가 사용되는 방식에 영향을 미칩니다.
사용 GNU의 GCC 을 통한 건물 펄
gcc-3.x(3.0.4, 3.1 및 3.2로 테스트됨)를 사용하면 최근과 마찬가지로 이제 즉시 사용할 수 있습니다.
gcc-2.9 빌드는 Linux 호환성 패키지의 일부로 IBM에서 직접 사용할 수 있습니다.
여기에서 사용할 수 있습니다 :
http://www.ibm.com/servers/aix/products/aixos/linux/
사용 큰 파일 과 펄 < 5L
문제가 발생하지 않아야 합니다.
스레드 된 펄 < 5L
스레드는 정상적으로 작동하는 것 같습니다. 하지만 현재로서는 스레드를 사용할 때 모든 테스트가 통과되지는 않습니다.
64비트 구성과의 조합.
스레드 빌드를 수행할 때 경고가 나타날 수 있습니다.
"pp_sys.c", 4640.39행: 1506-280 (W) 함수 인수 할당
"unsigned char*"와 "const void*" 유형 사이에는 허용되지 않습니다.
정확한 라인 번호는 다를 수 있지만 경고(W)가 라인 라인에서 나오는 경우
hent = PerlSock_gethostbyaddr(addr, (Netdb_hlen_t) addrlen, addrtype);
"pp_ghostent" 함수에서는 이를 무시해도 됩니다. 경고는 다음으로 인해 발생합니다.
재진입 변형 gethostbyaddr() 그렇지 않은 프로토타입과 약간 다른 프로토타입을 가지고 있습니다.
재진입 변형이지만 여기서는 그 차이가 실제로 중요하지 않습니다.
64-bit 펄 < 5L
AIX가 64비트 지원과 함께 설치된 경우 64비트 구성을 기대할 수 있습니다.
일하다. 스레드와 함께 사용하면 일부 테스트가 여전히 실패할 수 있습니다.
AIX 4.2 그리고 확장 사용 C + + 과 통계
AIX 4.2에서 정적을 사용하는 C++ 함수를 사용하는 Perl 확장은 다음과 같은 문제가 있을 수 있습니다.
정적이 초기화되지 않습니다. 최신 AIX 릴리스에서는 이 문제가 해결되었습니다.
Perl을 libC_r 라이브러리와 연결했지만 불행하게도 AIX 4.2에서는 해당 라이브러리가
시간과 관련된 다양한 기능(예: 시각() 그리고
gettimeofday ()) 깨진 값을 반환하므로 AIX 4.2에서 Perl은 링크되지 않습니다.
libC_r.
작가
라이너 타머[이메일 보호]>
onworks.net 서비스를 통해 온라인으로 Perlaix를 사용하세요