GNOME Bugzilla – Bug 777904
Compilation fails with gperf v3.1
Last modified: 2017-01-29 18:47:26 UTC
## Overview When using gperf v3.1, the compilation of vte fails because the signature of the generated lookup function differs from the declared one. ## Steps to Reproduce 1) Compile vte with gperf v3.1 installed. ## Actual Results Compilation fails with ``` vteseq.cc:3426:42: error: call of overloaded 'vteseq_n_lookup(const char*&, int&)' is ambiguous seqhandler = vteseq_n_lookup (name, len); ^ ``` ## Expected Results Compilation should not fail. ## Additional Information Info from gperf NEWS file: ``` * The 'len' parameter of the hash function and of the lookup function is now of type 'size_t' instead of 'unsigned int'. This makes it safe to call these functions with strings of length > 4 GB, on 64-bit machines. ``` systemd (https://github.com/systemd/systemd/issues/5039) and several other projects encountered the same issue. ## Proposed solution I already created a patch implementing the solution from systemd: Check the result of gperf with autotools, define a preprocessor variable with the correct data type. If this is to be fixed, I will submit the patch.
Try now with vte from git master.
Works with gperf 3.0 as well as 3.1. Thank you for fixing!