when rebuilding FPC (version 3.2.2, Lazarus 2.2.6, "x86_64-linux-gtk2") from sources, the compiler processes the symbol "fnmatch" that is 'paired' with the library "libgtk-x11-2.0.so". i have traced this back to the source file /usr/share/fpcsrc/3.2.2/packages/gtk2/src/gtk+/gtk/fnmatch.pas and in particular the following function declaration therein:
{ Match STRING against the filename pattern PATTERN, returning zero if it matches, FNM_NOMATCH if not. } function fnmatch(__pattern: char; __string: char; __flags: gint): gint; cdecl; external gtklib; located at around line 36. the constant gtklib is defined in the file /usr/share/fpcsrc/3.2.2/packages/gtk2/src/gtk+/gtk/gtk2.pas as: const gtklib = 'libgtk-x11-2.0.so'; however, the library "libgtk-x11-2.0.so" does NOT contain a symbol/function "fnmatch". is anyone able to tell me where the symbol "fnmatch" resolves to? i have spent a number of days working on this without success. note that editing fnmatch.pas to either of the following variations: function fnmatch( ... ) ... external; function fnmatch( ... ) ... external 'libc'; both yield a compiler that, while capable of compiling a working terminal application, can NOT compile a (gtk2) GUI application. so the symbol "fnmatch" is NOT resolving to a match in "libc.so.6" where one would normally expect to find fnmatch defined. many thanks for any help that can be offered... cheers, rob :-) _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel