Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
The migration is almost done, at least the rest should happen in the background. There are still a few technical difference between the old cluster and the new ones, and they are summarized in this issue. Please pay attention to the TL:DR at the end of the comment.
We were setting objc
as []
in the native file, because of which
meson was auto-detecting it and finding it inside the MSYS-MinGW env.
Then it was using that (instead of the MSVC compiler) to search for
libraries inside dependency()
and picked the GCC-compatible import
libraries (.dll.a
) for all dependencies, such as cairo, pango,
libxml2, fontconfig, etc.
The MSVC linker tried its best to chug along and mostly succeeded, but
possibly due to format incompatibilities between .dll.a
and .lib
import library formats or bugs in GCC and/or MSVC, this led to the
linker getting confused and looking for some libxml2 symbols both
inside cairo and libxml2 DLLs, and doing the same for some cairo
symbols too.
For example, it was looking for xmlDocGetRootElement
and
cairo_create
in both libxml2-2.dll
and also in libcairo-2.dll
.
Since in PE images multiple references to the same symbol in different DLLs is allowed and all these references must be resolved at runtime, this was a runtime error not a build-time error. The same thing was also happening to resindvd.
Oh, also re-enable resindvd which was accidentally disabled on MSVC when it was supposed to be disabled on UWP.
Closes #277 (closed)