CentOS 8 기본 Cmake 에서 postgresql를 찾도록 할 경우 아래와 같은 CMake Error 가 발생할 수 있다. (주로 OS 디폴트 rpm을 설치한 경우에 발생한다).
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find PostgreSQL (missing: PostgreSQL_TYPE_INCLUDE_DIR) (found
version "12.4")
위와 같은 경우 발생 시 아래 명령으로 파일을 수정한다.
아래서 파일의 위치는 위 에러메시지에 표시된 링크에 나와 있는 위치에 있다.
vi /usr/share/cmake/Modules/FindPostgreSQL.cmake
파일을 열어서 아래 부분을 찾는다.
set(PostgreSQL_KNOWN_VERSIONS ${PostgreSQL_ADDITIONAL_VERSIONS}
"10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
위 부분을 찾으면 아래와 같이 위에 포함되어 있지 않은 버전을 수동으로 추가해 준다 ("13 "12" "11" 부분).
set(PostgreSQL_KNOWN_VERSIONS ${PostgreSQL_ADDITIONAL_VERSIONS}
"13" "12" "11" "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
위와 같이 수정 후에 다시 cmake 를 해 주면 정상적으로 작동한다.