Re: configure fails for perl check on CentOS8

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Cc: andrew(dot)dunstan(at)2ndquadrant(dot)com, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: configure fails for perl check on CentOS8
Date: 2019-10-18 13:50:31
Message-ID: 29532.1571406631@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com> writes:
> The immediately problematic command generated by autoconf is:
> ...
> /usr/bin/ld: /tmp/ccGxodNv.o: relocation R_X86_64_32 against symbol `PL_memory_wrap' can not be used when making a PIE object; recompile with -fPIC
> /usr/bin/ld: final link failed: Nonrepresentable section on output
> collect2: error: ld returned 1 exit status

> Very interestingly I don't get the error when the "-O0" is "-O2". It
> is because gcc eliminates the PL_memory_wrap maybe by inlining.

Yeah, probably so. But I don't like the idea of fixing a problem
triggered by user-supplied CFLAGS by injecting more cflags from
elsewhere. That seems likely to be counterproductive, or at
least it risks overriding what the user wanted.

Can we fix this by using something other than perl_alloc() as
the tested-for function? That is surely a pretty arbitrary
choice. Are there any standard Perl entry points that are just
plain functions with no weird macro expansions?

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2019-10-18 15:00:54 Re: Bug about drop index concurrently
Previous Message Tomas Vondra 2019-10-18 13:44:52 Re: Add Change Badges to documentation