screencloud icon indicating copy to clipboard operation
screencloud copied to clipboard

Fails to build with Python 3.7

Open dbermond opened this issue 7 years ago • 9 comments

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

dbermond avatar Aug 10 '18 23:08 dbermond

The entire app broke for me when I updated.

Ankatic avatar Aug 12 '18 01:08 Ankatic

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 avatar Aug 13 '18 02:08 AlfredoRamos

@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)

FatBoyXPC avatar Aug 14 '18 01:08 FatBoyXPC

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.

DanitiKain avatar Aug 14 '18 17:08 DanitiKain

@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 avatar Aug 14 '18 21:08 AlfredoRamos

@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 avatar Aug 15 '18 00:08 FatBoyXPC

@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 avatar Aug 15 '18 00:08 AlfredoRamos

@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?

FatBoyXPC avatar Aug 15 '18 01:08 FatBoyXPC

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.

dbermond avatar Aug 15 '18 01:08 dbermond

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.

github-actions[bot] avatar Apr 25 '24 02:04 github-actions[bot]