Bug 1101626
Summary: | python scripting support is missing | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Maurizio Paolini <paolini> |
Component: | kig | Assignee: | Than Ngo <than> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | 21 | CC: | jgrulich, jreznik, kevin, rdieter, rnovacek, than |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | kig-4.14.3-3.fc21 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-07-18 02:07:01 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1102667 | ||
Bug Blocks: |
Description
Maurizio Paolini
2014-05-27 16:03:43 UTC
May be a boost-python issue, libboost-python is not linked to libpython and has missing symbols on my box. ldd -r /usr/lib64/libboost_python.so that said, kig explicitly links python too, so that shouldnt be an issue. Both my laptop and my workstation use kernel-PAE. The libboost_python.so lib seems fine: # ldd /usr/lib/libboost_python.so linux-gate.so.1 => (0xb7751000) libutil.so.1 => /lib/libutil.so.1 (0x45417000) libpthread.so.0 => /lib/libpthread.so.0 (0x41a93000) libdl.so.2 => /lib/libdl.so.2 (0x41a8c000) librt.so.1 => /lib/librt.so.1 (0x41b5c000) libstdc++.so.6 => /lib/libstdc++.so.6 (0x41e97000) libm.so.6 => /lib/libm.so.6 (0x41ab0000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x41b12000) libc.so.6 => /lib/libc.so.6 (0x418cc000) /lib/ld-linux.so.2 (0x418a8000) as of libpython, I have # ls -l /usr/lib/libpython* lrwxrwxrwx 1 root root 19 Feb 25 15:27 /usr/lib/libpython2.7.so -> libpython2.7.so.1.0 -r-xr-xr-x 1 root root 1661236 Feb 19 14:48 /usr/lib/libpython2.7.so.1.0 -rwxr-xr-x 1 root root 2300496 Mar 5 09:23 /usr/lib/libpython3.3m.so.1.0 -rwxr-xr-x 1 root root 6068 Mar 5 09:23 /usr/lib/libpython3.so Anyway, can you reproduce the problem? I am pretty sure that kig *had* python support with Fedora 20 until some recent update... Try ldd with -r option: -r --function-relocs Perform relocations for both data objects and functions, and report any missing objects or functions (ELF only). how recent? I'm wondering if this may be related, https://bugs.kde.org/show_bug.cgi?id=320807 that's the only relatively recent commit in kig I see touching the boost/python stuff. Ooops: actually it seems that *there is* python scripting support! Strangely I cannot find the menu entry to create a new script! Anyway, when compiling from the git sources some saved files with python scripting do not work and generate the error: $ kig heptagonal_tessellation.kig kig(4431)/kdeui (kdelibs): Attempt to use QAction "edit_undo" with KXMLGUIFactory! kig(4431)/kdeui (kdelibs): Attempt to use QAction "edit_redo" with KXMLGUIFactory! Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: /usr/lib/python2.7/lib-dynload/math.so: undefined symbol: PyFloat_Type This seems related to you previous post. Indeed here is the ldd output... it seems there are *many* undefined symbols, how can I fix that? However: the "missing python icon" suggests that the problem is actually at the packaging level, is that so? # ldd -r /usr/lib/libboost_python.so linux-gate.so.1 => (0xb77f1000) libutil.so.1 => /lib/libutil.so.1 (0x45417000) libpthread.so.0 => /lib/libpthread.so.0 (0x41a93000) libdl.so.2 => /lib/libdl.so.2 (0x41a8c000) librt.so.1 => /lib/librt.so.1 (0x41b5c000) libstdc++.so.6 => /lib/libstdc++.so.6 (0x41e97000) libm.so.6 => /lib/libm.so.6 (0x41ab0000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x41b12000) libc.so.6 => /lib/libc.so.6 (0x418cc000) /lib/ld-linux.so.2 (0x418a8000) undefined symbol: PyList_Insert (/usr/lib/libboost_python.so) undefined symbol: PyString_InternFromString (/usr/lib/libboost_python.so) undefined symbol: PyString_AsString (/usr/lib/libboost_python.so) undefined symbol: PyUnicodeUCS4_FromEncodedObject (/usr/lib/libboost_python.so) undefined symbol: PyImport_Import (/usr/lib/libboost_python.so) undefined symbol: PyNumber_InPlaceRshift (/usr/lib/libboost_python.so) undefined symbol: PyObject_CallMethod (/usr/lib/libboost_python.so) undefined symbol: PyIter_Next (/usr/lib/libboost_python.so) undefined symbol: PyNumber_Remainder (/usr/lib/libboost_python.so) undefined symbol: PyType_Ready (/usr/lib/libboost_python.so) undefined symbol: _PyEval_SliceIndex (/usr/lib/libboost_python.so) undefined symbol: PyFile_AsFile (/usr/lib/libboost_python.so) undefined symbol: PyLong_FromUnsignedLong (/usr/lib/libboost_python.so) undefined symbol: PyMem_Free (/usr/lib/libboost_python.so) [...] Still, there is the problem that in no way I am able to access the panel for creating a new Python Script... The corresponding action seems to have vanished. Mind filing a bug upstream @ bugs.kde.org ? (and I'll look into the odd libboost_python linking issue in fedora) I filed a bug report as you suggestes: https://bugs.kde.org/show_bug.cgi?id=335550 and now the problem has been fixed in the latest git master, and perhaps in branch KDE/4.13. I still have problems when trying to use math functions (sin, exp, ecc), when using the source-compiled kig. (In reply to Rex Dieter from comment #8) > Mind filing a bug upstream @ bugs.kde.org ? (In reply to Rex Dieter from comment #9) > (and I'll look into the odd libboost_python linking issue in fedora) I opened a new bug report in bugs.kde.org https://bugs.kde.org/show_bug.cgi?id=335965 about the mathematical functions that are unusable in python scripts. The problem could not be reproduced by the maintainer (Gentoo distribution) and the feeling is that this is a problem specific to Fedora. What is the best way to deal with the problem? Using mathematical functions is still impossible under Fedora. Are there any news on the subject? The error given by kig concerns PyFloat_Type (undefined). Indeed I have: $ ldd -r /usr/lib/libboost_python.so 2>&1 | grep -i PyFloat_Type undefined symbol: PyFloat_Type (/usr/lib/libboost_python.so) So there seems to be some library missing, but I have no idea what should be installed. I have installed: python-* (many of them) python-devel boost boost-devel boost-python Still debating if this is a kig or boost bug (ie, who needs to link python libraries), see also bug #1102667 (In reply to Rex Dieter from comment #13) > Still debating if this is a kig or boost bug (ie, who needs to link python > libraries), see also bug #1102667 Thank you for investigating the issue! Is there any workaround while waiting for a clean resolution? I'm aware of no workaround yet, sorry. We are now at Fedora 21, with python 2.7.8-7.fc21, boost 1.55.0-8.fc21, kig 4.14.3-1.fc21. The problem is still there: I am not able to access mathematical functions from a python script. This is *very* unfortunate! Any news? I am not able at the moment to post in the upstream bug report https://bugs.kde.org/show_bug.cgi?id=335965 However it is marked as "RESOLVED DOWNSTREAM" upstream bug is now re-opened kig-4.14.3-3.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/kig-4.14.3-3.fc21 Package kig-4.14.3-3.fc21: * should fix your issue, * was pushed to the Fedora 21 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing kig-4.14.3-3.fc21' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2015-11045/kig-4.14.3-3.fc21 then log in and leave karma (feedback). kig-4.14.3-3.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report. |