From the gentoo devs: The problematic test in kexi/kexidb/drivers/CMakeLists.txt: IF (POSTGRESQL_FOUND AND PQXX_FOUND AND PQXX_VERSION VERSION_GREATER PQXX_MIN_VERSION AND PQXX_VERSION VERSION_LESS PQXX_MAX_VERSION) It does not evaluate to true with libpqxx-4.0. There is no warning, no error. I can't say, if kexi really needs version in ]3.0.0, 4.0.0[. Could you ask upstream? (bugs.kde.org) Reproducible: Always
Thank you for the report. We did not test libpqxx > 3.x (contributions welcome but I don't know if there is compatibility between 3.x and 4.x). And we are preparing for dropping libpqxx use, instead more powerful (for our needs) libpq (and API-stable) client lib will be used. This will happen no later than in Kexi 3.0.
Created attachment 71525 [details] build log (gz) Trivial contribution, it does not build if you just disable the MAX_VERSION check. Here's the fun part: In file included from /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxconnection.h:26:0, from /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxdriver.cpp:25: /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:80:42: error: 'field' in 'class pqxx::result' does not name a type /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:80:63: error: ISO C++ forbids declaration of 'r' with no type [-fpermissive] /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h: In function 'QVariant KexiDB::pgsqlCStrToVariant(const int&)': /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:82:15: error: request for member 'type' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:84:38: error: request for member 'c_str' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:84:49: error: request for member 'size' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:88:18: error: request for member 'as' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:92:18: error: request for member 'as' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:94:36: error: request for member 'c_str' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:94:47: error: request for member 'size' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:96:36: error: request for member 'c_str' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:96:47: error: request for member 'size' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:98:36: error: request for member 'c_str' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:98:47: error: request for member 'size' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:100:48: error: request for member 'c_str' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:100:59: error: request for member 'size' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:104:36: error: request for member 'c_str' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:104:47: error: request for member 'size' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:106:36: error: request for member 'c_str' in 'r', which is of non-class type 'const int' /var/tmp/portage/app-office/calligra-2.4.2-r1/work/calligra-2.4.2/kexi/kexidb/drivers/pqxx/pqxxcursor.h:106:47: error: request for member 'size' in 'r', which is of non-class type 'const int'
Please try this patch: https://git.reviewboard.kde.org/r/105874/diff/raw/ - Added cmake warning if libpqxx is not in version 3.x. More info at: https://git.reviewboard.kde.org/r/105874/
Git commit b9b95066553ebb22ef4cbd823641d0a8d35c1cb2 by Jaroslaw Staniek. Committed on 05/08/2012 at 11:37. Pushed by staniek into branch 'calligra/2.5'. Display cmake warning if libpqxx is not in version 3.x +move checks for pgsql, mysql, tds, xbase dependencies to global area REVIEW:105874 FIXED-IN:2.5.1 M +28 -0 kexi/CMakeLists.txt M +1 -13 kexi/kexidb/drivers/CMakeLists.txt M +3 -19 kexi/migration/CMakeLists.txt http://commits.kde.org/calligra/b9b95066553ebb22ef4cbd823641d0a8d35c1cb2
Git commit 4709a607818f16e3f54f3494bc5722496b0158f7 by Jaroslaw Staniek. Committed on 05/08/2012 at 11:37. Pushed by staniek into branch 'master'. Display cmake warning if libpqxx is not in version 3.x +move checks for pgsql, mysql, tds, xbase dependencies to global area REVIEW:105874 M +28 -0 kexi/CMakeLists.txt M +1 -13 kexi/kexidb/drivers/CMakeLists.txt M +3 -19 kexi/migration/CMakeLists.txt http://commits.kde.org/calligra/4709a607818f16e3f54f3494bc5722496b0158f7