[fpc-devel] fnmatch (linux), where is the external

robert rozee rozee at mail.com
Wed Oct 18 13:17:47 CEST 2023


Sent: Wednesday, October 18, 2023 at 9:03 PM
From: "Mattias Gaertner via fpc-devel" <fpc-devel at lists.freepascal.org>

> Patches don't work with debs.

>> given that i have installed from the three .deb packages, how do i perform a rebuild of the Lazarus packages? do i add the line "make distclean bigide" to the end of Fred vS's script?

> cd your/lazarusgit
> make distclean bigide

brilliant! the following works for me:

cd /usr/share/lazarus/2.2.6
sudo make distclean bigide

doing the above after rebuilding FPC (with fnmatch.inc changed to remove the reference to gtklib) results in lazbuild being able to build a GTK2 GUI application!


regarding patches and debs, i think we are talking cross-purposes. i am not patching the .deb files or their contents. i am using the three .debs to install FPC and Lazarus, then patching (now two) source files: pdecsub.pas and fnmatch.inc in usr/share/fpcsrc. the patch applied to pdecsub changes the way 'external' statements are processed, converting unversioned glibc symbols into BASE versioned ones. once FPC and Lazarus have been rebuilt, this results in the compiler now generating binaries that will run against _all_ versions of glibc, including those earlier than the one installed on the machine that created the binary.

i hope you can see, my patch will NOT EVER be applied against the sources on gitlab, nor is EVER intended to be applied in that way. it is to be applied to a _local_ installation on an individual user's computer so that said user can themself decide how to deal with glibc version compatibility.

Mattias: many many thanks for helping put the last piece of the puzzle in place! "make distclean bigide" was the missing piece needed to solve the puzzle. if i offended you or anyone else while getting to the solution, please accept my sincerest apologies.


cheers,
rob   :-)


More information about the fpc-devel mailing list