Re: Patches for Fedora 42 & 43

"Andrew L. Moore" <[email protected]> Mon, 13 Oct 2025 19:06:05 -0400
Newsgroups gmane.comp.gnu.global.bugs
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------FwiSF4pbYwcgOCvx29Lf3BWf
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

We already have one vote in favor of importing Gnulib using its provided 
bootstrap script. I am not opposed and merely offer the patch 
use-system-gnulib.diff as a compromise. The patch name is actually 
misleading, as I explained in reply to Colin Frank. Furthermore, I 
complicated the patching process by providing the final patch, 
ax_func_getopt_long.m4, in a different format: It fails to apply using 
`patch -p1 <patchfile' as appropriate for the other patches.  So I've 
attached a new patch file, use-system-regexp.diff, that replaces both 
use-system-gnulib.diff and ax_func_getopt_long.m4. This applies 
correctly using `patch -p1'.  Apologies for the complication.

One note about Bruno Haible's hash function:  In the version that is now 
deprecated in Gnulib, hash_pjw, the final value is returned modulus the 
key length, whereas in the original version included in this patch, no 
modulus is taken (as was the case in the Compilers book).

On 10/13/25 01:21, Andrew L. Moore wrote:
> The patch use-system-gnulib.diff depends upon an m4 macro which was 
> omitted.  Please find attached a patch for it below.
> 
> 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.

--------------FwiSF4pbYwcgOCvx29Lf3BWf
Content-Type: text/x-patch; charset=UTF-8; name="use-system-regex.diff"
Content-Disposition: attachment; filename="use-system-regex.diff"
Content-Transfer-Encoding: base64

ZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KaW5kZXggNDQ0NTJkYy4u
NmJiZjc2NCAxMDA2NDQKLS0tIGEvTWFrZWZpbGUuYW0KKysrIGIvTWFrZWZpbGUuYW0KQEAg
LTExLDcgKzExLDEwIEBACiAjIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgogIwogQUNMT0NBTF9BTUZM
QUdTID0gLUkgbTQKLVNVQkRJUlMgPSBsaWJnbGliYyBsaWJ1dGlsIGxpYnBhcnNlciBsaWJs
dGRsIHBsdWdpbi1mYWN0b3J5CitTVUJESVJTID0gbGlidXRpbCBsaWJwYXJzZXIgbGlibHRk
bCBwbHVnaW4tZmFjdG9yeQoraWYgTERBRERfR05VTElCCisJU1VCRElSUyArPSBsaWJnbGli
YworZW5kaWYKIGlmICFVU0VfREIxODVfQ09NUEFUCiAgICAgICAgIFNVQkRJUlMgKz0gbGli
ZGIKIGVuZGlmCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5k
ZXggMjVlNTdjZS4uYmY5ZWVkMSAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2Nv
bmZpZ3VyZS5hYwpAQCAtMjUsNiArMjUsNyBAQCBBQ19JTklUKFtHTlUgR2xvYmFsXSxbNi42
LjE0XSkKIEFDX0RFRklORShDT1BZUklHSFRfWUVBUixbIjE5OTYtMjAyNCJdLFtDb3B5cmln
aHQgWWVhcl0pCiBBQ19DT05GSUdfU1JDRElSKGdsb2JhbC9nbG9iYWwuYykKIEFDX0NPTkZJ
R19IRUFERVJTKFtjb25maWcuaDpjb25maWctaC5pbl0pCitBQ19DT05GSUdfTElCT0JKX0RJ
UihbbGliZ2xpYmNdKQogQUNfQ09ORklHX01BQ1JPX0RJUlMoW200XSkKIEFDX1BSRVJFUSgy
LjcxKQogQU1fSU5JVF9BVVRPTUFLRShbMS45LjMgZ251IHN1YmRpci1vYmplY3RzXSkKQEAg
LTIyMCw3ICsyMjEsMzkgQEAgQUNfQVJHX1dJVEgoZGIxODUtY29tcGF0LAogXSxbIHdpdGhf
ZGIxODVfY29tcGF0PW5vIF0pCiBBTV9DT05ESVRJT05BTChbVVNFX0RCMTg1X0NPTVBBVF0s
IFt0ZXN0ICIkd2l0aF9kYjE4NV9jb21wYXQiICE9IG5vXSkKIAotTERBREQ9Jy4uL2xpYnBh
cnNlci9saWJnbG9wYXJzZXIuYSAuLi9saWJ1dGlsL2xpYmdsb3V0aWwuYSAnJERCTElCUkFS
WScgLi4vbGliZ2xpYmMvbGliZ2xvZ2xpYmMuYScKK0xEQUREPScuLi9saWJwYXJzZXIvbGli
Z2xvcGFyc2VyLmEgLi4vbGlidXRpbC9saWJnbG91dGlsLmEgJyREQkxJQlJBUlkKKworQVhf
RlVOQ19HRVRPUFRfTE9ORworCitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgaW5jbHVkZWQg
cmVnZXggaXMgcmVxdWVzdGVkXSkKK0FDX0FSR19XSVRIKFtpbmNsdWRlZC1yZWdleF0sCisg
IFtBU19IRUxQX1NUUklORyhbLS13aXRoLWluY2x1ZGVkLXJlZ2V4XSwKKyAgICBbdXNlIGlu
Y2x1ZGVkIEdOVSByZWdleCBsaWJyYXJ5XSldLAorICAgIFtdLCBbd2l0aF9pbmNsdWRlZF9y
ZWdleD1jaGVja10pCitBQ19NU0dfUkVTVUxUKFskd2l0aF9pbmNsdWRlZF9yZWdleF0pCitp
ZiB0ZXN0ICEgLiIkd2l0aF9pbmNsdWRlZF9yZWdleCIgPSAuJ3llcyc7IHRoZW4KKyAgICBB
Q19DSEVDS19GVU5DUyhbcmVnY29tcF0sCisgICAgICBbd2l0aF9pbmNsdWRlZF9yZWdleD1u
b10sCisgICAgICBbd2l0aF9pbmNsdWRlZF9yZWdleD15ZXMKKyAgICAgICBBQ19NU0dfV0FS
TihbU3lzdGVtIHJlZ2V4IG5vdCBmb3VuZCwgZmFsbGluZyBiYWNrIHRvIGluY2x1ZGVkIHZl
cnNpb25dKV0pCitmaQorQU1fQ09ORElUSU9OQUwoW0xJQkFERF9SRUdFWF0sCisgICAgICAg
IFt0ZXN0IC4iJHdpdGhfaW5jbHVkZWRfcmVnZXgiID0gLid5ZXMnIFwKKyAgICAgICAgICAg
LW8gLiIkYWNfY3ZfZnVuY19nZXRvcHRfbG9uZyIgIT0gLid5ZXMnXSkKK0FNX0NPTkRfSUYo
W0xJQkFERF9SRUdFWF0sCisgIFtMREFERD0iJExEQUREIC4uL2xpYmdsaWJjL2xpYmdsb2ds
aWJjLmEiCisgICBBQ19ERUZJTkUoW0hBVkVfUkVHX1NZTlRBWF9UXSwgWzFdLAorICAgIFtE
ZWZpbmUgdG8gMSBpZiByZWdleC5oIGRlZmluZXMgYHJlZ19zeW50YXhfdCcuXSldLAorICBb
QUNfQ0hFQ0tfVFlQRVMoW3JlZ19zeW50YXhfdF0sCisgICAgW0FDX0RFRklORShbSEFWRV9S
RUdfU1lOVEFYX1RdLCBbMV0sCisgICAgICBbRGVmaW5lIHRvIDEgaWYgcmVnZXguaCBkZWZp
bmVzIGByZWdfc3ludGF4X3QnLl0pXSxbXSwKKyAgICAgIFtbI2luY2x1ZGUgPHN5cy90eXBl
cy5oPgorI2luY2x1ZGUgPHJlZ2V4Lmg+XV0pXSkKKworQU1fQ09ORElUSU9OQUwoW0xEQURE
X0dOVUxJQl0sCisgIFt0ZXN0IC4iJHdpdGhfaW5jbHVkZWRfcmVnZXgiID0gLid5ZXMnIFwK
KyAgICAgLW8gLiIkYWNfY3ZfZnVuY19nZXRvcHRfbG9uZyIgIT0gLid5ZXMnXSkKKwogZG5s
CiBkbmwgVXNlIHNxbGl0ZTMgQVBJLgogZG5sCmRpZmYgLS1naXQgYS9saWJ1dGlsL3N0cmhh
c2guYyBiL2xpYnV0aWwvc3RyaGFzaC5jCmluZGV4IDM5M2EwNjkuLjg3OWJhZTUgMTAwNjQ0
Ci0tLSBhL2xpYnV0aWwvc3RyaGFzaC5jCisrKyBiL2xpYnV0aWwvc3RyaGFzaC5jCkBAIC0y
MCw2ICsyMCw3IEBACiAjaWZkZWYgSEFWRV9DT05GSUdfSAogI2luY2x1ZGUgPGNvbmZpZy5o
PgogI2VuZGlmCisjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAj
aW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KQEAgLTcyLDkgKzczLDI3
IEBAIHN0cmhhc2hfY2xvc2UoaGFzaCk7CQkJCS8vIGZyZWUgcmVzb3VyY2VzLgogCiAjZGVm
aW5lIG9ic3RhY2tfY2h1bmtfYWxsb2MgY2hlY2tfbWFsbG9jCiAjZGVmaW5lIG9ic3RhY2tf
Y2h1bmtfZnJlZSBmcmVlCisjZGVmaW5lIExPTkdCSVRTIChDSEFSX0JJVCAqIHNpemVvZihs
b25nKSkKKworLyogU291cmNlOiBodHRwczovL3d3dy5oYWlibGUuZGUvYnJ1bm8vaGFzaGZ1
bmMuaHRtbCAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcKK2NvbXB1dGVfaGFzaHZhbCAoY29u
c3Qgdm9pZCAqa2V5LCBzaXplX3Qga2V5bGVuKQoreworICBzaXplX3QgY250OworICB1bnNp
Z25lZCBsb25nIGludCBodmFsOworCisgIGNudCA9IDA7CisgIGh2YWwgPSBrZXlsZW47Cisg
IHdoaWxlIChjbnQgPCBrZXlsZW4pCisgICAgeworICAgICAgaHZhbCA9IChodmFsIDw8IDkp
IHwgKGh2YWwgPj4gKExPTkdCSVRTIC0gOSkpOworICAgICAgaHZhbCArPSAodW5zaWduZWQg
bG9uZyBpbnQpICooKChjaGFyICopIGtleSkgKyBjbnQrKyk7CisgICAgfQorICByZXR1cm4g
aHZhbCAhPSAwID8gaHZhbCA6IH4oKHVuc2lnbmVkIGxvbmcpIDApOworfQogCiAvKioKLSAq
IHN0cmhhc2hfb3Blbjogb3BlbiBzdHJpbmcgaGFzaCB0YWJsZS4KKyAqIHN0cmhhc2hfb3Bl
bjogb3BlbiAgaGFzaCB0YWJsZS4KICAqCiAgKglAcGFyYW1baW5dCWJ1Y2tldHMJIHNpemUg
b2YgYnVja2V0IHRhYmxlCiAgKglAcmV0dXJuCXNoCVNUUkhBU0ggc3RydWN0dXJlCkBAIC0x
MDgsNyArMTI3LDggQEAgc3RyaGFzaF9vcGVuKGludCBidWNrZXRzKQogc3RydWN0IHNoX2Vu
dHJ5ICoKIHN0cmhhc2hfYXNzaWduKFNUUkhBU0ggKnNoLCBjb25zdCBjaGFyICpuYW1lLCBp
bnQgZm9yY2UpCiB7Ci0Jc3RydWN0IHNoX2hlYWQgKmhlYWQgPSAmc2gtPmh0YWJbX19oYXNo
X3N0cmluZyhuYW1lKSAlIHNoLT5idWNrZXRzXTsKKyAgICAgICAgc3RydWN0IHNoX2hlYWQg
KmhlYWQgPQorICAgICAgICAgICZzaC0+aHRhYltjb21wdXRlX2hhc2h2YWwobmFtZSwgc3Ry
bGVuKG5hbWUpKSAlIHNoLT5idWNrZXRzXTsKIAlzdHJ1Y3Qgc2hfZW50cnkgKmVudHJ5Owog
CiAJLyoKLS0tIGEvbTQvYXhfZnVuY19nZXRvcHRfbG9uZy5tNH4JMjAyNS0xMC0xMiAyMjoz
MTozOS43MDk2MTk0ODIgLTA0MDAKKysrIGIvbTQvYXhfZnVuY19nZXRvcHRfbG9uZy5tNAky
MDI1LTEwLTEyIDIyOjM4OjQ0LjI3MDQyMzkxMSAtMDQwMApAQCAtMCwwICsxLDY2IEBACisj
ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQorIyAgIGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdh
cmUvYXV0b2NvbmYtYXJjaGl2ZS9heF9mdW5jX2dldG9wdF9sb25nLmh0bWwKKyMgPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09CisjCisjIFNZTk9QU0lTCisjCisjICAgQVhfRlVOQ19HRVRPUFRf
TE9ORworIworIyBERVNDUklQVElPTgorIworIyAgIENoZWNrIGZvciBnZXRvcHRfbG9uZyBz
dXBwb3J0LgorIworIyAgIFRoaXMgYXNzdW1lIHRoYXQgdGhlIHN0YW5kYXJkIGdldG9wdC5o
IGZpbGUgKGZyb20gR05VIGxpYmMpIGlzIGF2YWlsYWJsZQorIyAgIGFzIGxpYi9nbnVnZXRv
cHQuaC4gSWYgbmVlZGVkLCB0aGlzIGZpbGUgd2lsbCBiZSBsaW5rZWQgYXMgZ2V0b3B0Lmgs
IGJ1dAorIyAgIHdlIHdhbnQgdG8gZGVmYXVsdCB0byB0aGUgc3lzdGVtJ3MgZ2V0b3B0Lmgg
ZmlsZS4gKFNlZQorIyAgIGh0dHA6Ly9zb3VyY2VzLnJlZGhhdC5jb20vbWwvYXV0b21ha2Uv
MjAwMC0wOS9tc2cwMDA0MS5odG1sIGZvciBhbgorIyAgIGV4cGxhbmF0aW9uIGFib3V0IHdo
eSB1c2luZyB0aGUgc3lzdGVtJ3MgZ2V0b3B0LmggZmlsZSBpcyBpbXBvcnRhbnQuKQorIwor
IyBMSUNFTlNFCisjCisjICAgQ29weXJpZ2h0IChjKSAyMDA4IEFsZXhhbmRyZSBEdXJldC1M
dXR6IDxhZGxAZ251Lm9yZz4KKyMKKyMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorIyAgIHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZQorIyAgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIKKyMgICBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorIworIyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgICBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjICAgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhl
IEdOVSBHZW5lcmFsCisjICAgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMK
KyMgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBhbG9uZworIyAgIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3Qs
IHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorIworIyAgIEFzIGEgc3Bl
Y2lhbCBleGNlcHRpb24sIHRoZSByZXNwZWN0aXZlIEF1dG9jb25mIE1hY3JvJ3MgY29weXJp
Z2h0IG93bmVyCisjICAgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSwgZGlz
dHJpYnV0ZSBhbmQgbW9kaWZ5IHRoZSBjb25maWd1cmUKKyMgICBzY3JpcHRzIHRoYXQgYXJl
IHRoZSBvdXRwdXQgb2YgQXV0b2NvbmYgd2hlbiBwcm9jZXNzaW5nIHRoZSBNYWNyby4gWW91
CisjICAgbmVlZCBub3QgZm9sbG93IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2Ugd2hlbiB1c2luZworIyAgIG9yIGRpc3RyaWJ1dGluZyBzdWNoIHNjcmlw
dHMsIGV2ZW4gdGhvdWdoIHBvcnRpb25zIG9mIHRoZSB0ZXh0IG9mIHRoZQorIyAgIE1hY3Jv
IGFwcGVhciBpbiB0aGVtLiBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkg
ZG9lcyBnb3Zlcm4KKyMgICBhbGwgb3RoZXIgdXNlIG9mIHRoZSBtYXRlcmlhbCB0aGF0IGNv
bnN0aXR1dGVzIHRoZSBBdXRvY29uZiBNYWNyby4KKyMKKyMgICBUaGlzIHNwZWNpYWwgZXhj
ZXB0aW9uIHRvIHRoZSBHUEwgYXBwbGllcyB0byB2ZXJzaW9ucyBvZiB0aGUgQXV0b2NvbmYK
KyMgICBNYWNybyByZWxlYXNlZCBieSB0aGUgQXV0b2NvbmYgQXJjaGl2ZS4gV2hlbiB5b3Ug
bWFrZSBhbmQgZGlzdHJpYnV0ZSBhCisjICAgbW9kaWZpZWQgdmVyc2lvbiBvZiB0aGUgQXV0
b2NvbmYgTWFjcm8sIHlvdSBtYXkgZXh0ZW5kIHRoaXMgc3BlY2lhbAorIyAgIGV4Y2VwdGlv
biB0byB0aGUgR1BMIHRvIGFwcGx5IHRvIHlvdXIgbW9kaWZpZWQgdmVyc2lvbiBhcyB3ZWxs
LgorCisjc2VyaWFsIDYKKworQVVfQUxJQVMoW0FETF9GVU5DX0dFVE9QVF9MT05HXSwgW0FY
X0ZVTkNfR0VUT1BUX0xPTkddKQorQUNfREVGVU4oW0FYX0ZVTkNfR0VUT1BUX0xPTkddLAor
IFtBQ19QUkVSRVEoMi40OSlkbmwKKyAgIyBjbGVhbiBvdXQganVuayBwb3NzaWJseSBsZWZ0
IGJlaGluZCBieSBhIHByZXZpb3VzIGNvbmZpZ3VyYXRpb24KKyAgcm0gLWYgbGliL2dldG9w
dC5oCisgICMgQ2hlY2sgZm9yIGdldG9wdF9sb25nIHN1cHBvcnQKKyAgQUNfQ0hFQ0tfSEVB
REVSUyhbZ2V0b3B0LmhdKQorICBBQ19DSEVDS19GVU5DUyhbZ2V0b3B0X2xvbmddLCwKKyAg
IFsjIEZyZWVCU0QgaGFzIGEgZ251Z2V0b3B0IGxpYnJhcnkgZm9yIHRoaXMKKyAgICBBQ19D
SEVDS19MSUIoW2dudWdldG9wdF0sW2dldG9wdF9sb25nXSwKKyAgICAgW0FDX0RFRklORShb
SEFWRV9HRVRPUFRfTE9OR10sIFsxXSwgW0RlZmluZSB0byAxIHdoZW4gZ2V0b3B0X2xvbmcg
aXMgYXZhaWxhYmxlLl0pXSwKKyAgICAgWyMgdXNlIHRoZSBHTlUgcmVwbGFjZW1lbnQKKyAg
ICAgIEFDX0xJQk9CSihnZXRvcHQpCisgICAgICBBQ19MSUJPQkooZ2V0b3B0MSkKKyAgICAg
ICNBQ19DT05GSUdfTElOS1MoW2xpYi9nZXRvcHQuaDpsaWIvZ2V0b3B0LmluLmhdKQorICAg
ICAgXSldKV0pCg==

--------------FwiSF4pbYwcgOCvx29Lf3BWf--