>>>>> "Tom" == Tom Lane <tgl@sss.pgh.pa.us> writes:
>> When I compile PostgreSQL-11.2 on SmartOS, I find the following errors:
>> ...
>> ld: warning: symbol referencing errors
Tom> Yeah, our SmartOS buildfarm members show those warnings too, eg
Tom>
https://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=damselfly&dt=2019-04-22%2010%3A00%3A15&stg=make-contrib
Tom> AFAICT they're harmless, so my advice is just ignore them.
Tom> If you're sufficiently annoyed by them to find the cause
Tom> and try to fix it, go ahead, but I haven't heard anyone
Tom> else worried about it. It might be that SmartOS wants
Tom> something like what we have to do on macOS and AIX,
Tom> ie provide the core postgres executable in some sort of
Tom> linker switch while linking shlibs that will be loaded
Tom> by that executable.
I wonder if it's the use of -Bsymbolic that causes this (buildfarm logs
don't seem to go back far enough to check). (Note to original poster:
-Bsymbolic is there for a reason, you can't just remove it - but see
below.)
Since this is an ELF platform - arguably the closest thing to the
original reference ELF platform, at least by descent - it should not
require the kinds of tricks used on macOS and AIX; but we haven't done
the work needed to test using version scripts in place of -Bsymbolic for
fixing the symbol conflict problems. That ought to be a relatively
straightforward project for someone with access to a system to test on
(and I'm happy to advise on it).
The thing to do would be to try and copy the changes made to the *BSD
ports in commit e3d77ea6b instead of the change made in 4fa3741d1. The
contrib/postgres_fdw tests should show whether it worked or not.
--
Andrew (irc:RhodiumToad)