Skip to contentSkip to conversation

liblinear: fix shared library build when -fPIC is required

PATCH New Baruch Siach 2 participants 2 messages Dec 22, 2014 – Dec 23, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 liblinear: fix shared library build when -fPIC is required

Some architectures require building with -fPIC for shared libraries. -fPIC is present in upstream Makefile but we override CFLAGS when running make. Add -fPIC back when building shared libraries.

Fixes:
http://autobuild.buildroot.net/results/5d6/5d63bf2f1af7977ff81116e767b399d4d0a30a99/
http://autobuild.buildroot.net/results/47d/47d62d66c65cc77da9d48981ca6612257e616a90/
http://autobuild.buildroot.net/results/c81/c816a0982733595438ed7ad90ae1231001c285cc/

---
 package/liblinear/liblinear.mk | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
package/liblinear/liblinear.mk +3 -1
index 296aa019ad4c..38aaefca442d 100644
@@ -9,6 +9,7 @@ LIBLINEAR_SITE = http://www.csie.ntu.edu.tw/~cjlin/liblinear/$(LIBLINEAR_VERSION
 LIBLINEAR_LICENSE = BSD-3c
 LIBLINEAR_LICENSE_FILES = COPYING
 LIBLINEAR_INSTALL_STAGING = YES
+LIBLINEAR_CFLAGS = $(TARGET_CFLAGS)
 
 ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
 # $1: destination directory
@@ -16,6 +17,7 @@ define LIBLINEAR_INSTALL_SHARED
 	$(INSTALL) -m 0644 -D $(@D)/liblinear.so.2 $(1)/usr/lib/liblinear.so.2
 	ln -sf liblinear.so.2 $(1)/usr/lib/liblinear.so
 endef
+LIBLINEAR_CFLAGS += -fPIC
 endif
 
 ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
@@ -26,7 +28,7 @@ endef
 endif
 
 define LIBLINEAR_BUILD_CMDS
-	$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(LIBLINEAR_CFLAGS)" -C $(@D) \
 		$(if $(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),lib) \
 		$(if $(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),static-lib)
 endef
Signature · 1 line
2.1.3
#1 lore raw

PATCH 1/1 liblinear: fix shared library build when -fPIC is required

Dear Baruch Siach,

Quoted 9 lines · Baruch Siach

Some architectures require building with -fPIC for shared libraries. -fPIC is present in upstream Makefile but we override CFLAGS when running make. Add -fPIC back when building shared libraries.

Fixes:
http://autobuild.buildroot.net/results/5d6/5d63bf2f1af7977ff81116e767b399d4d0a30a99/
http://autobuild.buildroot.net/results/47d/47d62d66c65cc77da9d48981ca6612257e616a90/
http://autobuild.buildroot.net/results/c81/c816a0982733595438ed7ad90ae1231001c285cc/

Quoted 4 lines
---
 package/liblinear/liblinear.mk | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com