이 섹션에서는 스포츠 토토의 설치 및 설정에 관한 추가 플랫폼 별 문제를 문서화합니다. 설치 지침을 읽으십시오. 특히스포츠 토토 PostgreSQL : 문서 : 14 : 17.2. 요구 사항또한 checkPostgreSQL : 문서 : 14 : 33 장 회귀 토토회귀 테스트 결과의 해석과 관련하여
여기에서 다루지 않은 플랫폼은 알려진 플랫폼 별 설치 문제가 없습니다.
스포츠 토토은 AIX에서 작동하지만 약 6.1 전에 AIX 버전에는 다양한 문제가 있으며 권장되지 않습니다. GCC 또는 기본 IBM 컴파일러를 사용할 수 있습니다XLC
.
AIX는 메모리 관리 방식과 관련하여 다소 특이 할 수 있습니다. RAM의 많은 기가 바이트가없는 서버를 가질 수 있지만 애플리케이션을 실행할 때 메모리 나 주소 공간 오류가 남아 있습니다. 한 가지 예는 비정상적인 오류로 실패하는 확장의로드입니다. 예를 들어 스포츠 토토 설치의 소유자로 실행 :
=# Extension Plperl 생성; 오류 : 라이브러리를로드 할 수 없음 "/opt/dbs/pgsql/lib/plperl.so": 메모리 주소가 프로세스의 주소 공간에 없습니다.
스포츠 토토 설치를 보유한 그룹에서 비 소유자로 실행 :
=# Extension Plperl 생성; 오류 : 라이브러리를로드 할 수 없음 "/opt/dbs/pgsql/lib/plperl.so": 잘못된 주소
다른 예제는 스포츠 토토 서버 로그의 메모리 오류가 발생하지 않으며 모든 메모리 할당이 256MB 이상 실패합니다.
이러한 모든 문제의 전반적인 원인은 서버 프로세스에서 사용하는 기본 비트 및 메모리 모델입니다. 기본적으로 AIX에 지어진 모든 이진은 32 비트입니다. 이것은 사용중인 하드웨어 유형 또는 커널에 따라 다릅니다. 이 32 비트 프로세스는 몇 가지 모델 중 하나를 사용하여 256MB 세그먼트에 배치 된 4GB의 메모리로 제한됩니다. 기본값은 스택과 단일 세그먼트를 공유하므로 힙에서 256MB 미만을 허용합니다.
의 경우plperl
예, 위의 예, 스포츠 토토 설치에서 Umask 및 Binaries의 권한을 확인하십시오. 이 예제와 관련된 이진은 32 비트이며 755 대신 모드 750으로 설치되었습니다.이 방식으로 설정된 권한이 있기 때문에 소유자 또는 소유 그룹의 구성원 만 라이브러리를로드 할 수 있습니다. 세계에서 읽을 수 없으므로 로더는 객체를 공유 라이브러리 세그먼트 대신 프로세스 힙에 배치 할 수 있습니다.
the“이상적인”이를위한 솔루션은 64 비트의 스포츠 토토 빌드를 사용하는 것이지만, 32 비트 프로세서가있는 시스템이 빌드 할 수 있지만 64 비트 바이너리를 구축 할 수 없기 때문에 항상 실용적이지는 않습니다..
32 비트 바이너리가 필요한 경우ldr_cntrl
toMaxData = 0x
, 여기서 1 <= n <= 8, 스포츠 토토 서버를 시작하기 전에 다른 값과를 시도하십시오.n
0000000스포츠 토토.conf
만족스럽게 작동하는 구성을 찾도록 설정합니다. 이 사용ldr_cntrl
서버에 원한다고 말합니다MaxData
바이트는 힙에 따로 따로 설정되어 256MB 세그먼트에 할당됩니다. 실행 가능한 구성을 찾으면ldedit
원하는 힙 크기를 사용하는 데 기본값을 제공하기 위해 바이너리를 수정하는 데 사용될 수 있습니다. 스포츠 토토도 재건, 통과 할 수 있습니다ldflags 구성을 구성합니다 = "-WL, -BmaxData : 0x
동일한 효과를 달성하려면n
0000000 "
64 비트 빌드의 경우Object_Mode
~ 64 및 패스cc = "gcc -maix64"
andldflags = "-wl, -bbigtoc"
to구성
. (옵션XLC
다를 수 있습니다.) 생략하면Object_Mode
, 링커 오류로 빌드가 실패 할 수 있습니다. 언제Object_Mode
가 설정되어 있습니다.ar
, as
및LD
취급에 기본적으로 어떤 유형의 객체를 처리 할 것인지
기본적으로 페이징 공간의 과도한 커미트가 발생할 수 있습니다. 우리가 이런 일이 발생하는 것을 보지 못했지만 AIX는 메모리가 부족할 때 프로세스를 죽이고 과도한 커미트에 액세스 할 수 있습니다. 우리가 본 가장 가까운 것은 시스템이 다른 프로세스에 대한 메모리가 충분하지 않다고 결정했기 때문에 포크 실패입니다. AIX의 다른 많은 부분과 마찬가지로, 페이징 공간 할당 방법과 메모리 외 킬은 문제가되는 경우 시스템 또는 프로세스 전체에서 구성 할 수 있습니다.
스포츠 토토은 Windows의 Linux와 같은 환경 인 Cygwin을 사용하여 구축 할 수 있지만이 방법은 기본 Windows 빌드보다 열등합니다(참조PostgreSQL : 문서 : 14 : 18 장. Windows의 소스 코드에서 사설 토토 사이트)Cygwin에서 서버를 실행하는 것이 더 이상 권장되지 않습니다.
소스에서 구축 할 때 Unix 스타일 설치 절차에 따라 진행하십시오 (예 :./configure; 만들다
; 등)
Windows 유틸리티 전에 Cygwin bin 디렉토리를 사용할 경로를 설정하십시오. 이것은 컴파일 문제를 방지하는 데 도움이됩니다.
theAdduser
명령은 지원되지 않습니다. Windows NT, 2000 또는 XP에서 적절한 사용자 관리 응용 프로그램을 사용하십시오. 그렇지 않으면이 단계를 건너 뜁니다.
theSU
명령은 지원되지 않습니다. SSH를 사용하여 Windows NT, 2000 또는 XP에서 SU를 시뮬레이션하십시오. 그렇지 않으면이 단계를 건너 뜁니다.
OpenSSL지원되지 않습니다.
시작Cygserver
공유 메모리 지원. 이렇게하려면 명령을 입력하십시오/usr/sbin/cygserver &
. 이 프로그램은 스포츠 토토 서버를 시작하거나 데이터베이스 클러스터를 초기화 할 때마다 실행해야합니다 (initdb
). 기본값Cygserver
구성 변경이 필요할 수 있습니다 (예 : 증가SEMMNS
) 시스템 리소스 부족으로 인해 스포츠 토토이 실패하지 않도록합니다.
C 이외의 로케일이 사용되는 일부 시스템에서는 건물이 실패 할 수 있습니다. 이것을 고치려면, 로케일을 c로 설정하십시오Export Lang = C.UTF8
빌딩하기 전에 스포츠 토토을 설치 한 후 이전 설정으로 다시 설정하십시오.
병렬 회귀 테스트 (확인
) 오버플레이션으로 인해 가짜 회귀 테스트 실패를 생성 할 수 있습니다Listen ()
연결을 유발하는 백 로그 대기열은 오류가 거부되거나 매달려 있습니다. make variable을 사용하여 연결 수를 제한 할 수 있습니다max_connections
따라서 :
make max_connections = 5 점검
(일부 시스템에서는 최대 약 10 개의 동시 연결을 가질 수 있습니다.)
설치할 수 있습니다Cygserver
및 스포츠 토토 서버는 Windows NT 서비스입니다. 이 작업을 수행하는 방법에 대한 자세한 내용은를 참조하십시오.readme
Cygwin의 스포츠 토토 바이너리 패키지에 포함 된 문서. 디렉토리에 설치되어 있습니다/usr/share/doc/cygwin
.
빌드스포츠 토토소스에서MacOS, 발행하여 수행 할 수있는 Apple의 명령 줄 개발자 도구를 설치해야합니다
xcode-select-Install
(확인을 위해 GUI 대화 창이 나타납니다). Xcode를 설치하고 싶거나 원하지 않을 수도 있습니다.
최근MacOS릴리스,를 포함시켜야합니다“Sysroot”일부 시스템 헤더 파일을 찾는 데 사용되는 스위치의 경로. 이로 인해의 출력이 발생합니다.구성스크립트는 SDK 버전에 따라 다양한 스크립트구성. 간단한 시나리오에서는 문제가되지 않아야하지만 서버 코드가 구축 된 것과 다른 시스템에 확장을 구축하는 것과 같은 작업을 수행하려는 경우 다른 Sysroot 경로를 강제로 사용해야 할 수도 있습니다. 그렇게하려면 설정PG_SYSROOT
, 예를 들어
PG_SYSROOT =/원하는/path
all
컴퓨터의 적절한 경로를 찾으려면 run
Xcrun--show-sdk-path
핵심 서버를 빌드하는 데 사용 된 것과 다른 sysroot 버전을 사용하여 확장을 구축하는 것은 실제로 권장되지 않습니다. 최악의 경우에 버그가 어려운 ABI 불일치가 발생할 수 있습니다.
지정하여 구성 할 때 비 디펜트 SYSROOT 경로를 선택할 수도 있습니다PG_SYSROOT
to구성:
./configure ... pg_sysroot =/원하는/path
이것은 주로 다른 MACOS 버전의 크로스 컴파일에 유용합니다. 결과 실행 파일이 현재 호스트에서 실행 될 것이라는 보장은 없습니다.
억제하려면-isysroot
옵션 전체, 사용
./configure ... pg_sysroot = none
(존재하지 않는 PathName이 작동합니다). 이는 비 어플라이드 컴파일러로 빌드하려는 경우 유용 할 수 있지만 스포츠 토토 개발자가 해당 케이스를 테스트하거나 지원하지 않음을주의하십시오..
MacOS's“시스템 무결성 보호”(SIP) 기능 브레이크확인 make
, 필요한 설정이 전달되는 것을 방지하기 때문에dyld_library_path
테스트중인 실행 파일로 내려갑니다. 당신은 그 일을 할 수 있습니다설치
전확인
. 그래도 대부분의 스포츠 토토 개발자는 SIP를 꺼냅니다.
Windows 용 Postgresql Microsoft 운영 체제를위한 Unix와 같은 빌드 환경 인 Mingw를 사용하거나 Microsoft 's를 사용하여 구축 할 수 있습니다.Visual C ++컴파일러 스위트. MINGW 빌드 프로 시저는이 장에 설명 된 일반 빌드 시스템을 사용합니다. Visual C ++ 빌드는 완전히 다르게 작동하며에 설명되어 있습니다.PostgreSQL : 문서 : 14 : 18 장. Windows의 소스 코드에서 사설 토토 사이트.
기본 Windows 포트에는 32 또는 64 비트 버전의 Windows 2000 이상이 필요합니다. 초기 운영 체제에는 충분한 인프라가 없지만 Cygwin이 사용될 수 있습니다). Mingw, Unix와 같은 빌드 도구 및 MSYS, 쉘 스크립트를 실행하는 데 필요한 유닉스 도구 모음구성
,에서 다운로드 할 수 있습니다http : //www.mingw.org/. 결과 바이너리를 운영 할 필요는 없습니다. 그들은 바이너리를 만드는 데만 필요합니다.
mingw를 사용하여 64 비트 바이너리를 빌드하려면 64 비트 도구 세트를 설치하십시오.https : //mingw-w64.org/, 빈 디렉토리를에 넣으십시오.Path
, run구성
with-host = x86_64-w64-mingw32
옵션.
모든 것을 설치 한 후에는 실행하는 것이 좋습니다PSQLUndercmd.exe
, MSYS 콘솔에 버퍼링 문제가 발생함에 따라
Windows의 스포츠 토토이 충돌하면 생성 할 수 있습니다MinidumpsUNIX의 코어 덤프와 유사한 충돌 원인을 추적하는 데 사용할 수 있습니다. 이 덤프는를 사용하여 읽을 수 있습니다.Windows 디버거 도구또는 사용Visual Studio. Windows에서 덤프 생성을 활성화하려면라는 하위 디렉토리를 만듭니다.Crashdumps
클러스터 데이터 디렉토리 내부. 그런 다음 덤프는 충돌 프로세스의 식별자와 현재 충돌 시간을 기반으로 고유 한 이름 으로이 디렉토리에 기록됩니다.
스포츠 토토은 Solaris에 잘 지원됩니다. 운영 체제가 최신 상태 일수록 경험이 적습니다.
GCC 또는 Sun의 컴파일러 제품군으로 빌드 할 수 있습니다. 더 나은 코드 최적화를 위해 SPARC 아키텍처에서 Sun의 컴파일러가 강력히 권장됩니다. Sun의 컴파일러를 사용하는 경우 선택하지 않도록주의하십시오/usr/ucb/cc
; 사용/opt/sunwspro/bin/cc
.
당신은 Sun Studio를 다운로드 할 수 있습니다https : //www.oracle.com/technetwork/server-storage/sollisstudio/downloads/. 많은 GNU 도구가 Solaris 10에 통합되거나 Solaris Companion CD에 존재합니다. 이전 버전의 Solaris에 대한 패키지가 필요한 경우 에서이 도구를 찾을 수 있습니다.http : //www.sunfreeware.com. 출처를 선호하는 경우https : //www.gnu.org/prep/ftp.
if구성
실패한 테스트 프로그램에 대해 불만을 제기 할 수 있습니다. 아마도 런타임 링커가 Libz, Libreadline 또는 LibSSL과 같은 다른 비표준 비표준 라이브러리를 찾을 수없는 경우 일 것입니다. 올바른 위치를 가리려면를 설정하십시오.ldflags
환경 변수구성
명령 줄 (예 :
구성 ... ldflags = "-r/usr/sfw/lib :/opt/sfw/lib :/usr/local/lib"
참조ld자세한 내용은 맨 페이지.
SPARC 아키텍처에서 Sun Studio는 컴파일에 강력히 권장됩니다. 사용해보십시오.-xo5
최적화 플래그가 훨씬 빠른 바이너리를 생성합니다. 부동 소수점 작업의 동작을 수정하는 플래그를 사용하지 마십시오.errno
처리 (예 :-fast
).
SPARC에서 64 비트 바이너리를 사용할 이유가 없다면 32 비트 버전을 선호합니다. 64 비트 작업은 느리고 64 비트 바이너리는 32 비트 변형보다 느립니다. 반면 AMD64 CPU 패밀리의 32 비트 코드는 기본이 아니므로 CPU 패밀리에서 32 비트 코드가 상당히 느려집니다.
예, dtrace 사용이 가능합니다. 보다범퍼카 토토 PostgreSQL : 문서 : 14 : 28.5. 동적 추적자세한 내용은
링크가 표시되면Postgres
실행 가능 오류 메시지와 같은 실행 중단 :
정의되지 않은 첫 번째 참조 파일의 기호 aborttransaction utils/probes.o Committransaction Utils/Probes.o LD : 치명적 : 기호 참조 오류. Postgres에 기록 된 출력이 없습니다 Collect2 : LD는 1 종료 상태를 반환했습니다 Make : *** [Postgres] 오류 1
DTRACE 설치가 너무 오래되어 정적 기능으로 프로브를 처리 할 수 없습니다. dtrace를 사용하려면 Solaris 10U4 또는 최신 정보가 필요합니다.
문서에 올바른 것이 없으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면