mklibs and brltty
I just realized that library reduction fails with the newest mklibs
and brltty. Some attempt to get enlightenment about this problem
on IRC failed. If anyone can explain what the truly correct fix for
this problem would be, please do so!
mklibs fails with the followin error:
No library provides non-weak timeout_yet
OK, symbol timeout_yet is used in several of BRLTTY's internal
driver modules, which are located in /lib/brltty/libbrlttyb*.so.
Function timeout_yet is defined in BRLTTY's main executable /sbin/brltty,
and is therefore available to its driver module when it loads one at run-time.
However, mklibs only considers libraries, and not executables, when checking
for provided symbols, AFAICS.
Now, the question is what would be the proper fix for this problem.
I do see several:
1. Work around this problem by patching mklibs such that it
detects that a certain symbol is provided by an executable.
2. Patch build/Makefile such that mklibs never sees the
/lib/brltty/libbrltty*.so files. Note that this is error-prone since those
DSOs might actually need some symbols from libc, which mklibs would then
fail to find. It is also a ugly special-case
3. Fix a (to me yet unknown) fundamental bug in how BRLTTY is
implementing its DSO support.