Summary: | dev-qt/qtsql-5.7.1-r1[postgres] fatal error: libpq-fe.h: No such file or directory | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Johannes Buchner <buchner.johannes> |
Component: | Current packages | Assignee: | PgSQL Bugs <pgsql-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | qt |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log |
Description
Johannes Buchner
2017-12-09 15:56:50 UTC
Created attachment 509100 [details]
build.log
On a stable system:
> x86_64-pc-linux-gnu-g++ -c -O2 -pipe -frecord-gcc-switches -O2 -Wall -W -fPIC -I. -isystem /usr/include/mysql -isystem /usr/include/postgresql/pgsql -I/var/tmp/portage/dev-qt/qtsql-5.7.1-r1/work/qtbase-opensource-src-5.7.1/mkspecs/linux-g++ -o psql.o psql.cpp
> psql.cpp:40:22: fatal error: libpq-fe.h: No such file or directory
> #include "libpq-fe.h"
> ^
> compilation terminated.
I have the header at /usr/include/postgresql-9.6/libpq-fe.h, so it looks like the include path is wrong.
eselect-postgres should prepare appropriate symlinks, though. What's the output of 'ls -las /usr/include/libpq-fe.h'? Does it work if you run 'eselect postgresql update' ? It is a dead symlink: /usr/include/libpq-fe.h -> postgresql-9.5/libpq-fe.h I do not have postgresql nor eselect-postgresql installed anymore now. What's the output of qlop -l | grep postgres? Tue Dec 27 15:11:59 2011 >>> app-admin/eselect-postgresql-1.0.10 Tue Dec 27 15:51:45 2011 >>> dev-db/postgresql-base-9.1.1 Sun Mar 11 14:40:33 2012 >>> dev-db/postgresql-base-9.1.3 Sun Mar 11 21:11:46 2012 >>> dev-db/postgresql-base-9.1.3 Thu Jun 7 16:00:29 2012 >>> dev-db/postgresql-base-9.1.4 Thu Aug 23 11:24:29 2012 >>> dev-db/postgresql-base-9.1.5 Tue Nov 13 12:46:06 2012 >>> dev-db/postgresql-base-9.2.1 Tue Feb 12 15:17:21 2013 >>> dev-db/postgresql-base-9.2.3-r1 Mon Apr 8 19:32:51 2013 >>> dev-db/postgresql-base-9.2.4 Tue Sep 10 04:35:21 2013 >>> app-admin/eselect-postgresql-1.2.0 Sun Nov 17 13:25:13 2013 >>> dev-db/postgresql-base-9.2.4-r1 Fri Dec 20 07:54:27 2013 >>> dev-db/postgresql-base-9.3.2 Mon Jan 20 19:41:27 2014 >>> app-admin/eselect-postgresql-1.2.1 Tue Feb 25 11:26:51 2014 >>> dev-db/postgresql-base-9.3.3 Mon Sep 15 22:27:24 2014 >>> dev-db/postgresql-base-9.3.5 Sat Nov 8 08:59:09 2014 >>> virtual/postgresql-9.3 Wed Nov 26 11:34:04 2014 >>> dev-db/postgresql-base-9.3.5 Sat Dec 20 10:56:43 2014 >>> dev-db/postgresql-server-9.3.5 Sat Dec 20 10:56:53 2014 >>> virtual/postgresql-9.3 Wed Dec 31 18:11:13 2014 >>> dev-db/postgresql-9.3.5-r2 Sat Feb 7 17:51:49 2015 >>> dev-db/postgresql-9.4.1 Sat Feb 28 12:27:17 2015 >>> dev-db/postgresql-9.4.1 Sun May 31 12:17:58 2015 >>> dev-db/postgresql-9.4.2 Sat Jun 6 22:10:25 2015 >>> dev-db/postgresql-9.4.3 Sun Jul 19 11:42:30 2015 >>> dev-db/postgresql-9.4.4 Tue Jul 28 18:02:31 2015 >>> dev-db/postgresql-9.4.4 Sun Oct 11 18:15:24 2015 >>> dev-db/postgresql-9.4.5 Tue Oct 27 12:42:16 2015 >>> dev-db/postgresql-9.4.5-r1 Mon Jan 25 12:18:24 2016 >>> dev-db/postgresql-9.4.5-r2 Mon Feb 15 12:11:15 2016 >>> dev-db/postgresql-9.5.1 Sat Apr 2 01:17:02 2016 >>> dev-db/postgresql-9.5.2 Sun Aug 21 21:12:04 2016 >>> dev-db/postgresql-9.5.4 Sat Dec 24 15:18:58 2016 >>> dev-db/postgresql-9.5.5 Tue Mar 28 00:44:39 2017 >>> app-eselect/eselect-postgresql-1.2.1 Tue Mar 28 06:58:23 2017 >>> app-eselect/eselect-postgresql-1.2.1 Mon Apr 24 11:45:30 2017 >>> dev-db/postgresql-9.5.5 Tue May 23 17:14:12 2017 >>> app-eselect/eselect-postgresql-2.1 Tue May 23 17:27:09 2017 >>> dev-db/postgresql-9.5.7 Sun Jul 16 09:21:15 2017 >>> dev-db/postgresql-9.6.3-r1 Fri Sep 1 06:30:37 2017 >>> app-eselect/eselect-postgresql-2.2 Sat Oct 14 21:26:49 2017 >>> dev-db/postgresql-9.6.4 Tue Nov 14 19:06:49 2017 >>> dev-db/postgresql-9.6.6 Tue Dec 5 18:40:01 2017 >>> app-eselect/eselect-postgresql-2.2 Thu Dec 7 19:26:35 2017 >>> dev-db/postgresql-9.6.6 Based on that output, I suspect that the symlink was dangling when attempting to build qtsql hence the failure. @psql, how does the merge/unmerge process handle these symlinks? (In reply to Michael Palimaka (kensington) from comment #7) > Based on that output, I suspect that the symlink was dangling when > attempting to build qtsql hence the failure. > > @psql, how does the merge/unmerge process handle these symlinks? The eselect module handles the links, and should remove all links when the last dev-db/postgresql slot is removed. Or, it'll automatically set the slot to the highest remaining slot. eselect-postgresql-2.1 did have trouble that 2.2 does not have but does not fix. If 2.2 can successfully manage the slots now (just change, or reset the slot to test), then there shouldn't be any further issues. My guess is that 2.2 has been reporting an issue that's been missed, as it'll die when it can't set a link properly. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9fb5707e09234326c4fd71ddc0b6b34d66775968 commit 9fb5707e09234326c4fd71ddc0b6b34d66775968 Author: Aaron W. Swenson <titanofold@gentoo.org> AuthorDate: 2018-01-14 18:25:05 +0000 Commit: Aaron W. Swenson <titanofold@gentoo.org> CommitDate: 2018-01-14 18:25:33 +0000 app-eselect/eselect-postgresql: Bump to 2.3 ln now tries to force the link (Thanks Matthew Thode [prometheanfire]) Cleans up nonsensical links in /usr/include/postgresql-* that were made by some previous versions of this module. Bug: https://bugs.gentoo.org/627476 Bug: https://bugs.gentoo.org/631936 Bug: https://bugs.gentoo.org/640154 Bug: https://bugs.gentoo.org/640394 Package-Manager: Portage-2.3.13, Repoman-2.3.3 app-eselect/eselect-postgresql/Manifest | 1 + .../eselect-postgresql-2.3.ebuild | 34 ++++++++++++++++++++++ 2 files changed, 35 insertions(+)} |