Fails to build with Python 3.7
I'm getting the following compile error when trying to build screencloud git master with Python 3.7:
[ 65%] Building CXX object CMakeFiles/screencloud.dir/src/uploaders/pythonuploader.cpp.o
In file included from /usr/include/python3.7m/pystate.h:11,
from /usr/include/python3.7m/traceback.h:8,
from /usr/include/python3.7m/Python.h:100,
from /usr/include/PythonQt/PythonQtPythonInclude.h:59,
from /usr/include/PythonQt/PythonQtUtils.h:45,
from /usr/include/PythonQt/PythonQt.h:45,
from /storage/linux/aur/screencloud-git/src/screencloud/src/plugin/pluginmanager.h:32,
from /storage/linux/aur/screencloud-git/src/screencloud/src/uploaders/pythonuploader.h:20,
from /storage/linux/aur/screencloud-git/src/screencloud/src/uploaders/pythonuploader.cpp:15:
/usr/include/python3.7m/pythread.h:122:5: error: #error "Require native threads. See https://bugs.python.org/issue31370"
# error "Require native threads. See https://bugs.python.org/issue31370"
^~~~~
/usr/include/python3.7m/pythread.h:131:5: error: ‘NATIVE_TSS_KEY_T’ does not name a type; did you mean ‘HAVE_SSIZE_T’?
NATIVE_TSS_KEY_T _key;
^~~~~~~~~~~~~~~~
HAVE_SSIZE_T
make[2]: *** [CMakeFiles/screencloud.dir/build.make:618: CMakeFiles/screencloud.dir/src/uploaders/pythonuploader.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/screencloud.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
It was building fine with Python 3.6.6.
- Using Arch Linux x86_64, currently with:
- gcc 8.2.0
- Python 3.7.0
- Qt 5.11.1
- PythonQt 3.2
The entire app broke for me when I updated.
I maintain the git package in the AUR, it now uses Python 2.
I hope this issue is solved soon to switch back to Python 3.
@AlfredoRamos I tried installing screencloud-git in the AUR and I'm still getting errors. Here's the last bit of it but I can provide the entire thing if you want:
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib/libPythonQt-Qt5-Python3.so: undefined reference to `PyExc_SystemError'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib/libPythonQt-Qt5-Python3.so: undefined reference to `PyFloat_Type'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib/libPythonQt-Qt5-Python3.so: undefined reference to `PyCode_Type'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib/libPythonQt-Qt5-Python3.so: undefined reference to `Py_NoSiteFlag'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib/libPythonQt-Qt5-Python3.so: undefined reference to `PyImport_ReloadModule'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib/libPythonQt-Qt5-Python3.so: undefined reference to `PyDict_Update'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib/libPythonQt-Qt5-Python3.so: undefined reference to `PyType_GenericAlloc'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib/libPythonQt-Qt5-Python3.so: undefined reference to `PyImport_ExecCodeModule'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib/libPythonQt-Qt5-Python3.so: undefined reference to `PyList_New'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib/libPythonQt-Qt5-Python3.so: undefined reference to `PyUnicode_DecodeUTF16'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib/libPythonQt-Qt5-Python3.so: undefined reference to `PyObject_SetAttr'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib/libPythonQt-Qt5-Python3.so: undefined reference to `PyLong_FromUnsignedLong'
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib/libPythonQt-Qt5-Python3.so: undefined reference to `PyTuple_Size'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/screencloud.dir/build.make:1107: screencloud-1.4.0] Error 1
make[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/screencloud.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
==> ERROR: A failure occurred in package().
Aborting...
:: failed to build screencloud-git package(s)
https://github.com/olav-st/screencloud/issues/325
I am getting something similar but looks like its failing in a different location if I am looking at it right.
@FatBoyXPC It seems that the problem is PythonQt. I tested the package before pushing the changes to the AUR so I need more info.
To avoid off-topic in this issue, please post the link (https://pastebin.osuosl.org/) with the full build output in the AUR.
@AlfredoRamos
Here is what happened with version 1.4.0-1 from the AUR.
Here is what happened when trying to install screencloud-git-latest from the AUR.
@FatBoyXPC I can't reproduce the issue with PythonQt. Upgrade your system and rebuild pythonqt, it seems that it's trying to use an old version of Python (3.6).
P.S.: I only maintain screencloud-git and pythonqt, you'll need to inform the other maintainer.
@AlfredoRamos Okay, rebuilding pythonqt fixed the problem! Thanks! I'd like to be able to troubleshoot this better in the future, so can you help me out with how you made that determination?
I saw all the PythonQt errors as well but didn't know what to make of it. Since you mentioned python 3.6 I looked for that in the first paste, and I see this line: /usr/bin/ld: warning: libpython3.6m.so.1.0, needed by /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib/libPythonQt-Qt5-Python3.so, not found (try using -rpath or -rpath-link). Is that what clued you in?
Okay, rebuilding pythonqt fixed the problem!
Please, do not disturb this thread. There is nothing fixed here yet. This thread is about the upstream build issue with Python 3.7, and not about AUR issues.
I think this is not the appropriate place to talk about AUR issues. Please use the proper AUR pages to talk about AUR problems, or use any other Arch Linux support channels.
Peace.
This issue has had no activity in the last 60 days. Please add a reply if you want to keep this issue active, otherwise it will be automatically closed after 30 days.