Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#68132 - [obs-studio] Cannot run python scripts due to packaging error

Attached to Project: Community Packages
Opened by Tom B (TomB) - Wednesday, 07 October 2020, 11:38 GMT
Last edited by freswa (frederik) - Wednesday, 07 October 2020, 17:19 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Jonathan Steel (jsteel)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

When trying to run a Python script from within obs-studio.

I originally thought this was an OBS issue so reported it there ( https://github.com/obsproject/obs-studio/issues/3565 ) but they say it's a packaging issue.

The error message that comes up is:

[url-text.py] Traceback (most recent call last):
[url-text.py] File "/usr/share/obs/obs-plugins/frontend-tools/scripts/url-text.py", line 2, in <module>
[url-text.py] import urllib.request
[url-text.py] File "/usr/lib/python3.8/urllib/request.py", line 84, in <module>
[url-text.py] import base64
[url-text.py] File "/usr/lib/python3.8/base64.py", line 10, in <module>
[url-text.py] import struct
[url-text.py] File "/usr/lib/python3.8/struct.py", line 13, in <module>
[url-text.py] from _struct import *
[url-text.py] ImportError: /usr/lib/python3.8/lib-dynload/_struct.cpython-38-x86_64-linux-gnu.so: undefined symbol: _PyFloat_Pack4


Running a script on the command line that imports urllib.request works fine, it's only when running it through OBS it fails. I also tried writing a script that uses os.execute(). On command line it works, when loading through OBS it fails with a similar error.



Additional info:
* package version(s)

Python 3.8.5
OBS Studio 26.0.0 but the last version of 25.0.8 was also affected (These were the only versions I tested)

* config and/or log files etc.

* link to upstream bug report, if any

https://github.com/obsproject/obs-studio/issues/3565



Steps to reproduce:

1. Open obs-studio
2. Go to tools -> scripts
3. Click the + (Add) button
4. Select the url-text.py script which comes with OBS
5. Open the script log
This task depends upon

Closed by  freswa (frederik)
Wednesday, 07 October 2020, 17:19 GMT
Reason for closing:  Fixed
Additional comments about closing:  obs-studio-26.0.2-2
Comment by Morten Linderud (Foxboron) - Wednesday, 07 October 2020, 11:48 GMT
Open python and type `import urllib.request`. Does it still happen?
Comment by Morten Linderud (Foxboron) - Wednesday, 07 October 2020, 11:49 GMT
Ah no. Partial upgrade. Please update your entire system.
Comment by Tom B (TomB) - Wednesday, 07 October 2020, 13:37 GMT
  • Field changed: Percent Complete (100% → 0%)
This is not an upgrade issue or a mirror issue. System is up to date.
Comment by freswa (frederik) - Wednesday, 07 October 2020, 13:38 GMT
First of all, your python version is out-of-date, so Foxboron is right in there.
I can reproduce the issue and just did a fresh build of 26.0.2 but the error persists.
This seems to be an issue with python 3.8 as mentioned in the github issue. Can't do anything about it.
Comment by Eli Schwartz (eschwartz) - Wednesday, 07 October 2020, 17:05 GMT
https://github.com/obsproject/obs-studio/pull/3335

They really need to merge this to fix their current dlopen mess. We could patch it in though.

Loading...