Skip to contentSkip to conversation

package/libevas-generic-loaders: needs zlib

PATCH New Romain Naour 3 participants 10 messages Aug 24, 2014 – Aug 28, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/3 package/libevas-generic-loaders: needs zlib

Fixes:
http://autobuild.buildroot.net/results/5d4/5d41cec63a15dc5f31460c8cecd6054119ddb1fc/build-end.log

---
 package/efl/libevas-generic-loaders/Config.in                  | 1 +
 package/efl/libevas-generic-loaders/libevas-generic-loaders.mk | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
package/efl/libevas-generic-loaders/Config.in +1 -0
index 30fb88b..3f7581f 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS
 	bool "libevas generic loaders"
 	select BR2_PACKAGE_LIBEINA
+	select BR2_PACKAGE_ZLIB
 	help
 	  These are additional "generic" loaders for Evas that are
 	  stand-alone executables that evas may run from its generic
package/efl/libevas-generic-loaders/libevas-generic-loaders.mk +1 -1
index 152a75b..db0ca32 100644
@@ -12,7 +12,7 @@ LIBEVAS_GENERIC_LOADERS_LICENSE_FILES = COPYING
 
 LIBEVAS_GENERIC_LOADERS_INSTALL_STAGING = YES
 
-LIBEVAS_GENERIC_LOADERS_DEPENDENCIES = libeina
+LIBEVAS_GENERIC_LOADERS_DEPENDENCIES = libeina zlib
 
 # For now, we only support the SVG loader
 LIBEVAS_GENERIC_LOADERS_CONF_OPT += \
Signature · 1 line
1.9.3
#1 lore raw

PATCH 2/3 package/libinput: fix build with libevdev

libevdev and libinput use the same function name (log_msg). An easy fix is to rename one of the two functions.

Fixes:
http://autobuild.buildroot.net/results/b1e/b1ea94f09d6f7459e3d7794c4a62bbdbb53d5da6/build-end.log

---
 ...put-01-rename-log_msg-to-libinput_log_msg.patch | 58 ++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 package/libinput/libinput-01-rename-log_msg-to-libinput_log_msg.patch
package/libinput/libinput-01-rename-log_msg-to-libinput_log_msg.patch new file +58 -0
new file mode 100644
index 0000000..55604b5
@@ -0,0 +1,58 @@
+From 89a3ae2de21e528b8feb80dbea3928d43982d3be Mon Sep 17 00:00:00 2001
+From: Romain Naour <[email protected]>
+Date: Thu, 21 Aug 2014 18:18:16 +0200
+Subject: [PATCH 1/1] rename log_msg to libinput_log_msg
+
+This fix conflicts between libevdev and libinput
+
+http://autobuild.buildroot.net/results/c13/c133b7c706ee31302125df8ca94f4d0f0152c6c6/build-end.log
+
+Signed-off-by: Romain Naour <[email protected]>
+---
+ src/libinput-private.h | 14 +++++++-------
+ src/libinput.c         |  2 +-
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/libinput-private.h b/src/libinput-private.h
+index f9d2f87..ac1e1c4 100644
+--- a/src/libinput-private.h
++++ b/src/libinput-private.h
+@@ -81,15 +81,15 @@ typedef void (*libinput_source_dispatch_t)(void *data);
+ 
+ struct libinput_source;
+ 
+-#define log_debug(...) log_msg(LIBINPUT_LOG_PRIORITY_DEBUG, __VA_ARGS__)
+-#define log_info(...) log_msg(LIBINPUT_LOG_PRIORITY_INFO, __VA_ARGS__)
+-#define log_error(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, __VA_ARGS__)
+-#define log_bug_kernel(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "kernel bug: " __VA_ARGS__)
+-#define log_bug_libinput(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "libinput bug: " __VA_ARGS__);
+-#define log_bug_client(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "client bug: " __VA_ARGS__);
++#define log_debug(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_DEBUG, __VA_ARGS__)
++#define log_info(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_INFO, __VA_ARGS__)
++#define log_error(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_ERROR, __VA_ARGS__)
++#define log_bug_kernel(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "kernel bug: " __VA_ARGS__)
++#define log_bug_libinput(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "libinput bug: " __VA_ARGS__);
++#define log_bug_client(...) libinput_log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "client bug: " __VA_ARGS__);
+ 
+ void
+-log_msg(enum libinput_log_priority priority, const char *format, ...);
++libinput_log_msg(enum libinput_log_priority priority, const char *format, ...);
+ 
+ int
+ libinput_init(struct libinput *libinput,
+diff --git a/src/libinput.c b/src/libinput.c
+index eec9efb..4e3f6fa 100644
+--- a/src/libinput.c
++++ b/src/libinput.c
+@@ -110,7 +110,7 @@ static struct log_data log_data = {
+ };
+ 
+ void
+-log_msg(enum libinput_log_priority priority, const char *format, ...)
++libinput_log_msg(enum libinput_log_priority priority, const char *format, ...)
+ {
+ 	va_list args;
+ 
+-- 
+1.9.3
+
Signature · 1 line
1.9.3
#2 lore raw

PATCH 2/3 package/libinput: fix build with libevdev

Dear Romain Naour,

Quoted 11 lines · Romain Naour

libevdev and libinput use the same function name (log_msg). An easy fix is to rename one of the two functions.

Fixes:
http://autobuild.buildroot.net/results/b1e/b1ea94f09d6f7459e3d7794c4a62bbdbb53d5da6/build-end.log

---
 ...put-01-rename-log_msg-to-libinput_log_msg.patch | 58 ++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 package/libinput/libinput-01-rename-log_msg-to-libinput_log_msg.patch

Committed, but please submit 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/3 package/libinput: fix build with libevdev

Hi Thomas,

Le 25/08/2014 20:12, Thomas Petazzoni a ?crit :

Quoted 9 lines

Dear Romain Naour,

Quoted 6 lines · Romain Naour

libevdev and libinput use the same function name (log_msg). An easy fix is to rename one of the two functions.

Fixes:
http://autobuild.buildroot.net/results/b1e/b1ea94f09d6f7459e3d7794c4a62bbdbb53d5da6/build-end.log

Quoted 8 lines
Quoted 5 lines
---
 ...put-01-rename-log_msg-to-libinput_log_msg.patch | 58 ++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 package/libinput/libinput-01-rename-log_msg-to-libinput_log_msg.patch

Committed, but please submit upstream.

I'll do.

Best regards,
Romain

#4 lore raw

PATCH 2/3 package/libinput: fix build with libevdev

Quoted 21 lines · Romain Naour

Hi Thomas,

Le 25/08/2014 20:12, Thomas Petazzoni a ?crit :

Quoted 9 lines

Dear Romain Naour,

Quoted 6 lines · Romain Naour

libevdev and libinput use the same function name (log_msg). An easy fix is to rename one of the two functions.

Fixes:
http://autobuild.buildroot.net/results/b1e/b1ea94f09d6f7459e3d7794c4a62bbdbb53d5da6/build-end.log

Quoted 8 lines
Quoted 5 lines
---
  ...put-01-rename-log_msg-to-libinput_log_msg.patch | 58 ++++++++++++++++++++++
  1 file changed, 58 insertions(+)

create mode 100644 package/libinput/libinput-01-rename-log_msg-to-libinput_log_msg.patch

Committed, but please submit upstream.

Quoted 9 lines

I'll do.

Best regards,
Romain
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Some changes to fix this kind of issues have been applied upstream. Please have a look to:

https://bugs.freedesktop.org/show_bug.cgi?id=82292

Maybe it's worth to do a version bump and check if that new patch is no longer necessary.

Signature · 1 line
Vincent
#5 lore raw

PATCH 2/3 package/libinput: fix build with libevdev

Hi Vicente,

Le 26/08/2014 11:13, Vicente Olivert Riera a ?crit :

Quoted 35 lines · Romain Naour
Quoted 24 lines

Hi Thomas,

Le 25/08/2014 20:12, Thomas Petazzoni a ?crit :

Quoted 18 lines

Dear Romain Naour,

Quoted 7 lines · Romain Naour

libevdev and libinput use the same function name (log_msg). An easy fix is to rename one of the two functions.

Fixes:
http://autobuild.buildroot.net/results/b1e/b1ea94f09d6f7459e3d7794c4a62bbdbb53d5da6/build-end.log

Quoted 7 lines
---
  ...put-01-rename-log_msg-to-libinput_log_msg.patch | 58
++++++++++++++++++++++
  1 file changed, 58 insertions(+)

create mode 100644
package/libinput/libinput-01-rename-log_msg-to-libinput_log_msg.patch

Quoted 2 lines

Committed, but please submit upstream.

Quoted 9 lines

I'll do.

Best regards,
Romain
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Quoted 4 lines

Some changes to fix this kind of issues have been applied upstream. Please have a look to:

https://bugs.freedesktop.org/show_bug.cgi?id=82292

Thanks for the link !

I should have looked at the latest commits...

Quoted 4 lines

Maybe it's worth to do a version bump and check if that new patch is no longer necessary.

Yes, I reverted my commit and I built libinput-0.3.0 using a backported version of this patch:
http://lists.freedesktop.org/archives/wayland-devel/2014-August/016599.html

Also, libevdev has renamed the functions log_msg to _libevdev_log_msg. So, the issue will be fixed without my patch in the next version bump of libevdev or libinput.

Best regards,
Romain

#6 lore raw

PATCH 3/3 package/libarchive: fix linking issue with uClibc

In reply to Romain Naour

With uClibc the dynamic linking loader functions needs to be linked with -ldl

Fixes:
http://autobuild.buildroot.net/results/6af/6af140618b274536238b062635d493709905c8f6/build-end.log

---
 package/libarchive/libarchive.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/libarchive/libarchive.mk +4 -0
index 8c6951d..ce3355c 100644
@@ -68,4 +68,8 @@ else
 LIBARCHIVE_CONF_OPT += --without-zlib
 endif
 
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
+LIBARCHIVE_CONF_ENV += LIBS="-ldl"
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
1.9.3
#7 lore raw

PATCH 3/3 package/libarchive: fix linking issue with uClibc

Dear Romain Naour,

Quoted 16 lines · Romain Naour

With uClibc the dynamic linking loader functions needs to be linked with -ldl

Fixes:
http://autobuild.buildroot.net/results/6af/6af140618b274536238b062635d493709905c8f6/build-end.log

---
 package/libarchive/libarchive.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/libarchive/libarchive.mk +0 -0
index 8c6951d..ce3355c 100644

package/libarchive/libarchive.mk else · line 75

Quoted 8 lines
package/libarchive/libarchive.mk +4 -0
@@ -68,4 +68,8 @@ else
 LIBARCHIVE_CONF_OPT += --without-zlib
 endif
 
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
+LIBARCHIVE_CONF_ENV += LIBS="-ldl"
+endif
+
 $(eval $(autotools-package))

I don't think this is the right fix, for several reasons:

*) The problem only occurs due to the fact that bsdcpio and bsdtar are
by default linked statically. When BR2_PREFER_STATIC_LIB is disabled, we should pass --enable-bsdtar=shared and --enable-bsdcpio=shared to ensure they are dynamically linked. This fixes the problem in the dynamic linking case.

*) The problem is caused by the dependency of OpenSSL on libdl. So
there is no need to always link against libdl: it should only be done when BR2_PREFER_STATIC_LIB=y and OpenSSL is enabled.

*) I don't see why the problem would be uClibc specific.

Generally speaking, it's annoying to have to teach all packages using OpenSSL that they should link against -ldl when doing static linking. It would be so much better if everyone was using pkg-config...

Best regards,

Thomas

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

PATCH 3/3 package/libarchive: fix linking issue with uClibc

Hi Thomas,

Le 25/08/2014 23:03, Thomas Petazzoni a ?crit :

Quoted 40 lines

Dear Romain Naour,

Quoted 16 lines · Romain Naour

With uClibc the dynamic linking loader functions needs to be linked with -ldl

Fixes:
http://autobuild.buildroot.net/results/6af/6af140618b274536238b062635d493709905c8f6/build-end.log

---
 package/libarchive/libarchive.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/libarchive/libarchive.mk +0 -0
index 8c6951d..ce3355c 100644

package/libarchive/libarchive.mk else · line 75

Quoted 8 lines
package/libarchive/libarchive.mk +4 -0
@@ -68,4 +68,8 @@ else
 LIBARCHIVE_CONF_OPT += --without-zlib
 endif
 
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
+LIBARCHIVE_CONF_ENV += LIBS="-ldl"
+endif
+
 $(eval $(autotools-package))

I don't think this is the right fix, for several reasons:

*) The problem only occurs due to the fact that bsdcpio and bsdtar are
by default linked statically. When BR2_PREFER_STATIC_LIB is disabled, we should pass --enable-bsdtar=shared and --enable-bsdcpio=shared to ensure they are dynamically linked. This fixes the problem in the dynamic linking case.

*) The problem is caused by the dependency of OpenSSL on libdl. So
there is no need to always link against libdl: it should only be done when BR2_PREFER_STATIC_LIB=y and OpenSSL is enabled.

Quoted 6 lines

*) I don't see why the problem would be uClibc specific.

Generally speaking, it's annoying to have to teach all packages using OpenSSL that they should link against -ldl when doing static linking. It would be so much better if everyone was using pkg-config...

Ok, I misunderstood the problem, thanks for your explanations. I'll try to fix this issue before the release.

Best regards,
Romain

#9 lore raw

PATCH 1/3 package/libevas-generic-loaders: needs zlib

In reply to Romain Naour

Dear Romain Naour,

Quoted 8 lines · Romain Naour

Fixes:
http://autobuild.buildroot.net/results/5d4/5d41cec63a15dc5f31460c8cecd6054119ddb1fc/build-end.log

---
 package/efl/libevas-generic-loaders/Config.in                  | 1 +
 package/efl/libevas-generic-loaders/libevas-generic-loaders.mk | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

Applied, thanks.

Thomas

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