Re: buildfarm warnings

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Justin Pryzby <pryzby(at)telsasoft(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Robert Haas <rhaas(at)postgresql(dot)org>, Alexander Korotkov <akorotkov(at)postgresql(dot)org>
Subject: Re: buildfarm warnings
Date: 2022-02-14 02:29:08
Message-ID: CA+hUKGK4iYtE_+Tkd4WrQvauNzYeRc846WZcqTLAdyXLWT1jmA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Feb 14, 2022 at 6:10 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Another thing I've been ignoring on the grounds that I-don't-feel-
> like-fixing-this is that the Solaris and OpenIndiana machines whine
> about every single reference from loadable modules to the core code,
> eg this from haddock while building contrib/fuzzystrmatch:
>
> Undefined first referenced
> symbol in file
> cstring_to_text dmetaphone.o
> varstr_levenshtein fuzzystrmatch.o
> text_to_cstring dmetaphone.o
> errstart_cold fuzzystrmatch.o
> errmsg fuzzystrmatch.o
> palloc dmetaphone.o
> ExceptionalCondition fuzzystrmatch.o
> errfinish fuzzystrmatch.o
> varstr_levenshtein_less_equal fuzzystrmatch.o
> repalloc dmetaphone.o
> errcode fuzzystrmatch.o
> errmsg_internal fuzzystrmatch.o
> pg_detoast_datum_packed dmetaphone.o
> ld: warning: symbol referencing errors
>
> Presumably, this means that the Solaris linker would really like
> to see the executable the module will load against, analogously to
> the BE_DLLLIBS settings we use on some other platforms such as macOS.
> It evidently still works without that, but we might be losing
> performance from an extra indirection or the like. And in any case,
> this amount of noise would be very distracting if you wanted to do
> actual development on that platform. I'm not especially interested
> in tracking down the correct incantation, but I'd gladly push a patch
> if someone submits one.

I took a quick look at this on an OpenIndiana vagrant image, using the
GNU compiler and [Open]Solaris's linker. It seems you can't use -l
for this (it only likes files called libX.Y) but the manual[1] says
that "shared objects that reference symbols from an application can
use the -z defs option, together with defining the symbols by using an
extern mapfile directive", so someone might need to figure out how to
build and feed in such a file...

[1] https://docs.oracle.com/cd/E26502_01/html/E26507/chapter2-90421.html

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bharath Rupireddy 2022-02-14 04:11:52 Re: Consistently use "startup process"/"WAL sender" instead of "Startup process"/"WAL Sender" in comments and docs.
Previous Message Michael Paquier 2022-02-14 02:07:19 Re: Possible uninitialized use of the variables (src/backend/access/transam/twophase.c)