package/oprofile: fix static linking
PATCH v2 1/1 package/oprofile: fix static linking
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/ ...
---
Changes v1 -> v2:
- use PKG_CONFIG_HOST_BINARY to find popt libs (Baruch)
--- package/oprofile/oprofile.mk | 7 +++++++ 1 file changed, 7 insertions(+)
package/oprofile/oprofile.mk +7 -0
@@ -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
Signature · 1 line
1.9.1
PATCH v2 1/1 package/oprofile: fix static linking
Hi Yann,
package/oprofile/oprofile.mk ifeq ($(BR2_PACKAGE_LIBPFM4),y) · line 49
Quoted 6 lines · Yann E. MORIN
package/oprofile/oprofile.mk +6
-0+# 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
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -PATCH v2 1/1 package/oprofile: fix static linking
Baruch, All,
On 2015-08-16 21:02 +0300, Baruch Siach spake thusly:
Quoted 11 lines · Yann E. MORIN
package/oprofile/oprofile.mk ifeq ($(BR2_PACKAGE_LIBPFM4),y) · line 49
Quoted 6 lines
package/oprofile/oprofile.mk +6
-0+# 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`" +endifWell, 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.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'