Open jostyee opened 6 years ago
I think that it is the bug in the VLC bindings generator that you found above which was only fixed after we generated our copy.
I'll update our bindings in the ratings branch but I would need you to check whether that fixes the issue since I don't own any OS X machines.
https://github.com/and3rson/clay/commit/67d9f97897eb3ee1c40c7cb54814e18e0a4f1658 doens't work...
$ git checkout ratings
Branch 'ratings' set up to track remote branch 'ratings' from 'origin'.
Switched to a new branch 'ratings'
(clay)
$ virtualenv --system-site-packages --prompt="(clay) " .env
Using base prefix '/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6'
New python executable in /Users/yee/dev/repo/clay/.env/bin/python3.6
Not overwriting existing python script /Users/yee/dev/repo/clay/.env/bin/python (you must use /Users/yee/dev/repo/clay/.env/bin/python3.6)
Installing setuptools, pip, wheel...done.
(clay)
$ source .env/bin/activate
(clay)
$ pip install -r requirements.txt
Requirement already satisfied: gmusicapi==10.1.2 in ./.env/lib/python3.6/site-packages (from -r requirements.txt (line 1)) (10.1.2)
Requirement already satisfied: PyYAML==3.12 in ./.env/lib/python3.6/site-packages (from -r requirements.txt (line 2)) (3.12)
Requirement already satisfied: urwid==2.0.0 in ./.env/lib/python3.6/site-packages (from -r requirements.txt (line 3)) (2.0.0)
Requirement already satisfied: codename==1.1 in ./.env/lib/python3.6/site-packages (from -r requirements.txt (line 4)) (1.1)
Requirement already satisfied: requests!=1.2.0,!=2.12.0,!=2.12.1,!=2.12.2,!=2.2.1,!=2.8.0,!=2.8.1,>=1.1.0 in ./.env/lib/python3.6/site-packages (from gmusicapi==10.1.2->-r requirements.txt (line 1)) (2.18.4)
Requirement already satisfied: oauth2client>=1.1 in ./.env/lib/python3.6/site-packages (from gmusicapi==10.1.2->-r requirements.txt (line 1)) (4.1.2)
Requirement already satisfied: future in ./.env/lib/python3.6/site-packages (from gmusicapi==10.1.2->-r requirements.txt (line 1)) (0.16.0)
Requirement already satisfied: gpsoauth>=0.2.0 in ./.env/lib/python3.6/site-packages (from gmusicapi==10.1.2->-r requirements.txt (line 1)) (0.4.1)
Requirement already satisfied: validictory!=0.9.2,>=0.8.0 in ./.env/lib/python3.6/site-packages (from gmusicapi==10.1.2->-r requirements.txt (line 1)) (1.1.2)
Requirement already satisfied: MechanicalSoup>=0.4.0 in ./.env/lib/python3.6/site-packages (from gmusicapi==10.1.2->-r requirements.txt (line 1)) (0.10.0)
Requirement already satisfied: six>=1.9.0 in ./.env/lib/python3.6/site-packages (from gmusicapi==10.1.2->-r requirements.txt (line 1)) (1.11.0)
Requirement already satisfied: python-dateutil!=2.0,>=1.3 in ./.env/lib/python3.6/site-packages (from gmusicapi==10.1.2->-r requirements.txt (line 1)) (2.7.3)
Requirement already satisfied: proboscis>=1.2.5.1 in ./.env/lib/python3.6/site-packages (from gmusicapi==10.1.2->-r requirements.txt (line 1)) (1.2.6.0)
Requirement already satisfied: protobuf>=3.0.0 in ./.env/lib/python3.6/site-packages (from gmusicapi==10.1.2->-r requirements.txt (line 1)) (3.5.2.post1)
Requirement already satisfied: mutagen>=1.34 in ./.env/lib/python3.6/site-packages (from gmusicapi==10.1.2->-r requirements.txt (line 1)) (1.40.0)
Requirement already satisfied: decorator>=3.3.1 in ./.env/lib/python3.6/site-packages (from gmusicapi==10.1.2->-r requirements.txt (line 1)) (4.3.0)
Requirement already satisfied: mock>=0.7.0 in ./.env/lib/python3.6/site-packages (from gmusicapi==10.1.2->-r requirements.txt (line 1)) (2.0.0)
Requirement already satisfied: appdirs>=1.1.0 in ./.env/lib/python3.6/site-packages (from gmusicapi==10.1.2->-r requirements.txt (line 1)) (1.4.3)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in ./.env/lib/python3.6/site-packages (from requests!=1.2.0,!=2.12.0,!=2.12.1,!=2.12.2,!=2.2.1,!=2.8.0,!=2.8.1,>=1.1.0->gmusicapi==10.1.2->-r requirements.txt (line 1)) (1.22)
Requirement already satisfied: certifi>=2017.4.17 in ./.env/lib/python3.6/site-packages (from requests!=1.2.0,!=2.12.0,!=2.12.1,!=2.12.2,!=2.2.1,!=2.8.0,!=2.8.1,>=1.1.0->gmusicapi==10.1.2->-r requirements.txt (line 1)) (2018.4.16)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in ./.env/lib/python3.6/site-packages (from requests!=1.2.0,!=2.12.0,!=2.12.1,!=2.12.2,!=2.2.1,!=2.8.0,!=2.8.1,>=1.1.0->gmusicapi==10.1.2->-r requirements.txt (line 1)) (3.0.4)
Requirement already satisfied: idna<2.7,>=2.5 in ./.env/lib/python3.6/site-packages (from requests!=1.2.0,!=2.12.0,!=2.12.1,!=2.12.2,!=2.2.1,!=2.8.0,!=2.8.1,>=1.1.0->gmusicapi==10.1.2->-r requirements.txt (line 1)) (2.6)
Requirement already satisfied: rsa>=3.1.4 in ./.env/lib/python3.6/site-packages (from oauth2client>=1.1->gmusicapi==10.1.2->-r requirements.txt (line 1)) (3.4.2)
Requirement already satisfied: pyasn1-modules>=0.0.5 in ./.env/lib/python3.6/site-packages (from oauth2client>=1.1->gmusicapi==10.1.2->-r requirements.txt (line 1)) (0.2.1)
Requirement already satisfied: httplib2>=0.9.1 in ./.env/lib/python3.6/site-packages (from oauth2client>=1.1->gmusicapi==10.1.2->-r requirements.txt (line 1)) (0.11.3)
Requirement already satisfied: pyasn1>=0.1.7 in ./.env/lib/python3.6/site-packages (from oauth2client>=1.1->gmusicapi==10.1.2->-r requirements.txt (line 1)) (0.4.3)
Requirement already satisfied: pycryptodomex>=3.0 in ./.env/lib/python3.6/site-packages (from gpsoauth>=0.2.0->gmusicapi==10.1.2->-r requirements.txt (line 1)) (3.6.1)
Requirement already satisfied: lxml in ./.env/lib/python3.6/site-packages (from MechanicalSoup>=0.4.0->gmusicapi==10.1.2->-r requirements.txt (line 1)) (4.2.1)
Requirement already satisfied: beautifulsoup4 in ./.env/lib/python3.6/site-packages (from MechanicalSoup>=0.4.0->gmusicapi==10.1.2->-r requirements.txt (line 1)) (4.6.0)
Requirement already satisfied: setuptools in ./.env/lib/python3.6/site-packages (from protobuf>=3.0.0->gmusicapi==10.1.2->-r requirements.txt (line 1)) (39.2.0)
Requirement already satisfied: pbr>=0.11 in ./.env/lib/python3.6/site-packages (from mock>=0.7.0->gmusicapi==10.1.2->-r requirements.txt (line 1)) (4.0.3)
neovim 0.2.6 requires greenlet, which is not installed.
neovim 0.2.6 requires msgpack>=0.5.0, which is not installed.
(clay)
$ ./clay/app.py
Traceback (most recent call last):
File "./clay/app.py", line 16, in <module>
from clay.player import player
File "./clay/player.py", line 16, in <module>
from clay import vlc, meta
File "./clay/vlc.py", line 203, in <module>
dll, plugin_path = find_lib()
File "./clay/vlc.py", line 194, in find_lib
ctypes.CDLL('libvlccore.dylib')
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ctypes/__init__.py", line 348, in __init__
self._handle = _dlopen(self._name, mode)
OSError: dlopen(libvlccore.dylib, 6): image not found
(clay)
I have the same issue. This are my tests and hypotesis. I may helps somebody
First, checks the dylib defined on vlc.py (/clay/vlc.py#L179)
$ otool -L /Applications/VLC.app/Contents/MacOS/lib/libvlc.dylib /Applications/VLC.app/Contents/MacOS/lib/libvlc.dylib: @rpath/libvlc.dylib (compatibility version 12.0.0, current version 12.0.0) @rpath/libvlccore.dylib (compatibility version 10.0.0, current version 10.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4) /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
From python console I try the following:
import ctypes d=ctypes.CDLL('/Applications/VLC.app/Contents/MacOS/lib/libvlc.dylib') Traceback (most recent call last): File "
", line 1, in File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ctypes/init.py", line 348, in init self._handle = _dlopen(self._name, mode) OSError: dlopen(/Applications/VLC.app/Contents/MacOS/lib/libvlc.dylib, 6): Library not loaded: @rpath/libvlccore.dylib Referenced from: /Applications/VLC.app/Contents/MacOS/lib/libvlc.dylib Reason: image not found
My guess is that ctypes does not follows @rpath on .dylib osx's symbolic links. (I've made some experiments with install_name_tool but only broke dylib 😔)
I'm experiencing the same thing. I'll try to take a look, but no guarantees.
The fix that worked for me was: https://github.com/oaubert/python-vlc/issues/37#issuecomment-363491486
But now I get "illegal hardware instruction" (Im building from source)
@victorfontes
Thanks for that tip, I'll look into it.
I am guessing the bug is still on the part of VLC or another of our dependencies? Clay is pure Python so I don't think that there is much room for us to have illegal hardware instructions so it must be something written in CPython.
Also, complete aside but I noticed it after posting, but I am the only who gets profoundly uncomfortable with getting the label collaborator
besides their name?
Hi,
I tried to install clay via pipy:
but can't start it:
how can I resolve this problem? there was a (maybe) related issue: https://github.com/oaubert/python-vlc/issues/37