Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/1] package/brltty: fix musl build
@ 2026-01-04 11:05 Bernd Kuhls
  2026-02-04 14:02 ` Thomas Petazzoni via buildroot
  2026-02-13 19:37 ` Thomas Perale via buildroot
  0 siblings, 2 replies; 3+ messages in thread
From: Bernd Kuhls @ 2026-01-04 11:05 UTC (permalink / raw)
  To: buildroot; +Cc: Mario Lang

Fixes:
https://autobuild.buildroot.net/results/76d/76d18437241d1281566b76ed1cec2ba99c3532da/

The build error was not introduced by the recent bump to 6.8. The oldest
build error with the previous brltty version 6.6 used in buildroot dates
back to 2023:
https://autobuild.buildroot.net/results/78a/78a7fe6edfb84c2b15fff32aa475c975ecd5bdbc/

and with brltty 6.4 to 2022:
https://autobuild.buildroot.net/results/a5b/a5b338ce9865fc7afaecd9b671e6a8f290548374/

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
v2: updated patch link after upstream committed the PR

 .../0004-check-for-functions-inb-outb.patch   | 98 +++++++++++++++++++
 package/brltty/brltty.mk                      |  1 +
 2 files changed, 99 insertions(+)
 create mode 100644 package/brltty/0004-check-for-functions-inb-outb.patch

diff --git a/package/brltty/0004-check-for-functions-inb-outb.patch b/package/brltty/0004-check-for-functions-inb-outb.patch
new file mode 100644
index 0000000000..64f2a2d7a7
--- /dev/null
+++ b/package/brltty/0004-check-for-functions-inb-outb.patch
@@ -0,0 +1,98 @@
+From 876bdd3153c791a51422a43403143ff10acb6e82 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd@kuhls.net>
+Date: Sat, 3 Jan 2026 15:35:48 +0100
+Subject: [PATCH] check for functions inb & outb
+
+Musl C library provides sys/io.h but inb and outb are missing on some
+archs. This patch adds a configure check ported from sane-backends:
+https://github.com/solanoalves/sane-backend/blob/059b97962ecb1b1ab068f524988d16c5b55bbd29/configure.ac#L314
+to fix build errors detected by buildroot autobuilders:
+https://autobuild.buildroot.net/results/76d/76d18437241d1281566b76ed1cec2ba99c3532da//build-end.log
+
+./ports_glibc.c: In function 'readPort1':
+./ports_glibc.c:54:10: error: implicit declaration of function 'inb' [-Wimplicit-function-declaration]
+   54 |   return inb(port);
+      |          ^~~
+./ports_glibc.c: In function 'writePort1':
+./ports_glibc.c:63:3: error: implicit declaration of function 'outb' [-Wimplicit-function-declaration]
+   63 |   outb(value, port);
+      |   ^~~~
+
+Upstream: https://github.com/brltty/brltty/commit/85cadac951cda709ce53d49923114595c16a8f16
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ Programs/ports_glibc.c |  4 ++--
+ config.h.in            |  3 +++
+ configure.ac           | 19 +++++++++++++++++++
+ 3 files changed, 24 insertions(+), 2 deletions(-)
+
+diff --git a/Programs/ports_glibc.c b/Programs/ports_glibc.c
+index 4233f9ea0..4a57f626d 100644
+--- a/Programs/ports_glibc.c
++++ b/Programs/ports_glibc.c
+@@ -50,7 +50,7 @@ disablePorts (unsigned short int base, unsigned short int count) {
+ 
+ unsigned char
+ readPort1 (unsigned short int port) {
+-#ifdef HAVE_SYS_IO_H
++#ifdef BRLTTY_HAVE_SYS_IO_H_WITH_INB_OUTB
+   return inb(port);
+ #else /* HAVE_SYS_IO_H */
+   return 0;
+@@ -59,7 +59,7 @@ readPort1 (unsigned short int port) {
+ 
+ void
+ writePort1 (unsigned short int port, unsigned char value) {
+-#ifdef HAVE_SYS_IO_H
++#ifdef BRLTTY_HAVE_SYS_IO_H_WITH_INB_OUTB
+   outb(value, port);
+ #endif /* HAVE_SYS_IO_H */
+ }
+diff --git a/config.h.in b/config.h.in
+index 537d3af92..edea70cea 100644
+--- a/config.h.in
++++ b/config.h.in
+@@ -331,6 +331,9 @@ extern "C" {
+ /* Define this if the header file sys/io.h exists. */
+ #undef HAVE_SYS_IO_H
+ 
++/* Define to 1 if you have the <sys/io.h> providing inb,outb. */
++#undef BRLTTY_HAVE_SYS_IO_H_WITH_INB_OUTB
++
+ /* Define this if the header file sys/modem.h exists. */
+ #undef HAVE_SYS_MODEM_H
+ 
+diff --git a/configure.ac b/configure.ac
+index b78d482f6..0a2a70dd0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -961,6 +961,25 @@ AC_CHECK_FUNCS([shmget shm_open])
+ AC_CHECK_FUNCS([getpeereid getpeerucred getzoneid])
+ AC_CHECK_FUNCS([mempcpy wmempcpy])
+ 
++dnl sys/io.h might provide ioperm but not inb,outb (like for
++dnl non i386/x32/x86_64 with musl libc)
++if test "${ac_cv_header_sys_io_h}" = "yes"; then
++  AC_MSG_CHECKING([for inb,outb (provided by sys/io.h)])
++  AC_LINK_IFELSE(
++    [AC_LANG_PROGRAM([[#include <sys/io.h>]],
++      [[inb(0);outb(0,0);]])],
++    [AC_MSG_RESULT([yes])
++      brltty_cv_have_sys_io_h_with_inb_outb="yes"],
++    [AC_MSG_RESULT([no])
++      brltty_cv_have_sys_io_h_with_inb_outb="no"
++      AC_MSG_WARN([sys/io.h does not provide inb,outb (non i386/x32/x86_64 arch?)])])
++  if test "$brltty_cv_have_sys_io_h_with_inb_outb" = "yes"; then
++    AC_DEFINE(BRLTTY_HAVE_SYS_IO_H_WITH_INB_OUTB, 1, [Define to 1 if you have the <sys/io.h> providing inb,outb.])
++  fi
++else
++  brltty_cv_have_sys_io_h_with_inb_outb="no"
++fi
++
+ case "${host_os}"
+ in
+    cygwin*|mingw*)
+-- 
+2.47.3
+
diff --git a/package/brltty/brltty.mk b/package/brltty/brltty.mk
index 5e24288cbb..4952210121 100644
--- a/package/brltty/brltty.mk
+++ b/package/brltty/brltty.mk
@@ -40,6 +40,7 @@ BRLTTY_CONF_OPTS = \
 # Autoreconf is needed because we're patching configure.ac in
 # 0001-Fix-linking-error-on-mips64el and
 # 0002-configure.ac-link-fv-driver-with-ltinfo-only-if-avai.
+# 0004-check-for-functions-inb-outb.patch
 # However, a plain autoreconf doesn't work, because this package
 # is only autoconf-based.
 define BRLTTY_AUTOCONF
-- 
2.47.3

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH v2 1/1] package/brltty: fix musl build
  2026-01-04 11:05 [Buildroot] [PATCH v2 1/1] package/brltty: fix musl build Bernd Kuhls
@ 2026-02-04 14:02 ` Thomas Petazzoni via buildroot
  2026-02-13 19:37 ` Thomas Perale via buildroot
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-02-04 14:02 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: buildroot, Mario Lang

On Sun, Jan 04, 2026 at 12:05:06PM +0100, Bernd Kuhls wrote:
> Fixes:
> https://autobuild.buildroot.net/results/76d/76d18437241d1281566b76ed1cec2ba99c3532da/
> 
> The build error was not introduced by the recent bump to 6.8. The oldest
> build error with the previous brltty version 6.6 used in buildroot dates
> back to 2023:
> https://autobuild.buildroot.net/results/78a/78a7fe6edfb84c2b15fff32aa475c975ecd5bdbc/
> 
> and with brltty 6.4 to 2022:
> https://autobuild.buildroot.net/results/a5b/a5b338ce9865fc7afaecd9b671e6a8f290548374/
> 
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>

Applied, thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH v2 1/1] package/brltty: fix musl build
  2026-01-04 11:05 [Buildroot] [PATCH v2 1/1] package/brltty: fix musl build Bernd Kuhls
  2026-02-04 14:02 ` Thomas Petazzoni via buildroot
@ 2026-02-13 19:37 ` Thomas Perale via buildroot
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Perale via buildroot @ 2026-02-13 19:37 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: Thomas Perale, buildroot

In reply of:
> Fixes:
> https://autobuild.buildroot.net/results/76d/76d18437241d1281566b76ed1cec2ba99c3532da/
> 
> The build error was not introduced by the recent bump to 6.8. The oldest
> build error with the previous brltty version 6.6 used in buildroot dates
> back to 2023:
> https://autobuild.buildroot.net/results/78a/78a7fe6edfb84c2b15fff32aa475c975ecd5bdbc/
> 
> and with brltty 6.4 to 2022:
> https://autobuild.buildroot.net/results/a5b/a5b338ce9865fc7afaecd9b671e6a8f290548374/
> 
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>

Applied to 2025.02.x & 2025.11.x. Thanks

> ---
> v2: updated patch link after upstream committed the PR
> 
>  .../0004-check-for-functions-inb-outb.patch   | 98 +++++++++++++++++++
>  package/brltty/brltty.mk                      |  1 +
>  2 files changed, 99 insertions(+)
>  create mode 100644 package/brltty/0004-check-for-functions-inb-outb.patch
> 
> diff --git a/package/brltty/0004-check-for-functions-inb-outb.patch b/package/brltty/0004-check-for-functions-inb-outb.patch
> new file mode 100644
> index 0000000000..64f2a2d7a7
> --- /dev/null
> +++ b/package/brltty/0004-check-for-functions-inb-outb.patch
> @@ -0,0 +1,98 @@
> +From 876bdd3153c791a51422a43403143ff10acb6e82 Mon Sep 17 00:00:00 2001
> +From: Bernd Kuhls <bernd@kuhls.net>
> +Date: Sat, 3 Jan 2026 15:35:48 +0100
> +Subject: [PATCH] check for functions inb & outb
> +
> +Musl C library provides sys/io.h but inb and outb are missing on some
> +archs. This patch adds a configure check ported from sane-backends:
> +https://github.com/solanoalves/sane-backend/blob/059b97962ecb1b1ab068f524988d16c5b55bbd29/configure.ac#L314
> +to fix build errors detected by buildroot autobuilders:
> +https://autobuild.buildroot.net/results/76d/76d18437241d1281566b76ed1cec2ba99c3532da//build-end.log
> +
> +./ports_glibc.c: In function 'readPort1':
> +./ports_glibc.c:54:10: error: implicit declaration of function 'inb' [-Wimplicit-function-declaration]
> +   54 |   return inb(port);
> +      |          ^~~
> +./ports_glibc.c: In function 'writePort1':
> +./ports_glibc.c:63:3: error: implicit declaration of function 'outb' [-Wimplicit-function-declaration]
> +   63 |   outb(value, port);
> +      |   ^~~~
> +
> +Upstream: https://github.com/brltty/brltty/commit/85cadac951cda709ce53d49923114595c16a8f16
> +
> +Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
> +---
> + Programs/ports_glibc.c |  4 ++--
> + config.h.in            |  3 +++
> + configure.ac           | 19 +++++++++++++++++++
> + 3 files changed, 24 insertions(+), 2 deletions(-)
> +
> +diff --git a/Programs/ports_glibc.c b/Programs/ports_glibc.c
> +index 4233f9ea0..4a57f626d 100644
> +--- a/Programs/ports_glibc.c
> ++++ b/Programs/ports_glibc.c
> +@@ -50,7 +50,7 @@ disablePorts (unsigned short int base, unsigned short int count) {
> + 
> + unsigned char
> + readPort1 (unsigned short int port) {
> +-#ifdef HAVE_SYS_IO_H
> ++#ifdef BRLTTY_HAVE_SYS_IO_H_WITH_INB_OUTB
> +   return inb(port);
> + #else /* HAVE_SYS_IO_H */
> +   return 0;
> +@@ -59,7 +59,7 @@ readPort1 (unsigned short int port) {
> + 
> + void
> + writePort1 (unsigned short int port, unsigned char value) {
> +-#ifdef HAVE_SYS_IO_H
> ++#ifdef BRLTTY_HAVE_SYS_IO_H_WITH_INB_OUTB
> +   outb(value, port);
> + #endif /* HAVE_SYS_IO_H */
> + }
> +diff --git a/config.h.in b/config.h.in
> +index 537d3af92..edea70cea 100644
> +--- a/config.h.in
> ++++ b/config.h.in
> +@@ -331,6 +331,9 @@ extern "C" {
> + /* Define this if the header file sys/io.h exists. */
> + #undef HAVE_SYS_IO_H
> + 
> ++/* Define to 1 if you have the <sys/io.h> providing inb,outb. */
> ++#undef BRLTTY_HAVE_SYS_IO_H_WITH_INB_OUTB
> ++
> + /* Define this if the header file sys/modem.h exists. */
> + #undef HAVE_SYS_MODEM_H
> + 
> +diff --git a/configure.ac b/configure.ac
> +index b78d482f6..0a2a70dd0 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -961,6 +961,25 @@ AC_CHECK_FUNCS([shmget shm_open])
> + AC_CHECK_FUNCS([getpeereid getpeerucred getzoneid])
> + AC_CHECK_FUNCS([mempcpy wmempcpy])
> + 
> ++dnl sys/io.h might provide ioperm but not inb,outb (like for
> ++dnl non i386/x32/x86_64 with musl libc)
> ++if test "${ac_cv_header_sys_io_h}" = "yes"; then
> ++  AC_MSG_CHECKING([for inb,outb (provided by sys/io.h)])
> ++  AC_LINK_IFELSE(
> ++    [AC_LANG_PROGRAM([[#include <sys/io.h>]],
> ++      [[inb(0);outb(0,0);]])],
> ++    [AC_MSG_RESULT([yes])
> ++      brltty_cv_have_sys_io_h_with_inb_outb="yes"],
> ++    [AC_MSG_RESULT([no])
> ++      brltty_cv_have_sys_io_h_with_inb_outb="no"
> ++      AC_MSG_WARN([sys/io.h does not provide inb,outb (non i386/x32/x86_64 arch?)])])
> ++  if test "$brltty_cv_have_sys_io_h_with_inb_outb" = "yes"; then
> ++    AC_DEFINE(BRLTTY_HAVE_SYS_IO_H_WITH_INB_OUTB, 1, [Define to 1 if you have the <sys/io.h> providing inb,outb.])
> ++  fi
> ++else
> ++  brltty_cv_have_sys_io_h_with_inb_outb="no"
> ++fi
> ++
> + case "${host_os}"
> + in
> +    cygwin*|mingw*)
> +-- 
> +2.47.3
> +
> diff --git a/package/brltty/brltty.mk b/package/brltty/brltty.mk
> index 5e24288cbb..4952210121 100644
> --- a/package/brltty/brltty.mk
> +++ b/package/brltty/brltty.mk
> @@ -40,6 +40,7 @@ BRLTTY_CONF_OPTS = \
>  # Autoreconf is needed because we're patching configure.ac in
>  # 0001-Fix-linking-error-on-mips64el and
>  # 0002-configure.ac-link-fv-driver-with-ltinfo-only-if-avai.
> +# 0004-check-for-functions-inb-outb.patch
>  # However, a plain autoreconf doesn't work, because this package
>  # is only autoconf-based.
>  define BRLTTY_AUTOCONF
> -- 
> 2.47.3
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2026-02-13 19:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-04 11:05 [Buildroot] [PATCH v2 1/1] package/brltty: fix musl build Bernd Kuhls
2026-02-04 14:02 ` Thomas Petazzoni via buildroot
2026-02-13 19:37 ` Thomas Perale via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox