Optware / Optware-ng

279 stars 52 forks source link

Python3 on ARMv5 legacy - does not work - "can't resolve symbol" #317

Open paponius opened 5 years ago

paponius commented 5 years ago

I hope this is not just me, I tried all I could think of, but honestly python is not my best friend. The installation: "ipkg install python3" goes well, but anything else I try, ends with an error. "python3 get-pip.py" or even starting python3 and issuing "help()" command brings similar error. The device is WD My Book "white light", ~ # uname -a Linux xxx 2.6.24.4 #1 Thu Apr 1 16:43:58 CST 2010 armv5tejl unknown the python3 package is from ARMv5 legacy feed everything else works fine so far, also python v2, (except for what I mention in second part of this report below)

>>> help() /opt/bin/python3.7: symbol 'epoll_create1': can't resolve symbol Traceback (most recent call last): File "", line 1, in File "/opt/lib/python3.7/_sitebuiltins.py", line 102, in call import pydoc File "/opt/lib/python3.7/pydoc.py", line 66, in import platform File "/opt/lib/python3.7/platform.py", line 116, in import sys, os, re, subprocess File "/opt/lib/python3.7/subprocess.py", line 153, in import select ImportError: unknown dlopen() error

AND

~ # python3 get-pip.py

/opt/bin/python3.7: symbol 'epoll_create1': can't resolve symbol Traceback (most recent call last): File "get-pip.py", line 20890, in main() File "get-pip.py", line 197, in main bootstrap(tmpdir=tmpdir) File "get-pip.py", line 82, in bootstrap import pip._internal File "/tmp/tmp2py07tsz/pip.zip/pip/_internal/init.py", line 19, in File "/tmp/tmp2py07tsz/pip.zip/pip/_vendor/urllib3/init.py", line 8, in File "/tmp/tmp2py07tsz/pip.zip/pip/_vendor/urllib3/connectionpool.py", line 7, in File "/opt/lib/python3.7/socket.py", line 52, in import os, sys, io, selectors File "/opt/lib/python3.7/selectors.py", line 12, in import select ImportError: unknown dlopen() error

in a connection to this problem, I am trying to get python3 working just to get WS-Discovery. I guess to keep Python3 script in loop is kind of an overkill for that device. It works great as is and there is not much more I would want of that poor old thing to perform. But not seeing it in Network tab in Windows OS is kind of sad. Optware update of Samba with SMB2 is working well, this enabled the drive on 1511 Windows (where Network tab is ignoring NETBIOS names and SMB1 is disabled by default) Now there is talk about WS-Discovery being maybe supported soon in Samba, or/and about MS giving in and adding mDNS support for discovery. But I don't see neither happening too soon. (as it didn't in past 3 years) Any thoughts, alternatives, ideas? I am trying to go with this: https://github.com/christgau/wsdd I also tried https://pypi.org/project/WSDiscovery/1.1.1/#description the latter should also run on python v2, I did get the PIP and wheel installed for v2, but there were several issues like unicode strings, and it did seemed too complicated script anyway so I gave up there. Does anybody know of a better way to announce presence using WSDD on a small NAS? Maybe a combination of few commands sawed in a shell script, or a program? I looked over my QNAP (Intel) NAS's wsdd, it's also Python3 of unspecified origin. Is there really no better way?