Bug report #17179

QGIS2.99 build does not find libpq-fe.h on OS X Sierra

Added by David Liontooth about 3 years ago. Updated over 2 years ago.

Affected QGIS version:master Regression?:No
Operating System:OS X 10.12.6 Easy fix?:No
Pull Request or Patch supplied:No Resolution:invalid
Crashes QGIS or corrupts data:No Copied to github as #:25078


Using https://github.com/qgis/QGIS/archive/master.zip and David Marteau's makefile at https://www.3liz.com/blog/rldhont/index.php?post/2017/06/01/How-to-build-qgis-on-OSX-with-MacPort and adding

                -DLIBZIP_INCLUDE_DIR:PATH=/opt/local/include \
                -DLIBZIP_CONF_INCLUDE_DIR:FILEPATH=/opt/local/lib/libzip/include \
                -DLIBZIP_LIBRARY:FILEPATH=/opt/local/lib/libzip.dylib \

I'm able to build QGIS2.99 to this point:

In file included from /Users/liontooth/software/QGIS/QGIS-2.99a/tests/src/providers/testqgspostgresprovider.cpp:4:
In file included from /Users/liontooth/software/QGIS/QGIS-2.99a/src/providers/postgres/qgspostgresprovider.h:24:
/Users/liontooth/software/QGIS/QGIS-2.99a/src/providers/postgres/qgspostgresconn.h:33:10: fatal error: 'libpq-fe.h' file not found

The file is /opt/local/include/postgresql96/libpq-fe.h, supplied by MacPort postgresql96. How do we tell the build process where to find it?

I tried adding paths to the makefile, which worked fine with libzip, and modifying cmake/FindPostgres.cmake directly, but no dice.



#1 Updated by David Marteau about 3 years ago

Hi David

Assuming that the Postgresql95 (or 96, but I'm still using 95 atm) port is installed, the cmake configure locate the postgres library:

-- Found PostgreSQL: /opt/local/lib/postgresql95/libpq.dylib

CMake use pg_config to locate the posgres library and includes, check that the CMakeCache.txt created in the build directory contains the following (should be quite similar with postgres96):

//Path to POSTGRESQL base directory
//Determines whether POSTGRESQL support should be built

There is also some cases where include paths are not reported to the CMakeLists.txt of some modules (see https://github.com/qgis/QGIS/pull/5196).

It seems that the compilation fail on compiling test, did the compilation succeeded when building the provider module itself ?

#2 Updated by Giovanni Manghi about 3 years ago

  • Status changed from Open to Feedback

#3 Updated by Giovanni Manghi over 2 years ago

  • Resolution set to invalid
  • Status changed from Feedback to Closed

Closing for lack of feedback, please reopen if necessary.

Also available in: Atom PDF