Fails to build with Python 3.8
Both meson and autotools. Python 3.7 builds fine with the same configuration.
meson:
cc -o plugin/libgstpython.so 'plugin/5e689e2@@gstpython@sha/gstpythonplugin.c.o' -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libgstpython.so /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libglib-2.0.so /usr/lib/x86_64-linux-gnu/libgstbase-1.0.so -Wl,--export-dynamic /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so -Wl,--end-group -pthread
/usr/bin/ld: plugin/5e689e2@@gstpython@sha/gstpythonplugin.c.o: in function `gst_python_plugin_load_file':
/home/slomo/Projects/debian/pkg-gstreamer/tmp/gst-python-1.16.2/build/../plugin/gstpythonplugin.c:50: undefined reference to `PyImport_AddModule'
/usr/bin/ld: /home/slomo/Projects/debian/pkg-gstreamer/tmp/gst-python-1.16.2/build/../plugin/gstpythonplugin.c:58: undefined reference to `PyModule_GetDict'
/usr/bin/ld: /home/slomo/Projects/debian/pkg-gstreamer/tmp/gst-python-1.16.2/build/../plugin/gstpythonplugin.c:60: undefined reference to `PyImport_ImportModuleLevel'
/usr/bin/ld: /home/slomo/Projects/debian/pkg-gstreamer/tmp/gst-python-1.16.2/build/../plugin/gstpythonplugin.c:69: undefined reference to `PyObject_GetAttrString'
/usr/bin/ld: /home/slomo/Projects/debian/pkg-gstreamer/tmp/gst-python-1.16.2/build/../plugin/gstpythonplugin.c:77: undefined reference to `PyArg_ParseTuple'
/usr/bin/ld: /home/slomo/Projects/debian/pkg-gstreamer/tmp/gst-python-1.16.2/build/../plugin/gstpythonplugin.c:79: undefined reference to `PyErr_Print'
/usr/bin/ld: /home/slomo/Projects/debian/pkg-gstreamer/tmp/gst-python-1.16.2/build/../plugin/gstpythonplugin.c:80: undefined reference to `PyErr_Clear'
autotools:
checking for libraries required to embed python... no
configure: error: Python libs not found. Windows requires Python modules to be explicitly linked to libpython.
[...]
configure:11252: gcc -o conftest -g -O2 conftest.c -L/usr/lib/python3.8/config-3.8-x86_64-linux-gnu -L/usr/lib -lcrypt -lpthread -ldl -lutil -lm -lm >&5
/usr/bin/ld: /tmp/ccKHTx8h.o: in function `main':
/home/slomo/Projects/debian/pkg-gstreamer/tmp/gst-python-1.16.2/conftest.c:37: undefined reference to `Py_Initialize'
collect2: error: ld returned 1 exit status
configure:11252: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "GStreamer GObject Introspection overrides for Python "
| #define PACKAGE_TARNAME "gst-python"
| #define PACKAGE_VERSION "1.16.2"
| #define PACKAGE_STRING "GStreamer GObject Introspection overrides for Python 1.16.2"
| #define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer"
| #define PACKAGE_URL ""
| #define PACKAGE "gst-python"
| #define VERSION "1.16.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define GST_API_VERSION "1.0"
| #define GST_API_VERSION "1.0"
| #define PLUGINDIR "/usr/local/lib/gstreamer-1.0"
| /* end confdefs.h. */
|
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char Py_Initialize ();
| int
| main ()
| {
| return Py_Initialize ();
| ;
| return 0;
| }
configure:11256: result: no
configure:11257: error: Python libs not found. Windows requires Python modules to be explicitly linked to libpython.