fangism/hackt

readline: rl_completion_display_matches_hook prototype difference in pointer assignment

Closed this issue · 2 comments

Compiling the clang34ification branch gives the following error:

../../src/sim/command_registry.tcc:876:39: error: assigning to 'VFunction *'
    (aka 'void (*)()') from incompatible type 'void (char **, int, int)':
    different number of parameters (0 vs 3)
                      rl_completion_display_matches_hook =

This is most likely due to some API change in GNU readline, and not specific to any compiler or OS. What version of readline are you building against?

I believe we determined that this was due to accidentally finding Apple's editline library, which attempts to mimic the GNU readline API, but has some differences. Solution: install GNU readline separately and configure with

--with-readline=/path/to/readline-root

such as /opt/local.