tizonia / tizonia-openmax-il

Command-line cloud music player for Linux with support for Spotify, Google Play Music, YouTube, SoundCloud, TuneIn, iHeartRadio, Plex servers and Chromecast devices.
https://tizonia.org
GNU Lesser General Public License v3.0
1.69k stars 85 forks source link

Current AUR build is broken on at least two levels #375

Closed ghost closed 6 years ago

ghost commented 6 years ago

Been wanting to try this app out and saw the PKGBUILD come up and thought I'd try it here on vanilla Arch. Been having a hell of a time debugging it and hunting down working lib requirements for pychromecast, but here's the latest error:

configure.ac:21: warning: unknown warning category 'extra'
configure.ac:31: installing './compile'
configure.ac:36: installing './config.guess'
configure.ac:36: installing './config.sub'
configure.ac:21: installing './install-sh'
configure.ac:21: installing './missing'
src/Makefile.am: installing './depcomp'
configure.ac:25: installing './compile'
configure.ac:20: installing './install-sh'
configure.ac:20: installing './missing'
configure: error: failed to find required module pychromecast
configure: error: ./configure failed for libtizchromecast
configure: error: ./configure failed for chromecast
configure: error: ./configure failed for clients

This is after manually installing the python2-pychromecast (and python3 for good measure) via the AUR, and verifying with pip. I thought I fixed it but not yet. I don't know shit about Chromecast or the Google API and/or SDK for CC device communication, but what I read suggests they dropped support for pychromecast a while ago. Not sure though.

Would it be possible to hack out the Chromecast portions in the make file(s) without breaking everything? I don't mind cloning and building by hand even with dependency hell. How should I proceed?

Kernel: 4.13.4-1-ARCH x86_64 - Desktop: Cinnamon 3.4.6 - Distro: Arch Linux

Build attempted with: Name : tizonia-all-git Version : 0.9.0.r12.gebb5c523-2

juanrubio commented 6 years ago

Hi!, thanks for your feedback.

Yes, I think the tizonia-all-git package will be broken on a frequent basis. There is another package that you should try instead. See:

As for the errors, as you have figured out, Chromecast support is in the making at the moment, so the -AUR -git package is not yet tracking the latest development changes. I will hopefully be updating it soon.

Let me know if you have any problems with the 0.9.0 package.

juanrubio commented 6 years ago

OK, tizonia-all-git should work now.

There is a problem with 'python2-pychromecast', I could not get it to install correctly. Instead, 'python2-pychromecast-git' installed just fine.

So I've just updated tizonia-all-git in AUR to include the missing pychromecast dependency.

Unfortunately, I've just learned by another user (see #376) that tizonia-all is broken by a different issue. So the AUR package to install right now is 'tizonia-all-git'.

sylveon commented 6 years ago
libtoolize: linking file 'm4/ltversion.m4'
libtoolize: linking file 'm4/lt~obsolete.m4'
configure.ac:21: warning: unknown warning category 'extra'
configure.ac:31: installing './compile'
configure.ac:36: installing './config.guess'
configure.ac:36: installing './config.sub'
configure.ac:21: installing './install-sh'
configure.ac:21: installing './missing'
src/Makefile.am: installing './depcomp'
configure.ac:25: installing './compile'
configure.ac:20: installing './install-sh'
configure.ac:20: installing './missing'
configure: error: failed to find required module pychromecast
configure: error: ./configure failed for libtizchromecast
configure: error: ./configure failed for chromecast
configure: error: ./configure failed for clients
==> ERROR: A failure occurred in build().
    Aborting...
:: failed to build tizonia-all-git package(s)
$ pacman -Q | grep chrome
python2-pychromecast-git 312.876ed6c-1

It doesn't seems to be finding it.

juanrubio commented 6 years ago

I can tell you that it definitely works on my Manjaro instance.

And yes, you and I have the same pychromecast version installed.

Strange. There are no complaints while checking the PKGBUILD buildtime/runtime dependencies but Tizonia's autoconf build system fails to locate the python module.

Autoconf would fail to locate the module if the PYTHON environment variables do not point to the right locations. See the trick in use in the PKGBUILD

prepare() {
  mkdir -p "$srcdir/path"
  # Tizonia expects Python 2
  ln -sf /usr/bin/python2 "$srcdir/path/python"
  ln -sf /usr/bin/python2-config "$srcdir/path/python-config"
}

build() {
    export PATH="$srcdir/path:$PATH"
    export PYTHON="/usr/bin/python2"
...

In my system, pychromecast is installed in this location:

$ locate pychromecast
/usr/lib/python2.7/site-packages/pychromecast
/usr/lib/python2.7/site-packages/pychromecast/__init__.py
/usr/lib/python2.7/site-packages/pychromecast/__init__.pyc
/usr/lib/python2.7/site-packages/pychromecast/__init__.pyo
/usr/lib/python2.7/site-packages/pychromecast/authority_keys_pb2.py
/usr/lib/python2.7/site-packages/pychromecast/authority_keys_pb2.pyc
/usr/lib/python2.7/site-packages/pychromecast/authority_keys_pb2.pyo
/usr/lib/python2.7/site-packages/pychromecast/cast_channel_pb2.py
/usr/lib/python2.7/site-packages/pychromecast/cast_channel_pb2.pyc
/usr/lib/python2.7/site-packages/pychromecast/cast_channel_pb2.pyo
/usr/lib/python2.7/site-packages/pychromecast/config.py
/usr/lib/python2.7/site-packages/pychromecast/config.pyc
/usr/lib/python2.7/site-packages/pychromecast/config.pyo
/usr/lib/python2.7/site-packages/pychromecast/controllers
/usr/lib/python2.7/site-packages/pychromecast/dial.py
/usr/lib/python2.7/site-packages/pychromecast/dial.pyc
/usr/lib/python2.7/site-packages/pychromecast/dial.pyo
/usr/lib/python2.7/site-packages/pychromecast/discovery.py
/usr/lib/python2.7/site-packages/pychromecast/discovery.pyc
/usr/lib/python2.7/site-packages/pychromecast/discovery.pyo
/usr/lib/python2.7/site-packages/pychromecast/error.py
/usr/lib/python2.7/site-packages/pychromecast/error.pyc
/usr/lib/python2.7/site-packages/pychromecast/error.pyo
/usr/lib/python2.7/site-packages/pychromecast/logging_pb2.py
/usr/lib/python2.7/site-packages/pychromecast/logging_pb2.pyc
/usr/lib/python2.7/site-packages/pychromecast/logging_pb2.pyo
/usr/lib/python2.7/site-packages/pychromecast/socket_client.py
/usr/lib/python2.7/site-packages/pychromecast/socket_client.pyc
/usr/lib/python2.7/site-packages/pychromecast/socket_client.pyo
/usr/lib/python2.7/site-packages/pychromecast/controllers/__init__.py
/usr/lib/python2.7/site-packages/pychromecast/controllers/__init__.pyc
/usr/lib/python2.7/site-packages/pychromecast/controllers/__init__.pyo
/usr/lib/python2.7/site-packages/pychromecast/controllers/dashcast.py
/usr/lib/python2.7/site-packages/pychromecast/controllers/dashcast.pyc
/usr/lib/python2.7/site-packages/pychromecast/controllers/dashcast.pyo
/usr/lib/python2.7/site-packages/pychromecast/controllers/media.py
/usr/lib/python2.7/site-packages/pychromecast/controllers/media.pyc
/usr/lib/python2.7/site-packages/pychromecast/controllers/media.pyo
/usr/lib/python2.7/site-packages/pychromecast/controllers/plex.py
/usr/lib/python2.7/site-packages/pychromecast/controllers/plex.pyc
/usr/lib/python2.7/site-packages/pychromecast/controllers/plex.pyo
/usr/lib/python2.7/site-packages/pychromecast/controllers/youtube.py
/usr/lib/python2.7/site-packages/pychromecast/controllers/youtube.pyc
/usr/lib/python2.7/site-packages/pychromecast/controllers/youtube.pyo
/usr/share/licenses/python2-pychromecast-git
/usr/share/licenses/python2-pychromecast-git/LICENSE
sylveon commented 6 years ago

Same here:

$ pacman -Ql python2-pychromecast-git
python2-pychromecast-git /usr/
python2-pychromecast-git /usr/lib/
python2-pychromecast-git /usr/lib/python2.7/
python2-pychromecast-git /usr/lib/python2.7/site-packages/
python2-pychromecast-git /usr/lib/python2.7/site-packages/PyChromecast-0.8.2-py2.7.egg-info/
python2-pychromecast-git /usr/lib/python2.7/site-packages/PyChromecast-0.8.2-py2.7.egg-info/PKG-INFO
python2-pychromecast-git /usr/lib/python2.7/site-packages/PyChromecast-0.8.2-py2.7.egg-info/SOURCES.txt
python2-pychromecast-git /usr/lib/python2.7/site-packages/PyChromecast-0.8.2-py2.7.egg-info/dependency_links.txt
python2-pychromecast-git /usr/lib/python2.7/site-packages/PyChromecast-0.8.2-py2.7.egg-info/not-zip-safe
python2-pychromecast-git /usr/lib/python2.7/site-packages/PyChromecast-0.8.2-py2.7.egg-info/requires.txt
python2-pychromecast-git /usr/lib/python2.7/site-packages/PyChromecast-0.8.2-py2.7.egg-info/top_level.txt
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/__init__.py
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/__init__.pyc
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/__init__.pyo
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/authority_keys_pb2.py
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/authority_keys_pb2.pyc
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/authority_keys_pb2.pyo
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/cast_channel_pb2.py
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/cast_channel_pb2.pyc
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/cast_channel_pb2.pyo
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/config.py
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/config.pyc
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/config.pyo
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/__init__.py
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/__init__.pyc
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/__init__.pyo
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/dashcast.py
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/dashcast.pyc
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/dashcast.pyo
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/media.py
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/media.pyc
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/media.pyo
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/plex.py
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/plex.pyc
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/plex.pyo
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/youtube.py
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/youtube.pyc
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/controllers/youtube.pyo
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/dial.py
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/dial.pyc
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/dial.pyo
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/discovery.py
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/discovery.pyc
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/discovery.pyo
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/error.py
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/error.pyc
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/error.pyo
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/logging_pb2.py
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/logging_pb2.pyc
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/logging_pb2.pyo
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/socket_client.py
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/socket_client.pyc
python2-pychromecast-git /usr/lib/python2.7/site-packages/pychromecast/socket_client.pyo
python2-pychromecast-git /usr/share/
python2-pychromecast-git /usr/share/licenses/
python2-pychromecast-git /usr/share/licenses/python2-pychromecast-git/
python2-pychromecast-git /usr/share/licenses/python2-pychromecast-git/LICENSE

I'll retry building

sylveon commented 6 years ago

Nope, still broken. Could it be because of the caps here: /usr/lib/python2.7/site-packages/PyChromecast-0.8.2-py2.7.egg-info/

juanrubio commented 6 years ago

In 6b7e511 i've removed the autoconf check that looks for pychromecast. Not sure why it does not work on your system, but it is something I can actually go without.

juanrubio commented 6 years ago

tizonia-all-git works for me, so I'm closing for now.

We'll re-open if find further issues.

ghost commented 6 years ago

Not working in manjaro i3, ether package is broke. 3 Errors building log4c: Licence should be an array, an unknow error has occurred and makepkg was unable to build log4c.

juanrubio commented 6 years ago

Hello!

You mean the git package and the normal release package are broken?

juanrubio commented 6 years ago

@annata83 :

There seems to be an issue with one of the dependecies (log4c). There are some comments in the package page. See https://aur.archlinux.org/packages/log4c/.

However, it does not create any problems in my Manjaro VM. So not sure why this affects other people.

In any case, I've verified that 'tizonia-all' and 'tizonia-all-git' both build correctly (at least in my environment).

In addition, I've refreshed 'tizonia-all-git' with the latest from the master branch (as of a76e0144b5ea1e50ad4672850ca56c0e42ab664f)

neonWhiteout commented 3 years ago

I'm having the same problem on Arch, where I'm unable to build log4c, so can't built tizonia.