Yup, I’m building 2.2.3.  I see mktime.c in guile-2.2.3/lib, but do not see
mktime.o when I objdump libgnu.a, indicating that it’s not being built.

In config.log, I see a few lines that could be relevant:

configure:34662: checking for working mktime
...
gl_cv_func_working_mktime=yes
...
GNULIB_MKTIME=‘1'
...
REPLACE_MKTIME=‘0'
...
gl_GNULIB_ENABLED_mktime_FALSE='#'
gl_GNULIB_ENABLED_mktime_TRUE=‘'

(full config.log is here: https://gist.github.com/mkeeter/81c273069a2804ad8d53e72533f6f8da)

Does this offer any insight?  I’m confused by the conflicting GNULIB_MKTIME vs
gl_GNULIB_ENABLED_mktime_TRUE, but am not adept at parsing automake outputs…

-Matt

On Jan 18, 2018, at 9:09 AM, Eli Zaretskii <eliz@gnu.org> wrote:

From: Matthew Keeter <matt.j.keeter@gmail.com>
Date: Wed, 17 Jan 2018 17:30:02 -0500
Cc: guile-devel@gnu.org

Following your advice, I’m now trying to build a 32-bit version under MinGW,
This fails a little earlier in the process:

make[2]: Entering directory '/home/mkeeter/guile/src/build-i686-w64-mingw32/libguile'
make  all-am
make[3]: Entering directory '/home/mkeeter/guile/src/build-i686-w64-mingw32/libguile'
 CCLD     libguile-2.2.la
../lib/.libs/libgnu.a(timegm.o):timegm.c:(.text+0x22): undefined reference to `mktime_internal'
collect2.exe: error: ld returned 1 exit status
make[3]: *** [Makefile:2373: libguile-2.2.la] Error 1

This appears to be the same bug as #24681
(http://lists.gnu.org/archive/html/bug-guile/2017-03/msg00095.html),
but I don’t see anyone successfully resolving it
(and I can’t find any references to it in the Git history).

Any ideas?

mktime_internal is in Gnulib's mktime.c.  What version of Guile 2.2.x
are you building?  The latest v2.2.3 includes mktime.c in
guile-2.2.3/lib/, do you have it?  If you do have it, do you see
mktime.o in libgnu.a?

If mktime.c is in the tree, but is not compiled, you need to
investigate why, by looking at config.log, where the configure script
determines whether your system needs mktime.c and/or mktime_internal.