All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH for-master] package/strace: disable libmpers with musl toolchains
@ 2016-11-12 15:30 Romain Naour
  2016-11-13 11:55 ` Thomas Petazzoni
  2016-11-13 13:27 ` Thomas Petazzoni
  0 siblings, 2 replies; 5+ messages in thread
From: Romain Naour @ 2016-11-12 15:30 UTC (permalink / raw)
  To: buildroot

strace bundle some kernel headers to build libmpers, this mixes userspace
headers and kernel headers which break the build with musl.
The stddef.h from gcc is used instead of the one from musl.

Disable libmpers for musl toolchains.

Fixes:
http://autobuild.buildroot.net/results/6f6/6f63fa2537ff316ba259a20966faadcf5ab9deff

Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
 package/strace/strace.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/package/strace/strace.mk b/package/strace/strace.mk
index 385c002..59418af 100644
--- a/package/strace/strace.mk
+++ b/package/strace/strace.mk
@@ -10,6 +10,14 @@ STRACE_SITE = http://downloads.sourceforge.net/project/strace/strace/$(STRACE_VE
 STRACE_LICENSE = BSD-3c
 STRACE_LICENSE_FILES = COPYING
 
+# strace bundle some kernel headers to build libmpers, this mixes userspace
+# headers and kernel headers which break the build with musl.
+# The stddef.h from gcc is used instead of the one from musl.
+ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
+STRACE_CONF_OPTS += st_cv_m32_mpers=no \
+	st_cv_mx32_mpers=no
+endif
+
 define STRACE_REMOVE_STRACE_GRAPH
 	rm -f $(TARGET_DIR)/usr/bin/strace-graph
 endef
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH for-master] package/strace: disable libmpers with musl toolchains
  2016-11-12 15:30 [Buildroot] [PATCH for-master] package/strace: disable libmpers with musl toolchains Romain Naour
@ 2016-11-13 11:55 ` Thomas Petazzoni
  2016-11-13 12:43   ` Baruch Siach
  2016-11-13 13:27 ` Thomas Petazzoni
  1 sibling, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2016-11-13 11:55 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 12 Nov 2016 16:30:12 +0100, Romain Naour wrote:
> strace bundle some kernel headers to build libmpers, this mixes userspace
> headers and kernel headers which break the build with musl.
> The stddef.h from gcc is used instead of the one from musl.
> 
> Disable libmpers for musl toolchains.
> 
> Fixes:
> http://autobuild.buildroot.net/results/6f6/6f63fa2537ff316ba259a20966faadcf5ab9deff
> 
> Signed-off-by: Romain Naour <romain.naour@gmail.com>

Hum, Alpine Linux is not doing this, and they support strace 4.14. Why
are we having this issue and not Alpine Linux?

I've asked on #musl, we'll see if they come back with some explanation.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH for-master] package/strace: disable libmpers with musl toolchains
  2016-11-13 11:55 ` Thomas Petazzoni
@ 2016-11-13 12:43   ` Baruch Siach
  2016-11-16 21:44     ` Baruch Siach
  0 siblings, 1 reply; 5+ messages in thread
From: Baruch Siach @ 2016-11-13 12:43 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Sun, Nov 13, 2016 at 12:55:18PM +0100, Thomas Petazzoni wrote:
> On Sat, 12 Nov 2016 16:30:12 +0100, Romain Naour wrote:
> > strace bundle some kernel headers to build libmpers, this mixes userspace
> > headers and kernel headers which break the build with musl.
> > The stddef.h from gcc is used instead of the one from musl.
> > 
> > Disable libmpers for musl toolchains.
> > 
> > Fixes:
> > http://autobuild.buildroot.net/results/6f6/6f63fa2537ff316ba259a20966faadcf5ab9deff
> > 
> > Signed-off-by: Romain Naour <romain.naour@gmail.com>
> 
> Hum, Alpine Linux is not doing this, and they support strace 4.14. Why
> are we having this issue and not Alpine Linux?
> 
> I've asked on #musl, we'll see if they come back with some explanation.

I think they are tweaking the headers in some way to make them more compatible 
with many packages. I investigate the tcpreplay musl build issue that the 
autobuilder shows. It turns out that there is an upstream commit[1] fixing 
some musl build issues. When I tested it I found that is still a 'struct 
ethhdr' conflict, even with the compatibility hack[2] applied. There must be 
something else in patch author's environment that avoids this issue.

[1] https://github.com/appneta/tcpreplay/commit/7c942b71d4ace7425a26e4670f8fbd5814b2339b
[2] http://patchwork.ozlabs.org/patch/693222/

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH for-master] package/strace: disable libmpers with musl toolchains
  2016-11-12 15:30 [Buildroot] [PATCH for-master] package/strace: disable libmpers with musl toolchains Romain Naour
  2016-11-13 11:55 ` Thomas Petazzoni
@ 2016-11-13 13:27 ` Thomas Petazzoni
  1 sibling, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2016-11-13 13:27 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 12 Nov 2016 16:30:12 +0100, Romain Naour wrote:
> strace bundle some kernel headers to build libmpers, this mixes userspace
> headers and kernel headers which break the build with musl.
> The stddef.h from gcc is used instead of the one from musl.
> 
> Disable libmpers for musl toolchains.
> 
> Fixes:
> http://autobuild.buildroot.net/results/6f6/6f63fa2537ff316ba259a20966faadcf5ab9deff
> 
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> ---
>  package/strace/strace.mk | 8 ++++++++
>  1 file changed, 8 insertions(+)

On #musl:

<amonakov> kos_tom: cross-personality (m32/mx32 from x86-64) strace cannot be built with musl

So, I've applied your patch to master, thanks!

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH for-master] package/strace: disable libmpers with musl toolchains
  2016-11-13 12:43   ` Baruch Siach
@ 2016-11-16 21:44     ` Baruch Siach
  0 siblings, 0 replies; 5+ messages in thread
From: Baruch Siach @ 2016-11-16 21:44 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Sun, Nov 13, 2016 at 02:43:23PM +0200, Baruch Siach wrote:
> On Sun, Nov 13, 2016 at 12:55:18PM +0100, Thomas Petazzoni wrote:
> > On Sat, 12 Nov 2016 16:30:12 +0100, Romain Naour wrote:
> > > strace bundle some kernel headers to build libmpers, this mixes userspace
> > > headers and kernel headers which break the build with musl.
> > > The stddef.h from gcc is used instead of the one from musl.
> > > 
> > > Disable libmpers for musl toolchains.
> > > 
> > > Fixes:
> > > http://autobuild.buildroot.net/results/6f6/6f63fa2537ff316ba259a20966faadcf5ab9deff
> > > 
> > > Signed-off-by: Romain Naour <romain.naour@gmail.com>
> > 
> > Hum, Alpine Linux is not doing this, and they support strace 4.14. Why
> > are we having this issue and not Alpine Linux?
> > 
> > I've asked on #musl, we'll see if they come back with some explanation.
> 
> I think they are tweaking the headers in some way to make them more compatible 
> with many packages. I investigate the tcpreplay musl build issue that the 
> autobuilder shows. It turns out that there is an upstream commit[1] fixing 
> some musl build issues. When I tested it I found that is still a 'struct 
> ethhdr' conflict, even with the compatibility hack[2] applied. There must be 
> something else in patch author's environment that avoids this issue.
> 
> [1] https://github.com/appneta/tcpreplay/commit/7c942b71d4ace7425a26e4670f8fbd5814b2339b
> [2] http://patchwork.ozlabs.org/patch/693222/

Just to answer my own wondering, Alpine patches[1] kernel headers to make 
libc-compat.h cover the 'struct ethhdr' definition as well.

[1] http://git.alpinelinux.org/cgit/aports/tree/main/linux-headers/0002-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch?id=f483f49692b97950b680d987fe31f8ddb9277842

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-11-16 21:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-12 15:30 [Buildroot] [PATCH for-master] package/strace: disable libmpers with musl toolchains Romain Naour
2016-11-13 11:55 ` Thomas Petazzoni
2016-11-13 12:43   ` Baruch Siach
2016-11-16 21:44     ` Baruch Siach
2016-11-13 13:27 ` 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.