Message ID | 1426628645-26181-1-git-send-email-ps.report@gmx.net |
---|---|
State | Accepted |
Headers | show |
Dear Peter Seiderer, On Tue, 17 Mar 2015 22:44:05 +0100, Peter Seiderer wrote: > ifeq ($(BR2_PACKAGE_POSTGRESQL),y) > COLLECTD_CONF_OPTS += --with-libpq=$(STAGING_DIR)/usr/bin/pg_config > + COLLECTD_CONF_ENV = LIBS="-lpthread -lm" If they are needed, why isn't pg_config returning those linker flags? I'm sorry to be annoying, but I really don't like adding LIBS variables all over the place, because they tend to become wrong/unneeded, and we never notice. Thomas
Hello Thomas, > Gesendet: Dienstag, 17. März 2015 um 22:58 Uhr > Von: "Thomas Petazzoni" <thomas.petazzoni@free-electrons.com> > An: "Peter Seiderer" <ps.report@gmx.net> > Cc: buildroot@busybox.net > Betreff: Re: [Buildroot] [PATCH v1] collectd: fix postgresql library detection > > Dear Peter Seiderer, > > On Tue, 17 Mar 2015 22:44:05 +0100, Peter Seiderer wrote: > > > ifeq ($(BR2_PACKAGE_POSTGRESQL),y) > > COLLECTD_CONF_OPTS += --with-libpq=$(STAGING_DIR)/usr/bin/pg_config > > + COLLECTD_CONF_ENV = LIBS="-lpthread -lm" > > If they are needed, why isn't pg_config returning those linker flags? > Because pg_config only implements --includedir and --libdir: $ cat host/usr/sh4-buildroot-linux-uclibc/sysroot/usr/bin/pg_config #!/bin/sh # # Minimal pg_config implementation as replacement for the native pg_config application # Only implements --includedir and --libdir # prefix=/home/seiderer/BUildroot/build_sh_postgresql_collectd/host/usr/sh4-buildroot-linux-uclibc/sysroot/usr case "$1" in --includedir) echo "$prefix/include" ;; --libdir) echo "$prefix/lib" ;; *) echo "Usage: $0 {--includedir|--libdir}" esac And collectd configure uses only this two options... > I'm sorry to be annoying, but I really don't like adding LIBS variables > all over the place, because they tend to become wrong/unneeded, and we > never notice. ...suspected this argument, I am open for other suggestions, but I think this aproach is the least invasive... Regards, Peter > > Thomas > -- > Thomas Petazzoni, CTO, Free Electrons > Embedded Linux, Kernel and Android engineering > http://free-electrons.com >
diff --git a/package/collectd/collectd.mk b/package/collectd/collectd.mk index a4b91d6..4a40faa 100644 --- a/package/collectd/collectd.mk +++ b/package/collectd/collectd.mk @@ -141,6 +141,7 @@ ifeq ($(BR2_PACKAGE_NETSNMP),y) endif ifeq ($(BR2_PACKAGE_POSTGRESQL),y) COLLECTD_CONF_OPTS += --with-libpq=$(STAGING_DIR)/usr/bin/pg_config + COLLECTD_CONF_ENV = LIBS="-lpthread -lm" endif ifeq ($(BR2_PACKAGE_YAJL),y) COLLECTD_CONF_OPTS += --with-yajl=$(STAGING_DIR)/usr
Explicitly link against -lpthread and -lm. Fixes ([1]): checking for PQconnectdb in -lpq... no checking for PQserverVersion in -lpq... no postgresql . . . . . no (dependency error) [1] http://autobuild.buildroot.org/results/926/926a43b8f635790d7e9abdc977ea803ddaf8a523/ Signed-off-by: Peter Seiderer <ps.report@gmx.net> --- package/collectd/collectd.mk | 1 + 1 file changed, 1 insertion(+)