undefined reference to `trio_fpclassify_and_signbit'
Compiling for i686-w64-mingw32 I get
[00:34:35] libtool: link: cc -shared .libs/libxml2_la-buf.o .libs/libxml2_la-chvalid.o .libs/libxml2_la-dict.o .libs/libxml2_la-entities.o .libs/libxml2_la-encoding.o .libs/libxml2_la-error.o .libs/libxml2_la-globals.o .libs/libxml2_la-hash.o .libs/libxml2_la-list.o .libs/libxml2_la-parser.o .libs/libxml2_la-parserInternals.o .libs/libxml2_la-SAX2.o .libs/libxml2_la-threads.o .libs/libxml2_la-tree.o .libs/libxml2_la-uri.o .libs/libxml2_la-valid.o .libs/libxml2_la-xmlIO.o .libs/libxml2_la-xmlmemory.o .libs/libxml2_la-xmlstring.o .libs/libxml2_la-c14n.o .libs/libxml2_la-catalog.o .libs/libxml2_la-debugXML.o .libs/libxml2_la-HTMLparser.o .libs/libxml2_la-HTMLtree.o .libs/libxml2_la-nanohttp.o .libs/libxml2_la-xmlmodule.o .libs/libxml2_la-xmlsave.o .libs/libxml2_la-pattern.o .libs/libxml2_la-xmlreader.o .libs/libxml2_la-xmlregexp.o .libs/libxml2_la-xmlunicode.o .libs/libxml2_la-relaxng.o .libs/libxml2_la-xmlschemas.o .libs/libxml2_la-xmlschemastypes.o .libs/libxml2_la-schematron.o .libs/libxml2_la-triostr.o .libs/libxml2_la-trio.o .libs/libxml2_la-xmlwriter.o .libs/libxml2_la-xinclude.o .libs/libxml2_la-xpath.o .libs/libxml2_la-xlink.o .libs/libxml2_la-xpointer.o -L/workspace/destdir/lib -lz -liconv -lws2_32 -g -O2 -o .libs/libxml2-2.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libxml2.dll.a
[00:34:35] /opt/i686-w64-mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/bin/ld: .libs/libxml2_la-trio.o: in function `TrioWriteDouble':
[00:34:35] /workspace/srcdir/libxml2-2.12.0/trio.c:2664: undefined reference to `trio_fpclassify_and_signbit'
[00:34:35] /opt/i686-w64-mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/bin/ld: /workspace/srcdir/libxml2-2.12.0/trio.c:2785: undefined reference to `trio_isinf'
[00:34:35] /opt/i686-w64-mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/bin/ld: .libs/libxml2_la-trio.o: in function `TrioReadDouble':
[00:34:35] /workspace/srcdir/libxml2-2.12.0/trio.c:5902: undefined reference to `trio_nan'
[00:34:35] /opt/i686-w64-mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/bin/ld: /workspace/srcdir/libxml2-2.12.0/trio.c:5881: undefined reference to `trio_pinf'
[00:34:35] /opt/i686-w64-mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/bin/ld: /workspace/srcdir/libxml2-2.12.0/trio.c:5892: undefined reference to `trio_pinf'
[00:34:35] /opt/i686-w64-mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/bin/ld: /workspace/srcdir/libxml2-2.12.0/trio.c:5906: undefined reference to `trio_nan'
[00:34:35] /opt/i686-w64-mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/bin/ld: /workspace/srcdir/libxml2-2.12.0/trio.c:5877: undefined reference to `trio_ninf'
[00:34:35] /opt/i686-w64-mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/bin/ld: /workspace/srcdir/libxml2-2.12.0/trio.c:5888: undefined reference to `trio_ninf'
[00:34:35] /opt/i686-w64-mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/bin/ld: .libs/libxml2_la-trio.o: in function `TrioLogarithm':
[00:34:35] /workspace/srcdir/libxml2-2.12.0/trio.c:1137: undefined reference to `trio_ninf'
[00:34:35] /opt/i686-w64-mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/bin/ld: /workspace/srcdir/libxml2-2.12.0/trio.c:1137: undefined reference to `trio_nan'
[00:34:35] collect2: error: ld returned 1 exit status
[00:34:35] make[2]: *** [Makefile:963: libxml2.la] Error 1
As far as I understand, the missing symbols are defined in trionan.c
but the corresponding object file isn't compiled at all, let alone linked.
Package was configured with
./autogen.sh --prefix=${prefix} --build=x86_64-linux-musl --host=i686-w64-mingw32 --without-python --disable-static --with-zlib=${prefix} --with-iconv=${prefix}
See https://buildkite.com/julialang/yggdrasil/builds/6718#018bef4a-0aa7-4ca6-a5e9-cb6bc9406221/617-5278 for the full log. I don't know why this doesn't happen for any other of the platforms we're targeting.