[BRLTTY] Problems compiling a barebones BRLTTY for initramfs
Dave Mielke
Dave at mielke.cc
Tue Jul 15 22:21:21 UTC 2025
[quoted lines by Aura Kelloniemi on 2025/07/15 at 23:57 +0300]
>I am building BRLTTY from git (commit hash
>d67864beaff2a4b92949bef260cba23b2db35014) in an Alpine chroot. The configure
>flags I used are as follows:
>
>--prefix=/usr --sysconfdir=/etc --localstatedir=/var
>--with-tables-directory=/usr/share/brltty --disable-i18n --disable-icu
>--disable-iconv --disable-polkit --disable-api --disable-emacs-bindings
>--disable-java-bindings --disable-lisp-bindings --disable-lua-bindings
>--disable-ocaml-bindings --disable-python-bindings --disable-tcl-bindings
>--disable-x --disable-expat --disable-liblouis --disable-gpm
>--disable-speech-support --without-curses --without-gui-toolkit
>--without-rgx-package --without-bell-package --without-leds-package
>--without-pcm-package --without-midi-package --without-fm-package
>--without-bluetooth-package --without-libbraille --without-service-package
>--with-braille-driver=fs --with-screen-driver=lx --without-dynld-package
>--without-pgmprivs-package
In an attempt to duplicate your problem, I've configured brltty with these very same options.
>./file.c:227:30: error: 'HELPERS_DIRECTORY' undeclared here (not in a function); did you mean 'DRIVERS_DIRECTORY'?
> 227 | char *opt_helpersDirectory = HELPERS_DIRECTORY;
I don't get this error. Might you have forgotten to do autogen?
>If I manually edit config.h and #define HELPERS_DIRECTORY,
It's already correctly defined for me:
#define HELPERS_DIRECTORY "/usr/libexec/brltty"
>I get a build
>failure in Drivers/FileViewer/screen.c, because term.h is missing. It seems
>BRLTTY cannot be compiled without curses.
Maybe that's an issue for the FileViewer screen driver, but not for brltty in general. In fact, though, I'm not getting that error, either.
>I tried to build BRLTTY (with the same configure flags as above) in a much
>more featureful Arch Linux system, and I noticed, that BRLTTY links against
>many libraries (like libudev and lkbblkid),
Sure, because configure is finding things that were previously not available.
>and there is no way to disable this.
Try disabling HID support.
>It is impossible to compile BRLTTY with --enable-standalone-programs on
>vanilla Arch system, because BRLTTY tries to link against static versions of
>libbluetooth and libudev (for example), but those are not available on an Arch
>system.
I think (haven't gone back to check) that your configure options disable Bluetooth, but HID also needs Bluetooth so, again, disabling HID might resolve this one.
>can I somehow disable external drivers? As I compile BRLTTY
>without dynamic loading support (or at least try to), there is no point in
>building external drivers anyway. I know --enable-standalone-programs does
>this, but it also enables static linking, which I don't want (because musl
>will be available on the initramfs).
Suffix your driver lists with -all (note the leading minus sign). For example: --with-screen-driver=lx,-all
--
I believe the Bible to be the very Word of God: http://Mielke.cc/bible/
Dave Mielke | 2213 Fox Crescent | WebHome: http://Mielke.cc/
EMail: Dave at Mielke.cc | Ottawa, Ontario | Twitter: @Dave_Mielke
Phone: +1 613 726 0014 | Canada K2A 1H7 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://mielke.cc/xmother.html (Letter from a Feminist ex-Mother)
More information about the BRLTTY
mailing list