* [Buildroot] [PATCH] package/apr: fix compile for toolchains without thread support
@ 2019-09-23 19:57 Peter Seiderer
2019-09-28 21:16 ` Thomas Petazzoni
0 siblings, 1 reply; 2+ messages in thread
From: Peter Seiderer @ 2019-09-23 19:57 UTC (permalink / raw)
To: buildroot
Do not trust apr_hints.m4 for setting '-D_REENTRANT', set it only for
toolchains with thread support.
Fixes misleading configure error ([1]):
checking whether int64_t and int use fmt %d... no
checking whether int64_t and long use fmt %ld... no
checking whether int64_t and long long use fmt %lld... no
configure: error: could not determine the string function for int64_t
which results from warning (promoted to error by '-Werror=cpp'), from
config.log:
configure:24288: checking whether int64_t and long long use fmt %lld
configure:24320: .../host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Werror -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLINUX -D_REENTRANT -D_GNU_SOURCE conftest.c >&5
In file included from .../host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/sys/types.h:26:0,
from conftest.c:147:
.../host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/features.h:218:5: error: #warning requested reentrant code, but thread support was disabled [-Werror=cpp]
# warning requested reentrant code, but thread support was disabled
^~~~~~~
cc1: all warnings being treated as errors
configure:24320: $? = 1
configure: failed program was:
[1] http://autobuild.buildroot.net/results/4da73982f160305ac2d5d2b4f615fa98eec5a7a3
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
package/apr/apr.mk | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/package/apr/apr.mk b/package/apr/apr.mk
index 72008d8998..466222586c 100644
--- a/package/apr/apr.mk
+++ b/package/apr/apr.mk
@@ -14,9 +14,18 @@ APR_INSTALL_STAGING = YES
# so we need to autoreconf:
APR_AUTORECONF = YES
+# avoid apr_hints.m4 by setting apr_preload_done=yes and set
+# the needed CFLAGS on our own (avoids '-D_REENTRANT' in case
+# not supported by toolchain and subsequent configure failure)
+APR_CFLAGS = $(TARGET_CFLAGS) -DLINUX -D_GNU_SOURCE
+ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
+APR_CFLAGS += -D_REENTRANT
+endif
+
APR_CONF_ENV = \
CC_FOR_BUILD="$(HOSTCC)" \
CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
+ CFLAGS="$(APR_CFLAGS)" \
ac_cv_file__dev_zero=yes \
ac_cv_func_setpgrp_void=yes \
apr_cv_process_shared_works=yes \
@@ -31,7 +40,8 @@ APR_CONF_ENV = \
apr_cv_epoll_create1=yes \
apr_cv_dup3=yes \
apr_cv_sock_cloexec=yes \
- apr_cv_accept4=yes
+ apr_cv_accept4=yes \
+ apr_preload_done=yes
APR_CONFIG_SCRIPTS = apr-1-config
# Doesn't even try to guess when cross compiling
--
2.23.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [Buildroot] [PATCH] package/apr: fix compile for toolchains without thread support
2019-09-23 19:57 [Buildroot] [PATCH] package/apr: fix compile for toolchains without thread support Peter Seiderer
@ 2019-09-28 21:16 ` Thomas Petazzoni
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni @ 2019-09-28 21:16 UTC (permalink / raw)
To: buildroot
On Mon, 23 Sep 2019 21:57:11 +0200
Peter Seiderer <ps.report@gmx.net> wrote:
> Do not trust apr_hints.m4 for setting '-D_REENTRANT', set it only for
> toolchains with thread support.
>
> Fixes misleading configure error ([1]):
>
> checking whether int64_t and int use fmt %d... no
> checking whether int64_t and long use fmt %ld... no
> checking whether int64_t and long long use fmt %lld... no
> configure: error: could not determine the string function for int64_t
>
> which results from warning (promoted to error by '-Werror=cpp'), from
> config.log:
>
> configure:24288: checking whether int64_t and long long use fmt %lld
> configure:24320: .../host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Werror -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLINUX -D_REENTRANT -D_GNU_SOURCE conftest.c >&5
> In file included from .../host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/sys/types.h:26:0,
> from conftest.c:147:
> .../host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/features.h:218:5: error: #warning requested reentrant code, but thread support was disabled [-Werror=cpp]
> # warning requested reentrant code, but thread support was disabled
> ^~~~~~~
> cc1: all warnings being treated as errors
> configure:24320: $? = 1
> configure: failed program was:
>
> [1] http://autobuild.buildroot.net/results/4da73982f160305ac2d5d2b4f615fa98eec5a7a3
>
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> package/apr/apr.mk | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-09-28 21:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-23 19:57 [Buildroot] [PATCH] package/apr: fix compile for toolchains without thread support Peter Seiderer
2019-09-28 21:16 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox