■ error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT in second argument needs 3 arguments 오류
(1) 원인
: GCC 4.3.2 버전 이상의 GCC 컴파일러를 사용할 때 발생
○ GCC 4.3.2 버전 이상에서는 open() 함수의 인자(argument) 가 2 개에서 3 개로 재정의 되었고, 이로 인해 이전 버전에서 정상적으로 빌드되었던 코드들이 GCC 4.3.2 이상의 버전에서는 해당 오류를 출력하게 된다.
(2) 해결방법
: 빌드에서 발생하는 open() 함수를 모두 찾아 수정해야한다. GCC 컴파일러를 통해 오류 발생 파일과 라인을 확인 할 수 있다.
○ Example
- Error code
open(path, O_WRONLY | O_TRUNC | O_CREAT); |
- Modified code
open(path, O_WRONLY | O_TRUNC | O_CREAT, 644); |
RECENT COMMENT