SynoCommunity / spksrc

Cross compilation framework to create native packages for the Synology's NAS
https://synocommunity.com
Other
3.02k stars 1.23k forks source link

Chromaprint 1.5.0 update, fpcalc missing libchromaprint.so.1? #4136

Closed fmwatson closed 4 years ago

fmwatson commented 4 years ago

For new Package Requests, see the guidelines

Setup

_Package Name: Chromaprint / ffmpeg _Package Version: 1.5.0-11 / 4.2.4-34

NAS Model: DS 918+ _NAS Architecture: _DSM version: DSM 6.2.3-25426 Update 2

Expected behavior

Chromaprint is able to fingerprint audio tracks when called from beets.

Actual behavior

No audio tracks are able to be fingerprinted. For each track, Beets returns:

chroma: fingerprinting of "path/to/file.mp3" failed: fpcalc exited with status 127

If I call fpcalc directly, the error is:

fpcalc: error while loading shared libraries: libchromaprint.so.1: cannot open shared object file: No such file or directory

Beets/chromaprint/ffmpeg/fpcalc installed from package center worked fine together before this update.

Steps to reproduce

_1. Call beet import with chroma

Package log

Install logs from fresh uninstall/re-install after the update. chromaprint install log:

Mon Aug 17 19:23:29 +01 2020
===> Step preinst. USER= GROUP= SHARE_PATH=
Mon Aug 17 19:23:31 +01 2020
===> Step postinst. USER= GROUP= SHARE_PATH=
Invoke service_create_links
create link: /usr/local/bin/fpcalc -> /volume1/@appstore/chromaprint/bin/fpcalc

ffmpeg install log:

Mon Aug 17 19:23:17 +01 2020
===> Step preinst. USER= GROUP= SHARE_PATH=
Mon Aug 17 19:23:19 +01 2020
===> Step postinst. USER= GROUP= SHARE_PATH=
Invoke service_postinst

Other logs

Beets install log:

Mon Aug 17 19:22:02 +01 2020
===> Step preinst. USER= GROUP= SHARE_PATH=
Mon Aug 17 19:22:06 +01 2020
===> Step postinst. USER= GROUP= SHARE_PATH=
Invoke service_postinst
Processing /volume1/@appstore/beets/share/wheelhouse/Click-7.0-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/Flask-1.1.1-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/Flask_Cors-3.0.8-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/Jinja2-2.11.1-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/Unidecode-1.1.1-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/Werkzeug-1.0.0-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/beautifulsoup4-4.8.2-py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/beets-1.4.9-py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/certifi-2019.11.28-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/chardet-3.0.4-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/discogs_client-2.2.2-py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/itsdangerous-1.1.0-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/jellyfish-0.7.2-py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/langdetect-1.0.7-py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/munkres-1.1.2-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/musicbrainzngs-0.7.1-py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/mutagen-1.44.0-py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/oauthlib-3.1.0-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/pyacoustid-1.1.7-py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/pylast-3.2.0-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/python_mpd2-1.0.0-py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/pyxdg-0.26-py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/rarfile-3.1-py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/requests-2.23.0-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/requests_oauthlib-1.3.0-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/soco-0.18.1-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/soupsieve-2.0-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/urllib3-1.25.8-py2.py3-none-any.whl
Processing /volume1/@appstore/beets/share/wheelhouse/xmltodict-0.12.0-py2.py3-none-any.whl
Installing collected packages: Click, Flask, Flask-Cors, Jinja2, Unidecode, Werkzeug, beautifulsoup4, beets, certifi, chardet, discogs-client, itsdangerous, jellyfish, langdetect, munkres, musicbrainzngs, mutagen, oauthlib, pyacoustid, pylast, python-mpd2, pyxdg, rarfile, requests, requests-oauthlib, soco, soupsieve, urllib3, xmltodict
Successfully installed Click-7.0 Flask-1.1.1 Flask-Cors-3.0.8 Jinja2-2.11.1 Unidecode-1.1.1 Werkzeug-1.0.0 beautifulsoup4-4.8.2 beets-1.4.9 certifi-2019.11.28 chardet-3.0.4 discogs-client-2.2.2 itsdangerous-1.1.0 jellyfish-0.7.2 langdetect-1.0.7 munkres-1.1.2 musicbrainzngs-0.7.1 mutagen-1.44.0 oauthlib-3.1.0 pyacoustid-1.1.7 pylast-3.2.0 python-mpd2-1.0.0 pyxdg-0.26 rarfile-3.1 requests-2.23.0 requests-oauthlib-1.3.0 soco-0.18.1 soupsieve-2.0 urllib3-1.25.8 xmltodict-0.12.0

Installed version:
beets version 1.4.9
Python version 3.5.6
no plugins loaded

Installed python modules:
You are using pip version 9.0.1, however version 20.2.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
bcrypt==3.1.4
beautifulsoup4==4.8.2
beets==1.4.9
certifi==2019.11.28
cffi==1.11.5
chardet==3.0.4
Click==7.0
discogs-client==2.2.2
enum34==1.1.6
Flask==1.1.1
Flask-Cors==3.0.8
idna==2.7
ipaddress==1.0.22
itsdangerous==1.1.0
jellyfish==0.7.2
Jinja2==2.11.1
langdetect==1.0.7
lxml==4.2.5
MarkupSafe==1.1.0
msgpack-python==0.5.6
munkres==1.1.2
musicbrainzngs==0.7.1
mutagen==1.44.0
oauthlib==3.1.0
olefile==0.46
psutil==5.4.8
pyacoustid==1.1.7
pyasn1==0.4.4
pycparser==2.19
pycrypto==2.6.1
pycurl==7.43.0.2
pylast==3.2.0
pyOpenSSL==18.0.0
python-mpd2==1.0.0
pyxdg==0.26
PyYAML==3.13
rarfile==3.1
requests==2.23.0
requests-oauthlib==1.3.0
ruamel.yaml==0.15.78
six==1.11.0
soco==0.18.1
soupsieve==2.0
SQLAlchemy==1.2.10
Unidecode==1.1.1
urllib3==1.25.8
virtualenv==16.1.0
Werkzeug==1.0.0
xmltodict==0.12.0
zope.interface==4.6.0

Invoke service_create_links
create link: /usr/local/bin/beet -> /volume1/@appstore/beets/env/bin/beet

I don't know why it's picking up pip 9.0.1 in that log, checking version I have:

pip --version
pip 20.2.2 from /usr/lib/python2.7/site-packages/pip (python 2.7)
th0ma7 commented 4 years ago

I found where the issue was, forgot to include the libraries when switching to shared libs build. Creating an updated -12 package that I'll publish online to fix this issue:

$ ll /var/packages/chromaprint/target/lib
total 92
drwxr-xr-x 1 root root   118 Aug 20 06:01 .
drwxr-xr-x 1 root root    24 Aug 20 06:06 ..
lrwxrwxrwx 1 root root    19 Aug 20 06:01 libchromaprint.so -> libchromaprint.so.1
lrwxrwxrwx 1 root root    23 Aug 20 06:01 libchromaprint.so.1 -> libchromaprint.so.1.5.0
-rw-r--r-- 1 root root 84464 Aug 20 06:01 libchromaprint.so.1.5.0
$ fpcalc
ERROR: No input files
th0ma7 commented 4 years ago

Updated package have been uploaded and should be available within a few hours.

fmwatson commented 4 years ago

That's great - thanks for looking into it!