Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 835663 - dev-db/postgresql-14.2[llvm,perl] with dev-lang/perl[quadmath] fatal error: 'quadmath.h' file not found
Summary: dev-db/postgresql-14.2[llvm,perl] with dev-lang/perl[quadmath] fatal error: '...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: PgSQL Bugs
URL:
Whiteboard:
Keywords:
: 851258 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-03-20 15:16 UTC by Alessandro Barbieri
Modified: 2024-05-08 10:16 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge_info (emerge_info,35.57 KB, text/plain)
2022-03-20 15:16 UTC, Alessandro Barbieri
Details
postgresql-14.2:20220320-144158.log.xz (postgresql-14.2:20220320-144158.log.xz,46.88 KB, application/x-xz)
2022-03-20 15:16 UTC, Alessandro Barbieri
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alessandro Barbieri 2022-03-20 15:16:50 UTC
This package fails to build on an unstable system. Attached relevant logs and emerge --info
Comment 1 Alessandro Barbieri 2022-03-20 15:16:56 UTC
Created attachment 767446 [details]
emerge_info

emerge --info
Comment 2 Alessandro Barbieri 2022-03-20 15:16:57 UTC
Created attachment 767447 [details]
postgresql-14.2:20220320-144158.log.xz

build log (compressed because it exceeds attachment limit, use 'xzless' to read it)
Comment 3 Patrick Lauer gentoo-dev 2022-03-20 15:20:28 UTC
In file included from ../../src/pl/plperl/plperl.h:78:
/usr/lib64/perl5/5.34/x86_64-linux-quadmath-thread-multi/CORE/perl.h:2319:13: fatal error: 'quadmath.h' file not found
#   include <quadmath.h>


that's a perl problem
Comment 4 Alessandro Barbieri 2022-03-20 15:26:57 UTC
according to
https://codechecker.readthedocs.io/en/v6.9.0/gcc_incompatibilities/#quadmathh-quadmath_weakh
clang doesn't provide quadmath.h and it need it's path to be explicitly provided
Comment 5 Alessandro Barbieri 2022-03-20 15:27:56 UTC
BTW I can reproduce it in my clean chroot
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-03-20 15:28:09 UTC
If using quadmath, you must rebuild everything Perl related using perl-cleaner as the ebuild tells you to.

If you've done that, say so -- please include detail if you're aware of any instead of trying to automate it with nothing supplementary.
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-03-20 15:28:19 UTC
Yes, it's GCC only.
Comment 8 Alessandro Barbieri 2022-03-20 16:07:05 UTC
I've run perl-cleaner --all and re emerged postgresql
same error

can you try to reproduce it?
Comment 9 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-03-20 16:29:50 UTC
(In reply to Alessandro Barbieri from comment #8)
> I've run perl-cleaner --all and re emerged postgresql
> same error
> 
> can you try to reproduce it?

It's not going to work with Clang.
Comment 10 Alessandro Barbieri 2022-03-20 16:47:01 UTC
clang is used because of the llvm useflag
Comment 11 Alessandro Barbieri 2022-03-22 20:24:13 UTC
Reopening because I can reproduce it in a new unpacked chroot
Steps to reproduce:
Download stage3, I've used this https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20220320T170531Z/stage3-amd64-hardened-nomultilib-openrc-20220320T170531Z.tar.xz
Unpack it
Chroot into it
Add ACCEPT_KEYWORDS="~amd64" and USE="quadmath llvm perl" to /etc/portage/make.conf
emerge -1v perl && perl-cleaner --all && emerge -1v postgresql

Before closing again, at least try to reproduce it
Comment 12 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-03-22 20:27:27 UTC
(In reply to Alessandro Barbieri from comment #11)
> Reopening because I can reproduce it in a new unpacked chroot
> Steps to reproduce:
> Download stage3, I've used this
> https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/
> 20220320T170531Z/stage3-amd64-hardened-nomultilib-openrc-20220320T170531Z.
> tar.xz
> Unpack it
> Chroot into it
> Add ACCEPT_KEYWORDS="~amd64" and USE="quadmath llvm perl" to
> /etc/portage/make.conf
> emerge -1v perl && perl-cleaner --all && emerge -1v postgresql
> 
> Before closing again, at least try to reproduce it

The onus is on you to give enough information which you tend to not do.

Anyway, like I said, it's never going to work, so USE=llvm on postgresql should really just be mutually exclusive with USE=perl on postgresql, given how sensitive Perl is to toolchain.
Comment 13 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-06-12 11:23:17 UTC
*** Bug 851258 has been marked as a duplicate of this bug. ***
Comment 14 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-06-12 11:24:47 UTC
I guess we need a "llvm? ( !dev-lang/perl[quadmath] )".
Comment 15 Conrad Kostecki gentoo-dev 2023-12-19 23:58:26 UTC
(In reply to Sam James from comment #14)
> I guess we need a "llvm? ( !dev-lang/perl[quadmath] )".

Ack.
Comment 16 Larry the Git Cow gentoo-dev 2024-05-08 10:16:56 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96d3611375863d4bdade73eaef4fe26a1259149d

commit 96d3611375863d4bdade73eaef4fe26a1259149d
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2024-05-08 10:15:07 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-05-08 10:15:07 +0000

    profiles/features/llvm: mask perl_features_quadmath
    
    While perl_features_quadmath is new, it's likely we forgot to close
    the old bugs when adding the initial old mask for USE=quadmath to the
    LLVM profiles.
    
    We may still need to figure something out for when people do CC=clang
    though...
    
    Closes: https://bugs.gentoo.org/835663
    Closes: https://bugs.gentoo.org/875101
    Closes: https://bugs.gentoo.org/885571
    Closes: https://bugs.gentoo.org/931562
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/features/llvm/use.mask | 6 ++++++
 1 file changed, 6 insertions(+)