<div dir="ltr">The error is the following<div><br></div><div>libtool: link: (cd .libs/nbdkit-perl-plugin.lax/libutils.a && ar x "/c/Users/yifangu/Documents/devel/nbdkit/plugins/perl/../../common/utils/.libs/libutils.a")<br>libtool: link: ar cru .libs/nbdkit-perl-plugin.a .libs/nbdkit_perl_plugin_la-perl.o  .libs/nbdkit-perl-plugin.lax/libutils.a/libutils_la-cleanup-nbdkit.o .libs/nbdkit-perl-plugin.lax/libutils.a/libutils_la-cleanup.o .libs/nbdkit-perl-plugin.lax/libutils.a/libutils_la-quote.o .libs/nbdkit-perl-plugin.lax/libutils.a/libutils_la-utils.o<br>libtool: link: ranlib .libs/nbdkit-perl-plugin.a<br>libtool: link: rm -fr .libs/nbdkit-perl-plugin.lax<br>libtool: link: ( cd ".libs" && rm -f "<a href="http://nbdkit-perl-plugin.la">nbdkit-perl-plugin.la</a>" && cp -pR "../<a href="http://nbdkit-perl-plugin.la">nbdkit-perl-plugin.la</a>" "<a href="http://nbdkit-perl-plugin.la">nbdkit-perl-plugin.la</a>" )<br>make[3]: Leaving directory '/c/Users/yifangu/Documents/devel/nbdkit/plugins/perl'<br>Making all in python<br>make[3]: Entering directory '/c/Users/yifangu/Documents/devel/nbdkit/plugins/python'<br>/bin/sh ../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../..  -I../../include -I../../common/utils    -I/usr/include/python3.7m  -g -O2 -MT nbdkit_python_plugin_la-python.lo -MD -MP -MF .deps/nbdkit_python_plugin_la-python.Tpo -c -o nbdkit_python_plugin_la-python.lo `test -f 'python.c' || echo './'`python.c<br>libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../common/utils -I/usr/include/python3.7m -g -O2 -MT nbdkit_python_plugin_la-python.lo -MD -MP -MF .deps/nbdkit_python_plugin_la-python.Tpo -c python.c  -DDLL_EXPORT -DPIC -o .libs/nbdkit_python_plugin_la-python.o<br>python.c:228:1: error: external linkage required for symbol ‘create_nbdkit_module’ because of ‘dllexport’ attribute<br>  228 | create_nbdkit_module (void)<br>      | ^~~~~~~~~~~~~~~~~~~~<br>make[3]: *** [Makefile:638: nbdkit_python_plugin_la-python.lo] Error 1<br>make[3]: Leaving directory '/c/Users/yifangu/Documents/devel/nbdkit/plugins/python'<br>make[2]: *** [Makefile:505: all-recursive] Error 1<br>make[2]: Leaving directory '/c/Users/yifangu/Documents/devel/nbdkit/plugins'<br>make[1]: *** [Makefile:696: all-recursive] Error 1<br>make[1]: Leaving directory '/c/Users/yifangu/Documents/devel/nbdkit'<br>make: *** [Makefile:562: all] Error 2<br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 23, 2020 at 8:49 AM Richard W.M. Jones <<a href="mailto:rjones@redhat.com">rjones@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, Mar 23, 2020 at 12:28:12PM +0000, Richard W.M. Jones wrote:<br>
> From: Yifan Gu <<a href="mailto:gyf304@gmail.com" target="_blank">gyf304@gmail.com</a>><br>
> <br>
> The create_nbdkit_module function is intended to be exported, therefore<br>
> the static keyword is not needed and prevents building on MSYS2.<br>
> ---<br>
>  plugins/python/python.c | 2 +-<br>
>  1 file changed, 1 insertion(+), 1 deletion(-)<br>
> <br>
> diff --git a/plugins/python/python.c b/plugins/python/python.c<br>
> index a1a0438b..adc1aaa5 100644<br>
> --- a/plugins/python/python.c<br>
> +++ b/plugins/python/python.c<br>
> @@ -224,7 +224,7 @@ static struct PyModuleDef moduledef = {<br>
>    NULL<br>
>  };<br>
>  <br>
> -static PyMODINIT_FUNC<br>
> +PyMODINIT_FUNC<br>
>  create_nbdkit_module (void)<br>
>  {<br>
>    PyObject *m;<br>
> -- <br>
<br>
I don't believe this is correct.  We call<br>
<br>
  PyImport_AppendInittab ("nbdkit", create_nbdkit_module);<br>
<br>
later on so the function shouldn't need to public.  What's the actual<br>
error when compiling this?<br>
<br>
Rich.<br>
<br>
-- <br>
Richard Jones, Virtualization Group, Red Hat <a href="http://people.redhat.com/~rjones" rel="noreferrer" target="_blank">http://people.redhat.com/~rjones</a><br>
Read my programming and virtualization blog: <a href="http://rwmj.wordpress.com" rel="noreferrer" target="_blank">http://rwmj.wordpress.com</a><br>
Fedora Windows cross-compiler. Compile Windows programs, test, and<br>
build Windows installers. Over 100 libraries supported.<br>
<a href="http://fedoraproject.org/wiki/MinGW" rel="noreferrer" target="_blank">http://fedoraproject.org/wiki/MinGW</a><br>
<br>
</blockquote></div>