[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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!

The bug:

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.


Reply to: