Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Undefined symbol: mpv_render_context_create #163

Open
mattfj10 opened this issue Sep 4, 2021 · 5 comments
Open

Undefined symbol: mpv_render_context_create #163

mattfj10 opened this issue Sep 4, 2021 · 5 comments

Comments

@mattfj10
Copy link

mattfj10 commented Sep 4, 2021

I recently installed hypnotix via the .deb file, however, when I try to launch it I get an exception:

  File "/usr/lib/hypnotix/hypnotix.py", line 24, in <module>
    import mpv
  File "/usr/lib/hypnotix/mpv.py", line 567, in <module>
    _handle_func('mpv_render_context_create',               [MpvRenderCtxHandle, MpvHandle, POINTER(MpvRenderParam)],   c_int, ec_errcheck,     ctx=None)
  File "/usr/lib/hypnotix/mpv.py", line 478, in _handle_func
    func = getattr(backend, name)
  File "/usr/lib/python3.6/ctypes/__init__.py", line 361, in __getattr__
    func = self.__getitem__(name)
  File "/usr/lib/python3.6/ctypes/__init__.py", line 366, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/lib/x86_64-linux-gnu/libmpv.so.1: undefined symbol: mpv_render_context_create
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 154, in apport_excepthook
    os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_lib_hypnotix_hypnotix.py.1000.crash'

Original exception was:
Traceback (most recent call last):
  File "/usr/lib/hypnotix/hypnotix.py", line 24, in <module>
    import mpv
  File "/usr/lib/hypnotix/mpv.py", line 567, in <module>
    _handle_func('mpv_render_context_create',               [MpvRenderCtxHandle, MpvHandle, POINTER(MpvRenderParam)],   c_int, ec_errcheck,     ctx=None)
  File "/usr/lib/hypnotix/mpv.py", line 478, in _handle_func
    func = getattr(backend, name)
  File "/usr/lib/python3.6/ctypes/__init__.py", line 361, in __getattr__
    func = self.__getitem__(name)
  File "/usr/lib/python3.6/ctypes/__init__.py", line 366, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/lib/x86_64-linux-gnu/libmpv.so.1: undefined symbol: mpv_render_context_create

This happens whenever I try to launch, no UI shows up or any indication of something being wrong, I have to run this through a terminal to get the log output. Has anyone else had this issue before? I can't find any reference to it on the github issues page for this project.

@lulol
Copy link
Contributor

lulol commented Sep 5, 2021

Not sure if would be of any help, but do you have libmpv1 package installed/updated?

In my LM20.1 just searched for your error and checked:

$ dpkg -S /usr/lib/x86_64-linux-gnu/libmpv.so.1
libmpv1:amd64: /usr/lib/x86_64-linux-gnu/libmpv.so.1

$ dpkg -l libmpv1
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version         Architecture Description
+++-==============-===============-============-=======================================================
ii  libmpv1:amd64  0.32.0-1ubuntu1 amd64        video player based on MPlayer/mplayer2 (client library)

$ nm --dynamic /usr/lib/x86_64-linux-gnu/libmpv.so.1 | grep mpv_render_context_create
0000000000124e20 T mpv_render_context_create

$ apt-cache depends hypnotix
hypnotix
  Depends: gir1.2-xapp-1.0
  Depends: python3
  Depends: python3-gi
  Depends: python3-setproctitle
  Depends: xapps-common
 |Depends: dconf-gsettings-backend
  Depends: <gsettings-backend>
    dconf-gsettings-backend
    xfconf-gsettings-backend
  Depends: libmpv1
  Depends: python3-imdbpy
  Depends: python3-gi-cairo
  Recommends: youtube-dl

The mpv package is not listed as a dependency for hypnotix but I have it installed. Not sure if it's necessary. You may try to install it also if not already installed.

@Axel-Erfurt
Copy link

Which deb file do you have installed?

The one from hypnotix Releases ist too old.

Try Version 2.0 from pkgs.org or from my fork Releases

@mattfj10
Copy link
Author

mattfj10 commented Sep 6, 2021

Not sure if would be of any help, but do you have libmpv1 package installed/updated?

In my LM20.1 just searched for your error and checked:

$ dpkg -S /usr/lib/x86_64-linux-gnu/libmpv.so.1
libmpv1:amd64: /usr/lib/x86_64-linux-gnu/libmpv.so.1

$ dpkg -l libmpv1
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version         Architecture Description
+++-==============-===============-============-=======================================================
ii  libmpv1:amd64  0.32.0-1ubuntu1 amd64        video player based on MPlayer/mplayer2 (client library)

$ nm --dynamic /usr/lib/x86_64-linux-gnu/libmpv.so.1 | grep mpv_render_context_create
0000000000124e20 T mpv_render_context_create

$ apt-cache depends hypnotix
hypnotix
  Depends: gir1.2-xapp-1.0
  Depends: python3
  Depends: python3-gi
  Depends: python3-setproctitle
  Depends: xapps-common
 |Depends: dconf-gsettings-backend
  Depends: <gsettings-backend>
    dconf-gsettings-backend
    xfconf-gsettings-backend
  Depends: libmpv1
  Depends: python3-imdbpy
  Depends: python3-gi-cairo
  Recommends: youtube-dl

The mpv package is not listed as a dependency for hypnotix but I have it installed. Not sure if it's necessary. You may try to install it also if not already installed.

Ahh I'm on Linux mint 19, do you think that's a likely issue here? Perhaps version incompatibility with some dependencies?

@Axel-Erfurt
Copy link

Axel-Erfurt commented Sep 6, 2021

The mpv package is not listed as a dependency for hypnotix but I have it installed. Not sure if it's necessary. You may try to install it also if not already installed.

hypnotix already has it, it's in the same folder as hypnotix.py

/usr/lib/hypnotix/mpv.py

@lulol
Copy link
Contributor

lulol commented Sep 7, 2021

Have checked the Ubuntu Bionic base package used by LM19 and libmpv1 is missing the mpv_render_context_create function.

So, you need a newer ibmpv1 version to make it work with hypnotix, either looking for someone that already compiled the mpv package for LM19 or doing it yourself.

Also #45, #92.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants