* [Buildroot] [git commit] xorg-server: not available with musl on ARM
@ 2017-01-21 12:55 Peter Korsgaard
2017-01-22 6:28 ` Thomas Petazzoni
0 siblings, 1 reply; 4+ messages in thread
From: Peter Korsgaard @ 2017-01-21 12:55 UTC (permalink / raw)
To: buildroot
commit: https://git.buildroot.net/buildroot/commit/?id=9daafbcb75a7ab593ce8a1f21c6149c8437bc0bc
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
Fixes #9606
xserver uses inb/outb on arm, which aren't available with musl.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
package/x11r7/xserver_xorg-server/Config.in | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
index 0f1d1fe..1c8f8cf 100644
--- a/package/x11r7/xserver_xorg-server/Config.in
+++ b/package/x11r7/xserver_xorg-server/Config.in
@@ -1,6 +1,11 @@
+comment "xorg-server needs a glibc or uClibc toolchain"
+ depends on BR2_arm && BR2_TOOLCHAIN_USES_MUSL
+
config BR2_PACKAGE_XSERVER_XORG_SERVER
bool "xorg-server"
depends on BR2_USE_MMU # fork()
+ # xserver uses inb/outb on arm, which aren't available with musl
+ depends on !(BR2_arm && BR2_TOOLCHAIN_USES_MUSL)
# We need a SHA1 implementation. If either openssl or
# libgcrypt are already part of the build, we'll use one of
# them, otherwise, use the small libsha1 library.
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [git commit] xorg-server: not available with musl on ARM
2017-01-21 12:55 [Buildroot] [git commit] xorg-server: not available with musl on ARM Peter Korsgaard
@ 2017-01-22 6:28 ` Thomas Petazzoni
2017-01-22 9:13 ` Peter Korsgaard
0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2017-01-22 6:28 UTC (permalink / raw)
To: buildroot
Hello,
On Sat, 21 Jan 2017 13:55:07 +0100, Peter Korsgaard wrote:
> diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
> index 0f1d1fe..1c8f8cf 100644
> --- a/package/x11r7/xserver_xorg-server/Config.in
> +++ b/package/x11r7/xserver_xorg-server/Config.in
> @@ -1,6 +1,11 @@
> +comment "xorg-server needs a glibc or uClibc toolchain"
> + depends on BR2_arm && BR2_TOOLCHAIN_USES_MUSL
> +
> config BR2_PACKAGE_XSERVER_XORG_SERVER
> bool "xorg-server"
> depends on BR2_USE_MMU # fork()
> + # xserver uses inb/outb on arm, which aren't available with musl
> + depends on !(BR2_arm && BR2_TOOLCHAIN_USES_MUSL)
This looks a bit weird to me. X.org is a major piece of software, and
there are musl-based distributions that do run X, though perhaps not on
ARM. Has the issue been reported to the musl developers?
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [git commit] xorg-server: not available with musl on ARM
2017-01-22 6:28 ` Thomas Petazzoni
@ 2017-01-22 9:13 ` Peter Korsgaard
2017-01-22 9:37 ` Yegor Yefremov
0 siblings, 1 reply; 4+ messages in thread
From: Peter Korsgaard @ 2017-01-22 9:13 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
> Hello,
> On Sat, 21 Jan 2017 13:55:07 +0100, Peter Korsgaard wrote:
>> diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
>> index 0f1d1fe..1c8f8cf 100644
>> --- a/package/x11r7/xserver_xorg-server/Config.in
>> +++ b/package/x11r7/xserver_xorg-server/Config.in
>> @@ -1,6 +1,11 @@
>> +comment "xorg-server needs a glibc or uClibc toolchain"
>> + depends on BR2_arm && BR2_TOOLCHAIN_USES_MUSL
>> +
>> config BR2_PACKAGE_XSERVER_XORG_SERVER
>> bool "xorg-server"
>> depends on BR2_USE_MMU # fork()
>> + # xserver uses inb/outb on arm, which aren't available with musl
>> + depends on !(BR2_arm && BR2_TOOLCHAIN_USES_MUSL)
> This looks a bit weird to me. X.org is a major piece of software, and
> there are musl-based distributions that do run X, though perhaps not on
> ARM. Has the issue been reported to the musl developers?
I agree that it is a big hammer. Like explained above, the issue is that
musl doesn't provide the ioperm/inb/outb interface, and the Xserver
provides some wrapper functions around them, so compilation fails.
Now, I don't know how many drivers use these functions (and how many of
those drivers make sense on ARM), so perhaps they can be patched
out. The fact that musl doesn't provide any define to detect it means
that these have to be done based on autoconf tests, and repeated for the
3 xserver versions we support - And the musl/arm dependencies have to be
moved down to the drivers that use this interface.
I didn't have the interest / energy to do so, but if others have an
interest in Xorg on musl/arm, feel free to work on it.
With that said, the current situation is that it doesn't build - So we
should disallow the combination, like this patch does.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [git commit] xorg-server: not available with musl on ARM
2017-01-22 9:13 ` Peter Korsgaard
@ 2017-01-22 9:37 ` Yegor Yefremov
0 siblings, 0 replies; 4+ messages in thread
From: Yegor Yefremov @ 2017-01-22 9:37 UTC (permalink / raw)
To: buildroot
On Sun, Jan 22, 2017 at 10:13 AM, Peter Korsgaard <peter@korsgaard.com> wrote:
>>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
>
> > Hello,
> > On Sat, 21 Jan 2017 13:55:07 +0100, Peter Korsgaard wrote:
>
> >> diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
> >> index 0f1d1fe..1c8f8cf 100644
> >> --- a/package/x11r7/xserver_xorg-server/Config.in
> >> +++ b/package/x11r7/xserver_xorg-server/Config.in
> >> @@ -1,6 +1,11 @@
> >> +comment "xorg-server needs a glibc or uClibc toolchain"
> >> + depends on BR2_arm && BR2_TOOLCHAIN_USES_MUSL
> >> +
> >> config BR2_PACKAGE_XSERVER_XORG_SERVER
> >> bool "xorg-server"
> >> depends on BR2_USE_MMU # fork()
> >> + # xserver uses inb/outb on arm, which aren't available with musl
> >> + depends on !(BR2_arm && BR2_TOOLCHAIN_USES_MUSL)
>
> > This looks a bit weird to me. X.org is a major piece of software, and
> > there are musl-based distributions that do run X, though perhaps not on
> > ARM. Has the issue been reported to the musl developers?
>
> I agree that it is a big hammer. Like explained above, the issue is that
> musl doesn't provide the ioperm/inb/outb interface, and the Xserver
> provides some wrapper functions around them, so compilation fails.
>
> Now, I don't know how many drivers use these functions (and how many of
> those drivers make sense on ARM), so perhaps they can be patched
> out. The fact that musl doesn't provide any define to detect it means
> that these have to be done based on autoconf tests, and repeated for the
> 3 xserver versions we support - And the musl/arm dependencies have to be
> moved down to the drivers that use this interface.
>
> I didn't have the interest / energy to do so, but if others have an
> interest in Xorg on musl/arm, feel free to work on it.
>
> With that said, the current situation is that it doesn't build - So we
> should disallow the combination, like this patch does.
What about creating an extra entry here [1] and collect all musl
related projects, that require a non-trivial fix, like
python-libconfig, python-psutil, xorg-server etc.?
[1] http://elinux.org/Buildroot
Yegor
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-01-22 9:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-21 12:55 [Buildroot] [git commit] xorg-server: not available with musl on ARM Peter Korsgaard
2017-01-22 6:28 ` Thomas Petazzoni
2017-01-22 9:13 ` Peter Korsgaard
2017-01-22 9:37 ` Yegor Yefremov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox