btrfs-progs: fix static build
PATCH 1/1 btrfs-progs: fix static build
libuuid needs -lintl when BR2_NEEDS_GETTEXT_IF_LOCALE is set.
Fixes:
http://autobuild.buildroot.net/results/9f1/9f182cd5955d724750135bcd6cb7e315fb28334f/
--- package/btrfs-progs/btrfs-progs.mk | 4 ++++ 1 file changed, 4 insertions(+)
package/btrfs-progs/btrfs-progs.mk +4 -0
@@ -17,6 +17,10 @@ BTRFS_PROGS_LICENSE_FILES = COPYING ifeq ($(BR2_PREFER_STATIC_LIB),y) BTRFS_PROGS_MAKE_TARGET = static BTRFS_PROGS_MAKE_INSTALL_TARGET = install-static +ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) +# Add -lintl for libuuid +BTRFS_PROGS_MAKE_FLAGS += lib_LIBS="-luuid -lblkid -lm -lz -llzo2 -L. -lintl" +endif else BTRFS_PROGS_MAKE_TARGET = all BTRFS_PROGS_MAKE_INSTALL_TARGET = install
Signature · 1 line
2.1.3
PATCH 1/1 btrfs-progs: fix static build
Quoted 7 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Baruch" == Baruch Siach <[email protected]> writes:
libuuid needs -lintl when
BR2_NEEDS_GETTEXT_IF_LOCALEis set. Fixes:
http://autobuild.buildroot.net/results/9f1/9f182cd5955d724750135bcd6cb7e315fb28334f/Signed-off-by Baruch Siach <[email protected]>
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/1 btrfs-progs: fix static build
In reply to Baruch SiachDear Baruch Siach,
package/btrfs-progs/btrfs-progs.mk BTRFS_PROGS_LICENSE_FILES = COPYING · line 23
Quoted 12 lines · Baruch Siach
package/btrfs-progs/btrfs-progs.mk +4
-0@@ -17,6 +17,10 @@ BTRFS_PROGS_LICENSE_FILES = COPYING ifeq ($(BR2_PREFER_STATIC_LIB),y) BTRFS_PROGS_MAKE_TARGET = static BTRFS_PROGS_MAKE_INSTALL_TARGET = install-static +ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) +# Add -lintl for libuuid +BTRFS_PROGS_MAKE_FLAGS += lib_LIBS="-luuid -lblkid -lm -lz -llzo2 -L. -lintl" +endif
This is really ugly and not maintainable, we are doing this all over the place to solve static linking issues, and it's going to be a never-ending story. If the package doesn't use pkg-config, can't we at least use it here, like:
lib_LIBS="$(shell pkg-config ...)"
?
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 btrfs-progs: fix static build
Hi Thomas,
Quoted 10 lines · Thomas Petazzoni
Quoted 9 lines · Baruch Siach
package/btrfs-progs/btrfs-progs.mk +0
-0@@ -17,6 +17,10 @@ BTRFS_PROGS_LICENSE_FILES = COPYING ifeq ($(BR2_PREFER_STATIC_LIB),y) BTRFS_PROGS_MAKE_TARGET = static BTRFS_PROGS_MAKE_INSTALL_TARGET = install-static
Quoted 8 lines
package/btrfs-progs/btrfs-progs.mk BTRFS_PROGS_LICENSE_FILES = COPYING · line 23
Quoted 4 lines
package/btrfs-progs/btrfs-progs.mk +4
-0+ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) +# Add -lintl for libuuid +BTRFS_PROGS_MAKE_FLAGS += lib_LIBS="-luuid -lblkid -lm -lz -llzo2 -L. -lintl" +endifThis is really ugly and not maintainable, we are doing this all over the place to solve static linking issues, and it's going to be a never-ending story.
I agree it is ugly. The thing is that this list of libraries is copied verbatim from btrfs-progs Makefile (except -lintl). I found no way to specify additional library dependencies.
Quoted 6 lines
If the package doesn't use pkg-config, can't we at least use it here, like:
lib_LIBS="$(shell pkg-config ...)"?
uuid.pc does not list -lintl because this is something we add locally since commit a8273c4272b1b8 (util-linux: fix libintl linking if present). Yann has proposed a patch (http://patchwork.ozlabs.org/patch/416000/) adding -lintl to uuid.pc when applicable. We'll still need to repeat the rest of the list, something like:
lib_LIBS="-luuid -lblkid -lm -lz -llzo2 -L. $(shell pkg-config ...)"
so I'm not sure it buy us much.
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 -