diff mbox series

[1/1] package/pppd: disable for sparc and sparc64 architectures

Message ID 20231015204753.5775-1-bernd@kuhls.net
State New
Headers show
Series [1/1] package/pppd: disable for sparc and sparc64 architectures | expand

Commit Message

Bernd Kuhls Oct. 15, 2023, 8:47 p.m. UTC
pppd fails to build on sparc and sparc64 architectures with a
redefinition of 'struct termio' error, with no proper fix or workaround
for now. See discussions in [1] and [2] and picocom source code in [3].

[1] http://patchwork.ozlabs.org/project/buildroot/patch/20191227204520.1500501-1-fontaine.fabrice@gmail.com/
[2] http://patchwork.ozlabs.org/project/buildroot/patch/20200511142602.46170-1-vadim4j@gmail.com/
[3] https://github.com/npat-efault/picocom/blob/master/termbits2.h#L37

So let's disable it for now on sparc and sparc64 architectures.

Fixes:
http://autobuild.buildroot.net/results/c0a/c0a9dd410664dec670f90966e12b76e68f9883ee/

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
 package/network-manager/Config.in | 1 +
 package/pppd/Config.in            | 8 ++++++++
 package/rp-pppoe/Config.in        | 1 +
 3 files changed, 10 insertions(+)

Comments

Thomas Petazzoni Nov. 1, 2023, 10:39 p.m. UTC | #1
On Sun, 15 Oct 2023 22:47:53 +0200
Bernd Kuhls <bernd@kuhls.net> wrote:

> diff --git a/package/pppd/Config.in b/package/pppd/Config.in
> index 88c2180a9b..3ff8123aab 100644
> --- a/package/pppd/Config.in
> +++ b/package/pppd/Config.in
> @@ -1,5 +1,6 @@
>  config BR2_PACKAGE_PPPD
>  	bool "pppd"
> +	depends on !BR2_sparc64 && !BR2_sparc

If we wanted to merge that, it should be:

config BR2_PACKAGE_PPPD_ARCH_SUPPORTS
	bool
	default y if !BR2_sparc64 && !BR2_sparc

However, it's never nice to have to do something like this. Has this
issue been reported to upstream pppd?

Also, it seems like the ppp package in Debian builds on sparc64, see
https://packages.debian.org/sid/ppp. How do they achieve this? I
haven't spotted a particular patch/quirk (but I looked quickly).

In
https://github.com/ppp-project/ppp/blob/master/pppd/termios_linux.h#L14,
the pppd code base is definitely playing with fire. I'm not sure what
they are trying to do, but they know that the inclusion of kernel
headers will cause some redefinition... Perhaps something to discuss
with ppp upstream first.

Best regards,

Thomas
diff mbox series

Patch

diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in
index 57d7543131..8c284024e1 100644
--- a/package/network-manager/Config.in
+++ b/package/network-manager/Config.in
@@ -48,6 +48,7 @@  config BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER
 
 config BR2_PACKAGE_NETWORK_MANAGER_PPPD
 	bool "pppd support"
+	depends on !BR2_sparc64 && !BR2_sparc # pppd
 	select BR2_PACKAGE_PPPD
 	help
 	  This option enables support for PPPD daemon
diff --git a/package/pppd/Config.in b/package/pppd/Config.in
index 88c2180a9b..3ff8123aab 100644
--- a/package/pppd/Config.in
+++ b/package/pppd/Config.in
@@ -1,5 +1,6 @@ 
 config BR2_PACKAGE_PPPD
 	bool "pppd"
+	depends on !BR2_sparc64 && !BR2_sparc
 	depends on !BR2_STATIC_LIBS
 	depends on BR2_USE_MMU
 	select BR2_PACKAGE_OPENSSL if BR2_TOOLCHAIN_USES_GLIBC
@@ -22,5 +23,12 @@  config BR2_PACKAGE_PPPD_FILTER
 endif
 
 comment "pppd needs a toolchain w/ dynamic library"
+	depends on !BR2_sparc64 && !BR2_sparc
 	depends on BR2_STATIC_LIBS
 	depends on BR2_USE_MMU
+
+# pppd is disabled for sparc and sparc64 architectures because it fails
+# to build with a redefinition of 'struct termio' error, with no proper
+# fix or workaround for now
+comment "pppd is disabled for sparc and sparc64 architectures"
+	depends on BR2_sparc64 || BR2_sparc
diff --git a/package/rp-pppoe/Config.in b/package/rp-pppoe/Config.in
index 6ff005a1e1..27eb0276db 100644
--- a/package/rp-pppoe/Config.in
+++ b/package/rp-pppoe/Config.in
@@ -4,6 +4,7 @@  comment "rp-pppoe needs a toolchain w/ dynamic library"
 
 config BR2_PACKAGE_RP_PPPOE
 	bool "rp-pppoe"
+	depends on !BR2_sparc64 && !BR2_sparc # pppd
 	depends on !BR2_STATIC_LIBS
 	depends on BR2_USE_MMU # fork()
 	select BR2_PACKAGE_PPPD