* [Buildroot] [PATCH] util-linux: fix static builds with uClibc
@ 2015-11-26 21:34 Alexey Brodkin
2015-12-02 10:34 ` Alexey Brodkin
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Alexey Brodkin @ 2015-11-26 21:34 UTC (permalink / raw)
To: buildroot
What happens util-linux on configuration step tries to build
and example that uses timer_create() function. That function
exists in librt and configuration utility correctly adds this
lib (-lrt).
But timer_create() uses pthreads internally and so for successful
linkage "-lpthread" is required as well (in addition to "-lrt").
0005-build-sys-use-REALTIME_LIBS.patch is a back-port of upstream
commit
https://github.com/karelzak/util-linux/commit/b97edfe731fdf3d3e92e40494b22658207ab6d3c
that won't apply cleanly on v2.27.1
0006-buildsys-fix-static-configuration-and-building.patch was just
sent upstream, see https://github.com/karelzak/util-linux/pull/234
Both patches must be removed on util-linux version bump.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
.../0005-build-sys-use-REALTIME_LIBS.patch | 40 ++++++++++++++++++++++
...sys-fix-static-configuration-and-building.patch | 39 +++++++++++++++++++++
2 files changed, 79 insertions(+)
create mode 100644 package/util-linux/0005-build-sys-use-REALTIME_LIBS.patch
create mode 100644 package/util-linux/0006-buildsys-fix-static-configuration-and-building.patch
diff --git a/package/util-linux/0005-build-sys-use-REALTIME_LIBS.patch b/package/util-linux/0005-build-sys-use-REALTIME_LIBS.patch
new file mode 100644
index 0000000..605345c
--- /dev/null
+++ b/package/util-linux/0005-build-sys-use-REALTIME_LIBS.patch
@@ -0,0 +1,40 @@
+From 9ed54668c15534a3b9d75e8a3e90b72ea426e596 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Fri, 9 Oct 2015 11:31:49 +0200
+Subject: [PATCH] build-sys: use REALTIME_LIBS
+
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ misc-utils/Makemodule.am | 2 +-
+ sys-utils/Makemodule.am | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/misc-utils/Makemodule.am b/misc-utils/Makemodule.am
+index e801611..b96d18b 100644
+--- a/misc-utils/Makemodule.am
++++ b/misc-utils/Makemodule.am
+@@ -90,7 +90,7 @@ endif
+ if BUILD_UUIDD
+ usrsbin_exec_PROGRAMS += uuidd
+ dist_man_MANS += misc-utils/uuidd.8
+-uuidd_LDADD = $(LDADD) libuuid.la libcommon.la
++uuidd_LDADD = $(LDADD) libuuid.la libcommon.la $(REALTIME_LIBS)
+ uuidd_CFLAGS = $(DAEMON_CFLAGS) $(AM_CFLAGS) -I$(ul_libuuid_incdir)
+ uuidd_LDFLAGS = $(DAEMON_LDFLAGS) $(AM_LDFLAGS)
+ uuidd_SOURCES = misc-utils/uuidd.c
+diff --git a/sys-utils/Makemodule.am b/sys-utils/Makemodule.am
+index f306e65..3d28ff1 100644
+--- a/sys-utils/Makemodule.am
++++ b/sys-utils/Makemodule.am
+@@ -2,7 +2,7 @@ if BUILD_FLOCK
+ usrbin_exec_PROGRAMS += flock
+ dist_man_MANS += sys-utils/flock.1
+ flock_SOURCES = sys-utils/flock.c lib/monotonic.c lib/timer.c
+-flock_LDADD = $(LDADD) libcommon.la -lrt
++flock_LDADD = $(LDADD) libcommon.la $(REALTIME_LIBS)
+ endif
+
+ if BUILD_IPCMK
+--
+2.5.0
+
diff --git a/package/util-linux/0006-buildsys-fix-static-configuration-and-building.patch b/package/util-linux/0006-buildsys-fix-static-configuration-and-building.patch
new file mode 100644
index 0000000..e58a0d4
--- /dev/null
+++ b/package/util-linux/0006-buildsys-fix-static-configuration-and-building.patch
@@ -0,0 +1,39 @@
+From 5afb95fcce9d1dd072d5fcec9b632e9fcfcf419f Mon Sep 17 00:00:00 2001
+From: Alexey Brodkin <abrodkin@synopsys.com>
+Date: Tue, 24 Nov 2015 14:47:04 +0300
+Subject: [PATCH] buildsys: fix static configuration and building
+
+In case of uClibc librt depends on libpthread.
+
+In particular timer_create() function uses pthread_XXX().
+
+That means in case of static builds it's required to link
+not librt alone but together with libpthread.
+
+That issues was spotted in Buldroot autobuilder failures:
+http://autobuild.buildroot.net/results/759/75960db671807091fe9155aee9e46a6245e32590/
+http://autobuild.buildroot.org/results/112/112e8b85783f5aaba42a937a6eb064317615a21b/
+
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6075f72..e9b8794 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -391,8 +391,8 @@ AC_CHECK_FUNCS([timer_createx],
+ [have_time="yes"],
+ [AC_CHECK_LIB([rt], [timer_create], [
+ have_timer="yes"
+- REALTIME_LIBS="-lrt"
+- ])]
++ REALTIME_LIBS="-lrt -lpthread"
++ ],[],[-lpthread])]
+ )
+
+
+--
+2.5.0
+
--
2.5.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] util-linux: fix static builds with uClibc
2015-11-26 21:34 [Buildroot] [PATCH] util-linux: fix static builds with uClibc Alexey Brodkin
@ 2015-12-02 10:34 ` Alexey Brodkin
2015-12-07 18:37 ` Yann E. MORIN
2015-12-17 21:54 ` Thomas Petazzoni
2 siblings, 0 replies; 4+ messages in thread
From: Alexey Brodkin @ 2015-12-02 10:34 UTC (permalink / raw)
To: buildroot
Hi Thomas,
On Fri, 2015-11-27 at 00:34 +0300, Alexey Brodkin wrote:
> What happens util-linux on configuration step tries to build
> and example that uses timer_create() function. That function
> exists in librt and configuration utility correctly adds this
> lib (-lrt).
>
> But timer_create() uses pthreads internally and so for successful
> linkage "-lpthread" is required as well (in addition to "-lrt").
>
> 0005-build-sys-use-REALTIME_LIBS.patch is a back-port of upstream
> commit
> https://github.com/karelzak/util-linux/commit/b97edfe731fdf3d3e92e40494b22658207ab6d3c
> that won't apply cleanly on v2.27.1
>
> 0006-buildsys-fix-static-configuration-and-building.patch was just
> sent upstream, see https://github.com/karelzak/util-linux/pull/234
>
> Both patches must be removed on util-linux version bump.
>
> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Just a polite reminder.
This patch fixes http://autobuild.buildroot.net/results/d0c/d0cf4832d76e76a01e7db620014bcbbd5d46118f/
-Alexey
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] util-linux: fix static builds with uClibc
2015-11-26 21:34 [Buildroot] [PATCH] util-linux: fix static builds with uClibc Alexey Brodkin
2015-12-02 10:34 ` Alexey Brodkin
@ 2015-12-07 18:37 ` Yann E. MORIN
2015-12-17 21:54 ` Thomas Petazzoni
2 siblings, 0 replies; 4+ messages in thread
From: Yann E. MORIN @ 2015-12-07 18:37 UTC (permalink / raw)
To: buildroot
Alexey, All,
On 2015-11-27 00:34 +0300, Alexey Brodkin spake thusly:
> What happens util-linux on configuration step tries to build
> and example that uses timer_create() function. That function
> exists in librt and configuration utility correctly adds this
> lib (-lrt).
>
> But timer_create() uses pthreads internally and so for successful
> linkage "-lpthread" is required as well (in addition to "-lrt").
>
> 0005-build-sys-use-REALTIME_LIBS.patch is a back-port of upstream
> commit
> https://github.com/karelzak/util-linux/commit/b97edfe731fdf3d3e92e40494b22658207ab6d3c
> that won't apply cleanly on v2.27.1
>
> 0006-buildsys-fix-static-configuration-and-building.patch was just
> sent upstream, see https://github.com/karelzak/util-linux/pull/234
>
> Both patches must be removed on util-linux version bump.
I think there's an even deeper problem, because util-linux checks for
timer_createx (notice the trailing 'x'), which does not exist at all,
not even in glibc.
> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[--SNIP--]
> +diff --git a/configure.ac b/configure.ac
> +index 6075f72..e9b8794 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -391,8 +391,8 @@ AC_CHECK_FUNCS([timer_createx],
See here ----------------------------------------^^^
I believe it would warrant a confirmation from upstream that they really
want to check for timer_createx and not tiner_create. And then fix it.
Regards,
Yann E. MORIN.
> + [have_time="yes"],
> + [AC_CHECK_LIB([rt], [timer_create], [
> + have_timer="yes"
> +- REALTIME_LIBS="-lrt"
> +- ])]
> ++ REALTIME_LIBS="-lrt -lpthread"
> ++ ],[],[-lpthread])]
> + )
> +
> +
> +--
> +2.5.0
> +
> --
> 2.5.0
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] util-linux: fix static builds with uClibc
2015-11-26 21:34 [Buildroot] [PATCH] util-linux: fix static builds with uClibc Alexey Brodkin
2015-12-02 10:34 ` Alexey Brodkin
2015-12-07 18:37 ` Yann E. MORIN
@ 2015-12-17 21:54 ` Thomas Petazzoni
2 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2015-12-17 21:54 UTC (permalink / raw)
To: buildroot
Dear Alexey Brodkin,
On Fri, 27 Nov 2015 00:34:24 +0300, Alexey Brodkin wrote:
> What happens util-linux on configuration step tries to build
> and example that uses timer_create() function. That function
> exists in librt and configuration utility correctly adds this
> lib (-lrt).
>
> But timer_create() uses pthreads internally and so for successful
> linkage "-lpthread" is required as well (in addition to "-lrt").
>
> 0005-build-sys-use-REALTIME_LIBS.patch is a back-port of upstream
> commit
> https://github.com/karelzak/util-linux/commit/b97edfe731fdf3d3e92e40494b22658207ab6d3c
> that won't apply cleanly on v2.27.1
>
> 0006-buildsys-fix-static-configuration-and-building.patch was just
> sent upstream, see https://github.com/karelzak/util-linux/pull/234
>
> Both patches must be removed on util-linux version bump.
>
> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
You got some feedback from upstream on patch 0006, could you take it
into account and resend an updated patch?
They fixed the timer_createx problem spotted by Yann in
https://github.com/karelzak/util-linux/commit/f07a82c9d8141dd295c2453e3c5804f997ed7ce5.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-12-17 21:54 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-26 21:34 [Buildroot] [PATCH] util-linux: fix static builds with uClibc Alexey Brodkin
2015-12-02 10:34 ` Alexey Brodkin
2015-12-07 18:37 ` Yann E. MORIN
2015-12-17 21:54 ` Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.