On 07/22/2015 13:13, Alvaro Herrera wrote:
> dmilith@gmail.com wrote:
>
>> utils/probes.o: In function `dtrace_dof_init':
>> /usr/src/cddl/lib/drti/../../../cddl/contrib/opensolaris/lib/libdtrace/common/drti.c:(.text+0xd7):
>> undefined reference to `elf_version'
>> clang: error: linker command failed with exit code 1 (use -v to see
>> invocation)
>> Makefile:57: recipe for target 'postgres' failed
>>
>>
>> To fix this, I needed to add -lelf to LDFLAGS. The build passes.
> Grumble.
>
> Isn't this a platform bug? I mean, if you specify to build with dtrace,
> maybe the -lelf should be implicit, or something. I assume there's a
> manpage in FreeBSD for this stuff, what does it say?
>
> If we need to workaround, I guess we could add a SEARCH_AC_LIBS to
> configure when DTrace is specified (maybe only on freebsd?).
>
Hi All,
Yes, this is a known oddity with FreeBSD specifically, not with PostgreSQL.
Discussed here:
https://lists.freebsd.org/pipermail/freebsd-dtrace/2015-January/000342.html
And addressed in the ports tree as well:
https://svnweb.freebsd.org/ports/head/databases/postgresql92-server/Makefile?view=markup#l168
Though, sadly, the need to link -lelf is not clear if you're building
from source and not using the ports tree, unless you do some searching
around.
Hope that helps,
Lacey