2016-09-29 6 views
2

OS X에서 스캔을 제출하려고합니다. procedure I am following은 32 비트 및 64 비트 Linux에서 잘 작동하며 유사한 절차가 nmake.스캔 서비스 및 "이 플랫폼은 Coverity에서 지원하지 않습니다."

$ CXXFLAGS="-DNDEBUG -g2 -O3" cov-build --dir cov-int make -j 2 

Coverity Build Capture (64-bit) version 8.5.0.3 on Darwin 13.4.0 x86_64 
Internal version numbers: db70178643 p-kent-push-26368.949 

Platform info: 
Sysname = Darwin 
Release = 13.4.0 
Machine = x86_64 

[ERROR] This platform is not supported by Coverity. 
[ERROR] See documentation for the list of supported platforms. 

나는 문서의 위치를하는 데 문제 :

$ cov-build --help 
Coverity Build Capture (64-bit) version 8.5.0.3 on Darwin 12.6.0 x86_64 
Internal version numbers: db70178643 p-kent-push-26368.949 

No help found for 'cov-build' 

Coverity Data Sheet 상태를

$ CXXFLAGS="-DNDEBUG -g2 -O3" cov-build --dir cov-int make -j 2 

Coverity Build Capture (64-bit) version 8.5.0.3 on Darwin 12.6.0 x86_64 
Internal version numbers: db70178643 p-kent-push-26368.949 

Platform info: 
Sysname = Darwin 
Release = 12.6.0 
Machine = x86_64 

[ERROR] This platform is not supported by Coverity. 
[ERROR] See documentation for the list of supported platforms. 

다른 OS X의 시스템이 같은 오류가 발생 : OS의 X에 cov-build 함께 실패 OS X가 지원되며 press release states OS X 10.8 is supported입니다.

  • AIX
  • FreeBSD의
  • HP-UX
  • 리눅스
  • 맥 OS X
  • NetBSD의
  • 솔라리스
  • 윈도우

왜 내가 받습니까 [ERROR] This platform is not supported by Coverity, 그리고 어떻게 수정합니까?

+1

'COVERITY_UNSUPPORTED = 1로 내보내기 '를 시도해 볼 가치가 있습니다. –

답변

2

Mac OSX 10.8은 사용중인 Coverity 릴리스에서 지원되지 않습니다. 불행하게도, OS가 Coverity와의 호환성을 깨뜨리는 것은 다소 일반적인 일입니다.

COVERITY_UNSUPPORTED = 1을 내보낼 수 있습니다. 이렇게하면 플랫폼 지원 확인을 건너 뛸 수 있지만 예상대로 작동한다는 보장은 없습니다. 합리적으로 좋은 성공 확률을 가지고 있습니다.

+0

다시 Caleb에게 감사드립니다. 우리는 당신의 일을 'COVERITY_UNSUPPORTED = 1'이라고 요구했기 때문에 OS X 10.8의 Xcode 컴파일러를 피할 필요가있었습니다. 우리가 MacPorts Clang 3.7로 옮긴 후에는 예상대로 진행되었습니다. OS X은 플랫폼 용 레시피를 완성합니다.우리 위키의 [Coverity Scan Build에 대한 규정 지침] (http://cryptopp.com/wiki/Coverity_Scan)도 참조하십시오. – jww

+0

죄송 합니다만, Darwin 12.6을 OSX 12에 매핑하는 정신 착오를 보였습니다. 여기에있는 문제는 Coverity가 8.0 릴리스의 OSX 10.8을 더 이상 지원하지 않는다는 것입니다. 나머지 조언은 동일하게 유지됩니다. env var을 설정하고 어떤 일이 발생하는지 확인하십시오. 컴파일러 지원은 별도의 질문입니다. 여러분에게 도움이되는 솔루션을 발견하게되어 기쁩니다. – Caleb

+0

나는 OS X 10.9에서 Coverity 8.5.0.5를 실행하려고하고 있는데, 동일한 증상을 보이고 있습니다. 참고하시기 바랍니다. – Bombe

0

플래시 셰리 던과 칼렙의 제안을 바탕으로 작성되었습니다. 문제는 플랫폼이 적고 컴파일러가 많았습니다.

CXXFLAGS="-DNDEBUG -g2 -O3" cov-build --dir cov-int make -j 2 
... 

cat cov-int/build-log.txt 
... 

"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../ 
lib/clang/5.0/include/stddef.h", line 29: error #109: 

expression preceding parentheses of apparent call must have 

(pointer-to-) function type 

#if !defined(_PTRDIFF_T) || __has_feature(modules) 


"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../ 
lib/clang/5.0/include/stddef.h", line 31: error #59: 

function call is not allowed in a constant expression 

#if !__has_feature(modules) 
... 

두 번째 해결 방법은 플래시 셰리 던과 갈렙의 해결 방법에 따라 달라집니다 : 엑스 코드 5.0 및 5.1 스캔 빌드 실패를 생산했다. 그것은 "다른 컴파일러 사용"을 추가합니다. 아래에서는 MacPorts Clang 3.7을 사용하여 스캔 빌드를 수행합니다.


$ CXX=/opt/local/bin/clang++-mp-3.7 COVERITY_UNSUPPORTED=1 CXXFLAGS="-DNDEBUG -g3 -O2" cov-build --dir cov-int make -j 8 
Coverity Build Capture (64-bit) version 8.5.0.3 on Darwin 12.6.0 x86_64 
Internal version numbers: db70178643 p-kent-push-26368.949 

/opt/local/bin/clang++-mp-3.7 -DNDEBUG -g3 -O2 -fPIC -march=native -pipe -c cryptlib.cpp 
/opt/local/bin/clang++-mp-3.7 -DNDEBUG -g3 -O2 -fPIC -march=native -pipe -c cpu.cpp 
... 

Emitted 134 C/C++ compilation units (100%) successfully 

134 C/C++ compilation units (100%) are ready for analysis 
The cov-build utility completed successfully. 

는 관심있는 사람들을 위해, 우리는 무료 및 오픈 소스 소프트웨어 프로젝트이며, 우리는 무료로 Coverity Scan Service 활용할 수 있습니다. 그러나 문서는 일종의 빛입니다.

Unix, Linux, OS X 및 Windows 용 스캔 빌드를 수행하는 데 필요한 지침을 보려면 Crypto++ wiki | Coverity Scan을 참조하십시오.