On 10/13/25 01:07, Andrew L. Moore wrote:
Please find attached patches that allow building GNU Global v6.6.14 on Fedora GNU/Linux v42 and v43. The first three are straight forward:1. When looking for Universal Ctags, use option `--extras'. The code does this, but configure was using `--extra'. 2. When looking for libsqlite3, add /usr/lib64 to the search path. 3. Address a GNU C v15 compilation error: assignment from incompatible pointer type 'int (*)(void)'. The fix is to conditionally add prototypes to dberr masks. Many modern systems come with Gnulib. So either GNU Global could link against the system Gnulib, or, alternatively, the Gnulib `bootstrap' script could be added to the GNU Global distribution. Gnulib bootstrap downloads Gnulib modules as needed. See: https://cgit.git.savannah.gnu.org/cgit/gnulib.git/tree/top/bootstrap One complication is that the function hash_string is no longer included in Gnulib. 4. So the final patch is an attempt to address these issues in minimalist (lazy) way: If the system provides regcomp and getopt_long, then the system-provided functions are used by default. To override this, use the configure option `--with-included-regex'. An updated version of the hash_string function by Bruno Haible is added directly to libutil/strhash.c. The function is described in the article: https://www.haible.de/bruno/hashfunc.html A more correct approach might be to leverage Gnulib's bootstrap script and update strhash.c to use current Gnulib hash functions. If I had more time, I would have liked to offer an alternative patch for this. The current Gnulib does have lots of overhead, so maybe the included patch will be acceptable compromise.
ax_func_getopt_long.m4
Description: application/m4
