* [Buildroot] update libglib2 and libsoup
@ 2012-02-27 12:38 Sven Neumann
2012-02-27 12:38 ` [Buildroot] [PATCH 1/4] gamin: fix compilation with glib 2.30 Sven Neumann
` (4 more replies)
0 siblings, 5 replies; 9+ messages in thread
From: Sven Neumann @ 2012-02-27 12:38 UTC (permalink / raw)
To: buildroot
This is a patchset that updates libglib2 and libsoup to the latest
stable versions.
SSL/TLS support in libsoup does not any longer use libgcrypt directly
but relies on GIO modules that are provided by glib-networking. Thus
a new package "glib-networking" is introduced.
Packages using libsoup with SSL support don't need to be changed;
the BR2_PACKAGE_LIBSOUP_SSL option takes care of selecting the new
glib-networking package and compiling it with libgcrypt support.
There's also a patch included for gamin that is needed to make it
compile with the latest libglib2.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 1/4] gamin: fix compilation with glib 2.30
2012-02-27 12:38 [Buildroot] update libglib2 and libsoup Sven Neumann
@ 2012-02-27 12:38 ` Sven Neumann
2012-02-27 12:38 ` [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2 Sven Neumann
` (3 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Sven Neumann @ 2012-02-27 12:38 UTC (permalink / raw)
To: buildroot
G_CONST_RETURN is deprecated in glib 2.30 so remove occurences
to avoid build failures.
Patch taken from http://patches.openembedded.org/patch/13079/
Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
---
package/gamin/gamin-0.1.10-no-const-return.patch | 57 ++++++++++++++++++++++
1 files changed, 57 insertions(+), 0 deletions(-)
create mode 100644 package/gamin/gamin-0.1.10-no-const-return.patch
diff --git a/package/gamin/gamin-0.1.10-no-const-return.patch b/package/gamin/gamin-0.1.10-no-const-return.patch
new file mode 100644
index 0000000..3e6e905
--- /dev/null
+++ b/package/gamin/gamin-0.1.10-no-const-return.patch
@@ -0,0 +1,57 @@
+G_CONST_RETURN is deprecated in glib 2.30 so remove to to avoid
+build failures.
+
+Upstream-Status: Pending
+
+Index: gamin-0.1.10/server/gam_node.c
+===================================================================
+--- gamin-0.1.10.orig/server/gam_node.c 2011-10-12 15:25:45.217178314 +0100
++++ gamin-0.1.10/server/gam_node.c 2011-10-12 15:26:17.807178293 +0100
+@@ -122,7 +122,7 @@
+ * it has finished with the string. If it must keep it longer, it
+ * should makes its own copy. The returned string must not be freed.
+ */
+-G_CONST_RETURN char *
++const char *
+ gam_node_get_path(GamNode * node)
+ {
+ g_assert(node);
+Index: gamin-0.1.10/server/gam_node.h
+===================================================================
+--- gamin-0.1.10.orig/server/gam_node.h 2011-10-12 15:25:46.857178269 +0100
++++ gamin-0.1.10/server/gam_node.h 2011-10-12 15:26:28.637178297 +0100
+@@ -58,7 +58,7 @@
+ void gam_node_set_is_dir (GamNode *node,
+ gboolean is_dir);
+
+-G_CONST_RETURN char *gam_node_get_path (GamNode *node);
++const char *gam_node_get_path (GamNode *node);
+
+ GList *gam_node_get_subscriptions (GamNode *node);
+
+Index: gamin-0.1.10/server/gam_subscription.c
+===================================================================
+--- gamin-0.1.10.orig/server/gam_subscription.c 2011-10-12 15:25:40.497177525 +0100
++++ gamin-0.1.10/server/gam_subscription.c 2011-10-12 15:26:39.867178304 +0100
+@@ -141,7 +141,7 @@
+ * @param sub the GamSubscription
+ * @returns The path being monitored. It should not be freed.
+ */
+-G_CONST_RETURN char *
++const char *
+ gam_subscription_get_path(GamSubscription * sub)
+ {
+ if (sub == NULL)
+Index: gamin-0.1.10/server/gam_subscription.h
+===================================================================
+--- gamin-0.1.10.orig/server/gam_subscription.h 2011-10-12 15:25:28.507178266 +0100
++++ gamin-0.1.10/server/gam_subscription.h 2011-10-12 15:25:58.817178285 +0100
+@@ -21,7 +21,7 @@
+
+ int gam_subscription_get_reqno (GamSubscription *sub);
+
+-G_CONST_RETURN char *gam_subscription_get_path (GamSubscription *sub);
++const char *gam_subscription_get_path (GamSubscription *sub);
+
+ GamListener *gam_subscription_get_listener (GamSubscription *sub);
+
--
1.7.5.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2
2012-02-27 12:38 [Buildroot] update libglib2 and libsoup Sven Neumann
2012-02-27 12:38 ` [Buildroot] [PATCH 1/4] gamin: fix compilation with glib 2.30 Sven Neumann
@ 2012-02-27 12:38 ` Sven Neumann
2012-02-27 23:34 ` Peter Korsgaard
2012-02-27 12:38 ` [Buildroot] [PATCH 3/4] glib-networking: new package Sven Neumann
` (2 subsequent siblings)
4 siblings, 1 reply; 9+ messages in thread
From: Sven Neumann @ 2012-02-27 12:38 UTC (permalink / raw)
To: buildroot
Update to latest stable release and add a dependency on libffi which
is needed by GObject.
Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
---
package/libglib2/Config.in | 1 +
...b2-fix-compilation-with-no-builtin-atomic.patch | 25 --------------------
package/libglib2/libglib2.mk | 14 +++++-----
3 files changed, 8 insertions(+), 32 deletions(-)
delete mode 100644 package/libglib2/libglib2-fix-compilation-with-no-builtin-atomic.patch
diff --git a/package/libglib2/Config.in b/package/libglib2/Config.in
index 3d42430..d1d7231 100644
--- a/package/libglib2/Config.in
+++ b/package/libglib2/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+ select BR2_PACKAGE_LIBFFI
select BR2_PACKAGE_ZLIB
depends on BR2_USE_WCHAR # gettext
help
diff --git a/package/libglib2/libglib2-fix-compilation-with-no-builtin-atomic.patch b/package/libglib2/libglib2-fix-compilation-with-no-builtin-atomic.patch
deleted file mode 100644
index 39c0510..0000000
--- a/package/libglib2/libglib2-fix-compilation-with-no-builtin-atomic.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 58096320ea0888c4fbbff318839017a4d2e82703 Mon Sep 17 00:00:00 2001
-From: Lionel Landwerlin <llandwerlin@gmail.com>
-Date: Sat, 6 Nov 2010 14:56:15 +0100
-Subject: [PATCH] glib: fix compilation with no builtin atomic operations compilers
-
-Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com>
----
- glib/gatomic.c | 1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/glib/gatomic.c b/glib/gatomic.c
-index 845c866..01468ce 100644
---- a/glib/gatomic.c
-+++ b/glib/gatomic.c
-@@ -881,6 +881,7 @@ g_atomic_pointer_compare_and_exchange (volatile gpointer G_GNUC_MAY_ALIAS *atomi
- #endif /* DEFINE_WITH_WIN32_INTERLOCKED */
-
- #ifdef DEFINE_WITH_MUTEXES
-+# include "gthread.h"
- /* We have to use the slow, but safe locking method */
- static GMutex *g_atomic_mutex;
-
---
-1.7.2.3
-
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index 0832ac3..a35e525 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -3,8 +3,8 @@
# libglib2
#
#############################################################
-LIBGLIB2_VERSION_MAJOR = 2.28
-LIBGLIB2_VERSION_MINOR = 8
+LIBGLIB2_VERSION_MAJOR = 2.30
+LIBGLIB2_VERSION_MINOR = 2
LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).$(LIBGLIB2_VERSION_MINOR)
LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.bz2
LIBGLIB2_SITE = http://ftp.gnome.org/pub/gnome/sources/glib/$(LIBGLIB2_VERSION_MAJOR)
@@ -13,7 +13,7 @@ LIBGLIB2_INSTALL_STAGING = YES
LIBGLIB2_INSTALL_TARGET = YES
LIBGLIB2_INSTALL_STAGING_OPT = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install
-LIBGLIB2_CONF_ENV = \
+LIBGLIB2_CONF_ENV = \
ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
glib_cv_uscore=no ac_cv_func_strtod=yes \
ac_fsusage_space=yes fu_cv_sys_stat_statfs2_bsize=yes \
@@ -48,17 +48,17 @@ HOST_LIBGLIB2_CONF_OPT = \
--disable-gtk-doc \
--enable-debug=no \
-LIBGLIB2_DEPENDENCIES = host-pkg-config host-libglib2 zlib $(if $(BR2_NEEDS_GETTEXT),gettext libintl)
+LIBGLIB2_DEPENDENCIES = host-pkg-config host-libglib2 libffi zlib $(if $(BR2_NEEDS_GETTEXT),gettext libintl)
-HOST_LIBGLIB2_DEPENDENCIES = host-pkg-config host-zlib
+HOST_LIBGLIB2_DEPENDENCIES = host-pkg-config host-libffi host-zlib
ifneq ($(BR2_ENABLE_LOCALE),y)
-LIBGLIB2_DEPENDENCIES+=libiconv
+LIBGLIB2_DEPENDENCIES += libiconv
endif
ifeq ($(BR2_PACKAGE_LIBICONV),y)
LIBGLIB2_CONF_OPT += --with-libiconv=gnu
-LIBGLIB2_DEPENDENCIES+=libiconv
+LIBGLIB2_DEPENDENCIES += libiconv
endif
define LIBGLIB2_REMOVE_DEV_FILES
--
1.7.5.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 3/4] glib-networking: new package
2012-02-27 12:38 [Buildroot] update libglib2 and libsoup Sven Neumann
2012-02-27 12:38 ` [Buildroot] [PATCH 1/4] gamin: fix compilation with glib 2.30 Sven Neumann
2012-02-27 12:38 ` [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2 Sven Neumann
@ 2012-02-27 12:38 ` Sven Neumann
2012-02-27 12:38 ` [Buildroot] [PATCH 4/4] libsoup: update to version 2.36.1 Sven Neumann
2012-02-28 8:22 ` [Buildroot] update libglib2 and libsoup Peter Korsgaard
4 siblings, 0 replies; 9+ messages in thread
From: Sven Neumann @ 2012-02-27 12:38 UTC (permalink / raw)
To: buildroot
glib-networking provides network-related GIO modules for glib.
It is used by newer versions of libsoup to implement SSL/TLS
support.
Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
---
package/Config.in | 1 +
package/glib-networking/Config.in | 11 +++++++++++
package/glib-networking/glib-networking.mk | 22 ++++++++++++++++++++++
3 files changed, 34 insertions(+), 0 deletions(-)
create mode 100644 package/glib-networking/Config.in
create mode 100644 package/glib-networking/glib-networking.mk
diff --git a/package/Config.in b/package/Config.in
index 8a7c9c4..41cbb8c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -344,6 +344,7 @@ source "package/jsmin/Config.in"
endmenu
menu "Networking"
+source "package/glib-networking/Config.in"
source "package/libcgi/Config.in"
source "package/libcgicc/Config.in"
source "package/libcurl/Config.in"
diff --git a/package/glib-networking/Config.in b/package/glib-networking/Config.in
new file mode 100644
index 0000000..16f0d4a
--- /dev/null
+++ b/package/glib-networking/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_GLIB_NETWORKING
+ bool "glib-networking"
+ depends on BR2_USE_WCHAR # glib2
+ select BR2_PACKAGE_LIBGLIB2
+ select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+ select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
+ help
+ Network-related GIO modules for glib.
+
+comment "glib-networking requires a toolchain with WCHAR support"
+ depends on !BR2_USE_WCHAR
diff --git a/package/glib-networking/glib-networking.mk b/package/glib-networking/glib-networking.mk
new file mode 100644
index 0000000..b1ad621
--- /dev/null
+++ b/package/glib-networking/glib-networking.mk
@@ -0,0 +1,22 @@
+#############################################################
+#
+# glib-networking
+#
+#############################################################
+
+GLIB_NETWORKING_MAJOR_VERSION = 2.30
+GLIB_NETWORLING_MINOR_VERSION = 2
+GLIB_NETWORKING_VERSION = $(GLIB_NETWORKING_MAJOR_VERSION).$(GLIB_NETWORLING_MINOR_VERSION)
+GLIB_NETWORKING_SITE = http://ftp.gnome.org/pub/gnome/sources/glib-networking/$(GLIB_NETWORKING_MAJOR_VERSION)
+GLIB_NETWORKING_SOURCE = glib-networking-$(GLIB_NETWORKING_VERSION).tar.xz
+
+GLIB_NETWORKING_INSTALL_STAGING = YES
+
+GLIB_NETWORKING_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-pkg-config libglib2
+
+ifeq ($(BR2_PACKAGE_GNUTLS),y)
+GLIB_NETWORKING_DEPENDENCIES += gnutls
+GLIB_NETWORKING_CONF_OPT = --with-libgcrypt-prefix=$(STAGING_DIR)/usr
+endif
+
+$(eval $(call AUTOTARGETS))
--
1.7.5.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 4/4] libsoup: update to version 2.36.1
2012-02-27 12:38 [Buildroot] update libglib2 and libsoup Sven Neumann
` (2 preceding siblings ...)
2012-02-27 12:38 ` [Buildroot] [PATCH 3/4] glib-networking: new package Sven Neumann
@ 2012-02-27 12:38 ` Sven Neumann
2012-02-28 8:22 ` [Buildroot] update libglib2 and libsoup Peter Korsgaard
4 siblings, 0 replies; 9+ messages in thread
From: Sven Neumann @ 2012-02-27 12:38 UTC (permalink / raw)
To: buildroot
Update to latest stable release. SSL support now depends on
glib-networking with gnutls support instead of using gnutls
directly.
Remove libsoup-CVE-2011-2054.patch, this is fixed upstream.
Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
---
package/libsoup/Config.in | 1 +
package/libsoup/libsoup-CVE-2011-2054.patch | 32 ---------------------------
package/libsoup/libsoup.mk | 19 ++++++---------
3 files changed, 9 insertions(+), 43 deletions(-)
delete mode 100644 package/libsoup/libsoup-CVE-2011-2054.patch
diff --git a/package/libsoup/Config.in b/package/libsoup/Config.in
index 347687c..eee6ade 100644
--- a/package/libsoup/Config.in
+++ b/package/libsoup/Config.in
@@ -14,6 +14,7 @@ config BR2_PACKAGE_LIBSOUP
config BR2_PACKAGE_LIBSOUP_SSL
bool "https support"
+ select BR2_PACKAGE_GLIB_NETWORKING
select BR2_PACKAGE_GNUTLS
depends on BR2_PACKAGE_LIBSOUP
help
diff --git a/package/libsoup/libsoup-CVE-2011-2054.patch b/package/libsoup/libsoup-CVE-2011-2054.patch
deleted file mode 100644
index 0dc5ecc..0000000
--- a/package/libsoup/libsoup-CVE-2011-2054.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4617b6ef6dd21931a0153070c5b5ff7ef21b46f8 Mon Sep 17 00:00:00 2001
-From: Dan Winship <danw@gnome.org>
-Date: Wed, 29 Jun 2011 10:04:06 -0400
-Subject: [PATCH] SoupServer: fix to not allow smuggling ".." into path
-
-When SoupServer:raw-paths was set (the default), it was possible to
-sneak ".." segments into the path passed to the SoupServerHandler,
-which could then end up tricking some handlers into retrieving
-arbitrary files from the filesystem. Fix that.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=653258
-
-diff --git a/libsoup/soup-server.c b/libsoup/soup-server.c
-index d56efd1..7225337 100644
---- a/libsoup/soup-server.c
-+++ b/libsoup/soup-server.c
-@@ -779,6 +779,15 @@ got_headers (SoupMessage *req, SoupClientContext *client)
-
- uri = soup_message_get_uri (req);
- decoded_path = soup_uri_decode (uri->path);
-+
-+ if (strstr (decoded_path, "/../") ||
-+ g_str_has_suffix (decoded_path, "/..")) {
-+ /* Introducing new ".." segments is not allowed */
-+ g_free (decoded_path);
-+ soup_message_set_status (req, SOUP_STATUS_BAD_REQUEST);
-+ return;
-+ }
-+
- soup_uri_set_path (uri, decoded_path);
- g_free (decoded_path);
- }
diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk
index 147b220..6572585 100644
--- a/package/libsoup/libsoup.mk
+++ b/package/libsoup/libsoup.mk
@@ -4,10 +4,11 @@
#
#############################################################
-LIBSOUP_MAJOR_VERSION:=2.32
-LIBSOUP_VERSION:=$(LIBSOUP_MAJOR_VERSION).2
-LIBSOUP_SOURCE:=libsoup-$(LIBSOUP_VERSION).tar.bz2
-LIBSOUP_SITE:=http://ftp.gnome.org/pub/gnome/sources/libsoup/$(LIBSOUP_MAJOR_VERSION)
+LIBSOUP_MAJOR_VERSION = 2.36
+LIBSOUP_MINOR_VERSION = 1
+LIBSOUP_VERSION = $(LIBSOUP_MAJOR_VERSION).$(LIBSOUP_MINOR_VERSION)
+LIBSOUP_SOURCE = libsoup-$(LIBSOUP_VERSION).tar.bz2
+LIBSOUP_SITE = http://ftp.gnome.org/pub/gnome/sources/libsoup/$(LIBSOUP_MAJOR_VERSION)
LIBSOUP_INSTALL_STAGING = YES
LIBSOUP_CONF_ENV = ac_cv_path_GLIB_GENMARSHAL=$(LIBGLIB2_HOST_BINARY)
@@ -16,18 +17,14 @@ ifneq ($(BR2_INET_IPV6),y)
LIBSOUP_CONF_ENV += soup_cv_ipv6=no
endif
-LIBSOUP_CONF_OPT = \
- --disable-explicit-deps \
- --disable-glibtest \
- --without-gnome
+LIBSOUP_CONF_OPT = --disable-glibtest --without-gnome
LIBSOUP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-pkg-config host-libglib2 libglib2 libxml2
ifeq ($(BR2_PACKAGE_LIBSOUP_SSL),y)
-LIBSOUP_DEPENDENCIES += gnutls
-LIBSOUP_CONF_OPT += --enable-ssl --with-libgcrypt-prefix=$(STAGING_DIR)/usr
+LIBSOUP_DEPENDENCIES += glib-networking
else
-LIBSOUP_CONF_OPT += --disable-ssl
+LIBSOUP_CONF_OPT += --disable-tls-check
endif
$(eval $(call AUTOTARGETS))
--
1.7.5.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2
2012-02-27 12:38 ` [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2 Sven Neumann
@ 2012-02-27 23:34 ` Peter Korsgaard
2012-02-28 13:39 ` Sven Neumann
0 siblings, 1 reply; 9+ messages in thread
From: Peter Korsgaard @ 2012-02-27 23:34 UTC (permalink / raw)
To: buildroot
>>>>> "Sven" == Sven Neumann <s.neumann@raumfeld.com> writes:
Sven> Update to latest stable release and add a dependency on libffi which
Sven> is needed by GObject.
Looks like we'll need to fiddle with _CONF_ENV:
checking for qsort_r... yes
checking if qsort_r uses glibc compatible argument order... configure: error: in `/home/peko/source/buildroot/output/build/libglib2-2.30.2':
configure: error: cannot run test program while cross compiling
See `config.log' for more details
This is default internal toolchain config, ARM A8.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] update libglib2 and libsoup
2012-02-27 12:38 [Buildroot] update libglib2 and libsoup Sven Neumann
` (3 preceding siblings ...)
2012-02-27 12:38 ` [Buildroot] [PATCH 4/4] libsoup: update to version 2.36.1 Sven Neumann
@ 2012-02-28 8:22 ` Peter Korsgaard
4 siblings, 0 replies; 9+ messages in thread
From: Peter Korsgaard @ 2012-02-28 8:22 UTC (permalink / raw)
To: buildroot
>>>>> "Sven" == Sven Neumann <s.neumann@raumfeld.com> writes:
Sven> This is a patchset that updates libglib2 and libsoup to the latest
Sven> stable versions.
Sven> SSL/TLS support in libsoup does not any longer use libgcrypt directly
Sven> but relies on GIO modules that are provided by glib-networking. Thus
Sven> a new package "glib-networking" is introduced.
Sven> Packages using libsoup with SSL support don't need to be changed;
Sven> the BR2_PACKAGE_LIBSOUP_SSL option takes care of selecting the new
Sven> glib-networking package and compiling it with libgcrypt support.
Sven> There's also a patch included for gamin that is needed to make it
Sven> compile with the latest libglib2.
Committed series to next after fixing up glib build, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2
2012-02-27 23:34 ` Peter Korsgaard
@ 2012-02-28 13:39 ` Sven Neumann
2012-02-28 20:34 ` Peter Korsgaard
0 siblings, 1 reply; 9+ messages in thread
From: Sven Neumann @ 2012-02-28 13:39 UTC (permalink / raw)
To: buildroot
On Tue, 2012-02-28 at 00:34 +0100, Peter Korsgaard wrote:
> >>>>> "Sven" == Sven Neumann <s.neumann@raumfeld.com> writes:
>
> Sven> Update to latest stable release and add a dependency on libffi which
> Sven> is needed by GObject.
>
> Looks like we'll need to fiddle with _CONF_ENV:
>
> checking for qsort_r... yes
> checking if qsort_r uses glibc compatible argument order... configure: error: in `/home/peko/source/buildroot/output/build/libglib2-2.30.2':
> configure: error: cannot run test program while cross compiling
> See `config.log' for more details
>
> This is default internal toolchain config, ARM A8.
I have just changed my buildroot environment to use the default uclibc
configuration and now the build of libglib2 fails (with your build fix
applied):
gqsort.c: In function 'g_qsort_with_data':
gqsort.c:65:3: warning: implicit declaration of function 'qsort_r' [-Wimplicit-function-declaration]
The problem is that you we pass glib_cv_have_qsort_r=yes to the
configure script now. This is supposed to be only of relevance if we are
building for glibc. But the glib configure script looks like this:
dnl don't use AC_CHECK_FUNCS here, otherwise HAVE_QSORT_R will
dnl be automatically defined, which we don't want to do
dnl until we have checked this function is actually usable
AC_CHECK_FUNC([qsort_r])
# BSD has a qsort_r with wrong argument order
if test x$ac_cv_func_qsort_r = xyes ; then
AC_CACHE_CHECK([if qsort_r uses glibc compatible argument order],
glib_cv_have_qsort_r, [
AC_RUN_IFELSE([AC_LANG_SOURCE([[
// [test program deleted]
}]])],[glib_cv_have_qsort_r=yes],[glib_cv_have_qsort_r=no])])
fi
if test x$glib_cv_have_qsort_r = xyes ; then
AC_DEFINE(HAVE_QSORT_R, 1, [Define to 1 if you have the 'qsort_r'
function])
fi
So in the end what is tested is the value of glib_cv_have_qsort_r. With
your fix this is now set even though uclibc does not provide qsort_r.
Regards,
Sven
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2
2012-02-28 13:39 ` Sven Neumann
@ 2012-02-28 20:34 ` Peter Korsgaard
0 siblings, 0 replies; 9+ messages in thread
From: Peter Korsgaard @ 2012-02-28 20:34 UTC (permalink / raw)
To: buildroot
>>>>> "Sven" == Sven Neumann <s.neumann@raumfeld.com> writes:
Hi,
Sven> So in the end what is tested is the value of glib_cv_have_qsort_r. With
Sven> your fix this is now set even though uclibc does not provide qsort_r.
It does, but only from 0.9.33 and onwards. Sorry, didn't notice that it
was relatively new. Will fix.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-02-28 20:34 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-27 12:38 [Buildroot] update libglib2 and libsoup Sven Neumann
2012-02-27 12:38 ` [Buildroot] [PATCH 1/4] gamin: fix compilation with glib 2.30 Sven Neumann
2012-02-27 12:38 ` [Buildroot] [PATCH 2/4] libglib2: update to version 2.30.2 Sven Neumann
2012-02-27 23:34 ` Peter Korsgaard
2012-02-28 13:39 ` Sven Neumann
2012-02-28 20:34 ` Peter Korsgaard
2012-02-27 12:38 ` [Buildroot] [PATCH 3/4] glib-networking: new package Sven Neumann
2012-02-27 12:38 ` [Buildroot] [PATCH 4/4] libsoup: update to version 2.36.1 Sven Neumann
2012-02-28 8:22 ` [Buildroot] update libglib2 and libsoup Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox