diff mbox

[PATCHv2,autobuild] package/oprofile: fix static linking

Message ID 1439736807-29324-1-git-send-email-yann.morin.1998@free.fr
State Changes Requested
Headers show

Commit Message

Yann E. MORIN Aug. 16, 2015, 2:53 p.m. UTC
oprofile links with popt, which links with -lintl and specifies it in
its popt.pc, and has done so for the past 6+ years, but oprofile does
not use pkconfig to find popt, so we need to tell it to link with -lintl
for a static build.

Fixes:
    http://autobuild.buildroot.org/results/a48/a485f2171a3fcbfa2e0e5aec8e653cf88512615d/
    http://autobuild.buildroot.org/results/b37/b374874f1915ab1d7aa6262604ccc8db102bb0b0/
    http://autobuild.buildroot.org/results/261/2616a63081ed8c55c7ca1a6879b1a6a14e19f918/
    http://autobuild.buildroot.org/results/73f/73f34ab59d54ded68ff60608a0212a6e5a5190e5/
    ...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Baruch Siach <baruch@tkos.co.il>

---
Changes v1 -> v2:
  - use PKG_CONFIG_HOST_BINARY to find popt libs  (Baruch)
---
 package/oprofile/oprofile.mk | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Baruch Siach Aug. 16, 2015, 6:02 p.m. UTC | #1
Hi Yann,

On Sun, Aug 16, 2015 at 04:53:27PM +0200, Yann E. MORIN wrote:
> +# popt links with -lintl and specifies it in its popt.pc, and has done
> +# so for the past 6+ years, but oprofile does not use pkconfig to find
> +# popt, so we need to tell it to link with -lintl for a static build.
> +ifeq ($(BR2_PACKAGE_GETTEXT)$(BR2_STATIC_LIBS),yy)
> +OPROFILE_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs popt`"
> +endif

Well, the whole point of running $(PKG_CONFIG_HOST_BINARY) is that its output 
matches the actual build dependencies. So the 'ifeq' should not be needed, 
just like logrotate.

baruch
Yann E. MORIN Aug. 16, 2015, 9:48 p.m. UTC | #2
Baruch, All,

On 2015-08-16 21:02 +0300, Baruch Siach spake thusly:
> On Sun, Aug 16, 2015 at 04:53:27PM +0200, Yann E. MORIN wrote:
> > +# popt links with -lintl and specifies it in its popt.pc, and has done
> > +# so for the past 6+ years, but oprofile does not use pkconfig to find
> > +# popt, so we need to tell it to link with -lintl for a static build.
> > +ifeq ($(BR2_PACKAGE_GETTEXT)$(BR2_STATIC_LIBS),yy)
> > +OPROFILE_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs popt`"
> > +endif
> 
> Well, the whole point of running $(PKG_CONFIG_HOST_BINARY) is that its output 
> matches the actual build dependencies. So the 'ifeq' should not be needed, 
> just like logrotate.

So true. Thanks for the reviews! :-)

Regards,
Yann E. MORIN.
diff mbox

Patch

diff --git a/package/oprofile/oprofile.mk b/package/oprofile/oprofile.mk
index 5876307..8815da7 100644
--- a/package/oprofile/oprofile.mk
+++ b/package/oprofile/oprofile.mk
@@ -41,6 +41,13 @@  ifeq ($(BR2_PACKAGE_LIBPFM4),y)
 OPROFILE_DEPENDENCIES += libpfm4
 endif
 
+# popt links with -lintl and specifies it in its popt.pc, and has done
+# so for the past 6+ years, but oprofile does not use pkconfig to find
+# popt, so we need to tell it to link with -lintl for a static build.
+ifeq ($(BR2_PACKAGE_GETTEXT)$(BR2_STATIC_LIBS),yy)
+OPROFILE_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs popt`"
+endif
+
 define OPROFILE_INSTALL_TARGET_CMDS
 	$(INSTALL) -d -m 755 $(TARGET_DIR)/usr/bin
 	$(INSTALL) -d -m 755 $(TARGET_DIR)/usr/share/oprofile