2018-02-24 8:54 GMT+01:00 Sven Joachim <svenj...@gmx.de>:
> On 2018-02-23 22:12 +0100, Sven Joachim wrote:
>
>> So I have good and bad news.  The good one is that this error was easy
>> to fix by casting the 0 to size_t, so that both parameters passed to
>> std::max have the same type.  See the attached patch.
>>
>> The bad news is that after rebuilding libcwidget3v5 against libncursesw6
>> aptitude no longer starts:
>>
>> ,----
>> | $ aptitude
>> | aptitude: symbol lookup error: aptitude: undefined symbol: 
>> _ZN7cwidget7widgets6widget14dispatch_mouseEsiiim
>> | $ objdump -T /usr/lib/i386-linux-gnu/libcwidget.so.3.0.0 | grep 
>> widget14dispatch_mouse
>> | 000dde10 g    DF .text  00000002  Base        
>> _ZN7cwidget7widgets6widget14dispatch_mouseEsiiij
>> `----
>>
>> This is because mmask_t is of a different type in libncursesw6.  Looks
>> like I may have to go back to the drawing board in ncurses and re-enable
>> the "--with-mmask-t='long'" configure option there.  Oh well. :-(
>
> Grepping for mmask_t on codesearch.debian.net revealed 48 packages which
> might be using this datatype.  I will examine them more closely next
> week, but from a first look it seems that cwidget might very well be the
> only affected library.  If this turns out to be true, I would prefer to
> deal with the incompatibility in cwidget/aptitude rather than deviate
> from upstream's default in ncurses.
>
> So here is a possible plan:
>
> - Do *not* fix this bug in unstable now, to exclude the possibility of
>   the above symbol lookup error after a cwidget rebuild when the ncurses
>   transition starts.
>
> - After ncurses has been accepted in experimental, upload cwidget there
>   too.  Rename the library package again, say to libcwidget3v6, and
>   build-depend on libncurses-dev (>= 6.0+20180210) to ensure that it gets
>   linked against libncursesw6 rather than libncursesw5.
>
> - When the ncurses transition starts in unstable, both aptitude and
>   cwidget still FTBFS.  Upload the new cwidget package to unstable, get
>   aptitude binNMU'ed, and everyone is happy.
>
> Does this sound reasonable?

Yes, with the following comments/caveats (mostly reminders for myself,
or somebody else if ends up doing this):

- the "v5" suffix was for the GCC5 transition (changes due to C++11
ABI), the name should be "libcwidget4" or something.  I wanted to
change a couple of minor things and bump the soversion anyway, just
never find the time to sort out all of the details, so let's see :)

- I am the maintainer of both aptitude and cwidget, so no need to
sweat over problems, I can upload them in lockstep


Thanks for the detailed follow-up and taking care of these details :)


-- 
Manuel A. Fernandez Montecelo <manuel.montez...@gmail.com>

Reply via email to