Christian Egli wrote:
../tools/gnulib/.libs/libgnutools.a(getopt.o): In function
`process_long_option':
/home/eglic/src/liblouis/tools/gnulib/getopt.c:281: undefined reference to
`flockfile'
/home/eglic/src/liblouis/tools/gnulib/getopt.c:295: undefined reference to
`funlockfile'
collect2: error: ld returned 1 exit status
Makefile:1098: recipe for target 'lou_allround.exe' failed
I do not fully understand the source of gnulib/getopt.c but could it be
that
# ifndef _POSIX_THREAD_SAFE_FUNCTIONS
# define flockfile(fp) /* nop */
# define funlockfile(fp) /* nop */
# endif
is not invoked when cross-compiling with mingw?
Nothing to do with that. I got the same error. Since most modern
MinGW uses win-pthreads, they define:
#define _POSIX_THREAD_SAFE_FUNCTIONS 200112L
in their <pthread_unistd.h> (line:150). So I think Gnulib should
just say:
# if !HAVE_DECL_FLOCKFILE
# define flockfile(fp) /* nop */
# define funlockfile(fp) /* nop */
# endif
instead. Similar to getdelim.c etc.
--
--gv