Skip to contentSkip to conversation

lcms2: fix lcms2.pc.in thread library dependency (for static linking)

PATCH New Peter Seiderer 2 participants 6 messages Nov 11, 2016 – Nov 14, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 lcms2: fix lcms2.pc.in thread library dependency (for static linking)

---
 ...Fix-lcms2.pc.in-thread-library-dependency.patch | 26 ++++++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 package/lcms2/0001-Fix-lcms2.pc.in-thread-library-dependency.patch
package/lcms2/0001-Fix-lcms2.pc.in-thread-library-dependency.patch new file +26 -0
new file mode 100644
index 0000000..f8c0d00
@@ -0,0 +1,26 @@
+From 0b55fd4e0935a0231ca258fde631a95215df2f72 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <[email protected]>
+Date: Fri, 11 Nov 2016 23:29:56 +0100
+Subject: [PATCH] Fix lcms2.pc.in thread library dependency.
+
+Needed (sometimes) for static linking.
+
+Signed-off-by: Peter Seiderer <[email protected]>
+---
+ lcms2.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lcms2.pc.in b/lcms2.pc.in
+index b715f59..5b4213c 100644
+--- a/lcms2.pc.in
++++ b/lcms2.pc.in
+@@ -7,5 +7,5 @@ Name: @PACKAGE@
+ Description: LCMS Color Management Library
+ Version: @VERSION@
+ Libs: -L${libdir} -llcms2
+-Libs.private: @LIB_MATH@ 
++Libs.private: @LIB_MATH@ @LIB_THREAD@
+ Cflags: -I${includedir}
+-- 
+2.8.1
+
Signature · 1 line
2.8.1
#1 lore raw

PATCH 2/2 openjpeg: fix static linking of liblcms2

Fixes [1]:

.../host/usr/bfin-buildroot-uclinux-uclibc/sysroot/usr/lib/liblcms2.a(cmsplugin.o): In function `_cmsDeleteContext':
cmsplugin.c:(.text+0x1c2): undefined reference to _pthread_mutex_lock' cmsplugin.c:(.text+0x1f6): undefined reference to _pthread_mutex_unlock'

http://autobuild.buildroot.net/results/5ce/5cee20afd8bef5268832cddcb3a5270746be7a57

---
Depends on [2] from Samuel Martin.

[2] https://patchwork.ozlabs.org/patch/691655/

---
 ...lcms2-append-flags-found-by-pkg-config-if.patch | 47 ++++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 package/openjpeg/0002-thirdparty-lcms2-append-flags-found-by-pkg-config-if.patch
package/openjpeg/0002-thirdparty-lcms2-append-flags-found-by-pkg-config-if.patch new file +47 -0
new file mode 100644
index 0000000..4366c0a
@@ -0,0 +1,47 @@
+From 226daa77ea5a35da306f9af2548f3e2c9e79f577 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <[email protected]>
+Date: Fri, 11 Nov 2016 23:35:13 +0100
+Subject: [PATCH] thirdparty: lcms2: append flags found by pkg-config if
+ available
+
+This change allows to get all required CFLAGS/LDFLAGS in case of static only
+build.
+
+Fixes a buildroot build failure (see [1]).
+
+[1] http://autobuild.buildroot.net/results/5ce/5cee20afd8bef5268832cddcb3a5270746be7a57
+
+Signed-off-by: Peter Seiderer <[email protected]>
+---
+ thirdparty/CMakeLists.txt | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt
+index 225f51d..42770ad 100644
+--- a/thirdparty/CMakeLists.txt
++++ b/thirdparty/CMakeLists.txt
+@@ -113,12 +113,19 @@ IF( BUILD_THIRDPARTY)
+   SET(OPJ_HAVE_LIBLCMS2 1 PARENT_SCOPE)
+ ELSE (BUILD_THIRDPARTY)
+   FIND_PACKAGE(LCMS2)
++  # Static only build:
++  #   it is necessary to invoke pkg_check_module on lcms2 since it may have
++  #   several other dependencies not declared by its cmake module, but they are
++  #   in the its pkgconfig module.
++  IF(PKG_CONFIG_FOUND)
++    pkg_check_modules(PC_LCMS2 QUIET lcms2)
++  ENDIF(PKG_CONFIG_FOUND)
+   IF(LCMS2_FOUND)
+     message(STATUS "Your system seems to have a LCMS2 lib available, we will use it")
+     SET(OPJ_HAVE_LCMS2_H 1 PARENT_SCOPE)
+     SET(OPJ_HAVE_LIBLCMS2 1 PARENT_SCOPE)
+-    SET(LCMS_LIBNAME ${LCMS2_LIBRARIES} PARENT_SCOPE)
+-    SET(LCMS_INCLUDE_DIRNAME ${LCMS2_INCLUDE_DIRS} PARENT_SCOPE)
++    SET(LCMS_LIBNAME ${LCMS2_LIBRARIES} ${PC_LCMS2_STATIC_LIBRARIES} PARENT_SCOPE)
++    SET(LCMS_INCLUDE_DIRNAME ${LCMS2_INCLUDE_DIRS} ${PC_LCMS2_STATIC_INCLUDE_DIRS} PARENT_SCOPE)
+   ELSE (LCMS2_FOUND) # not found lcms2
+     # try to find LCMS
+     FIND_PACKAGE(LCMS)
+-- 
+2.8.1
+
Signature · 1 line
2.8.1
#2 lore raw

PATCH 2/2 openjpeg: fix static linking of liblcms2

Hello,

Quoted 11 lines · Peter Seiderer

Fixes [1]:

.../host/usr/bfin-buildroot-uclinux-uclibc/sysroot/usr/lib/liblcms2.a(cmsplugin.o): In function `_cmsDeleteContext':
cmsplugin.c:(.text+0x1c2): undefined reference to _pthread_mutex_lock' cmsplugin.c:(.text+0x1f6): undefined reference to _pthread_mutex_unlock'

http://autobuild.buildroot.net/results/5ce/5cee20afd8bef5268832cddcb3a5270746be7a57

---
Depends on [2] from Samuel Martin.

Applied to master, thanks. Also, please submit the patch upstream. Thanks!

Thomas

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

PATCH 2/2 openjpeg: fix static linking of liblcms2

Hello Thomas,

Quoted 9 lines · Thomas Petazzoni

Hello,

Quoted 6 lines · Peter Seiderer

Fixes [1]:

.../host/usr/bfin-buildroot-uclinux-uclibc/sysroot/usr/lib/liblcms2.a(cmsplugin.o): In function `_cmsDeleteContext':
cmsplugin.c:(.text+0x1c2): undefined reference to _pthread_mutex_lock' cmsplugin.c:(.text+0x1f6): undefined reference to _pthread_mutex_unlock'

Quoted 7 lines
Quoted 5 lines

http://autobuild.buildroot.net/results/5ce/5cee20afd8bef5268832cddcb3a5270746be7a57

---
Depends on [2] from Samuel Martin.

Applied to master, thanks. Also, please submit the patch upstream.

O.k, done [1] ...

Regards,
Peter

[1] https://github.com/uclouvain/openjpeg/pull/867

Quoted 3 lines

Thanks!

Thomas

#4 lore raw

PATCH 1/2 lcms2: fix lcms2.pc.in thread library dependency (for static linking)

In reply to Peter Seiderer

Hello,

Quoted 5 lines · Peter Seiderer
---
 ...Fix-lcms2.pc.in-thread-library-dependency.patch | 26 ++++++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 package/lcms2/0001-Fix-lcms2.pc.in-thread-library-dependency.patch

Applied to master, thanks. Please submit the patch upstream. Thanks!

Thomas

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

PATCH 1/2 lcms2: fix lcms2.pc.in thread library dependency (for static linking)

Quoted 10 lines · Thomas Petazzoni

Hello,

Quoted 5 lines · Peter Seiderer
---
 ...Fix-lcms2.pc.in-thread-library-dependency.patch | 26 ++++++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 package/lcms2/0001-Fix-lcms2.pc.in-thread-library-dependency.patch

Applied to master, thanks. Please submit the patch upstream. Thanks!

O.k, done [1]...

Regards,
Peter

[1] https://github.com/mm2/Little-CMS/pull/106

Quoted 2 lines

Thomas