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

Clementine fails to build after chromaprint update #39179

Closed
jerith666 opened this issue Apr 20, 2018 · 5 comments
Closed

Clementine fails to build after chromaprint update #39179

jerith666 opened this issue Apr 20, 2018 · 5 comments

Comments

@jerith666
Copy link
Contributor

Steps to reproduce

nix-build -A pkgs.clementine

errors are:

[ 59%] Building CXX object src/CMakeFiles/clementine_lib.dir/musicbrainz/chromaprinter.cpp.o
/build/Clementine-1.3.1/src/musicbrainz/chromaprinter.cpp: In member function 'QString Chromaprinter::CreateFingerprint()':
/build/Clementine-1.3.1/src/musicbrainz/chromaprinter.cpp:146:33: error: invalid conversion from 'void*' to 'const int16_t* {aka const short int*}' [-fpermissive]
   chromaprint_feed(chromaprint, reinterpret_cast<void*>(data.data()),
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /build/Clementine-1.3.1/src/musicbrainz/chromaprinter.cpp:27:0:
/nix/store/6x9xsd68jksc7c2y710z4wsrjwgd8wsp-chromaprint-1.4.3/include/chromaprint.h:235:21: note:   initializing argument 2 of 'int chromaprint_feed(ChromaprintContext*, const int16_t*, int)'
 CHROMAPRINT_API int chromaprint_feed(ChromaprintContext *ctx, const int16_t *data, int size);
                     ^~~~~~~~~~~~~~~~
/build/Clementine-1.3.1/src/musicbrainz/chromaprinter.cpp:152:58: error: invalid conversion from 'void**' to 'uint32_t** {aka unsigned int**}' [-fpermissive]
   int ret = chromaprint_get_raw_fingerprint(chromaprint, &fprint, &size);
                                                          ^~~~~~~
In file included from /build/Clementine-1.3.1/src/musicbrainz/chromaprinter.cpp:27:0:
/nix/store/6x9xsd68jksc7c2y710z4wsrjwgd8wsp-chromaprint-1.4.3/include/chromaprint.h:273:21: note:   initializing argument 2 of 'int chromaprint_get_raw_fingerprint(ChromaprintContext*, uint32_t**, int*)'
 CHROMAPRINT_API int chromaprint_get_raw_fingerprint(ChromaprintContext *ctx, uint32_t **fingerprint, int *size);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/Clementine-1.3.1/src/musicbrainz/chromaprinter.cpp:158:62: error: invalid conversion from 'void*' to 'const uint32_t* {aka const unsigned int*}' [-fpermissive]
                                    &encoded, &encoded_size, 1);
                                                              ^
In file included from /build/Clementine-1.3.1/src/musicbrainz/chromaprinter.cpp:27:0:
/nix/store/6x9xsd68jksc7c2y710z4wsrjwgd8wsp-chromaprint-1.4.3/include/chromaprint.h:331:21: note:   initializing argument 1 of 'int chromaprint_encode_fingerprint(const uint32_t*, int, int, char**, int*, int)'
 CHROMAPRINT_API int chromaprint_encode_fingerprint(const uint32_t *fp, int size, int algorithm, char **encoded_fp, int *encoded_size, int base64);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/Clementine-1.3.1/src/musicbrainz/chromaprinter.cpp:158:36: error: invalid conversion from 'void**' to 'char**' [-fpermissive]
                                    &encoded, &encoded_size, 1);
                                    ^~~~~~~~
In file included from /build/Clementine-1.3.1/src/musicbrainz/chromaprinter.cpp:27:0:
/nix/store/6x9xsd68jksc7c2y710z4wsrjwgd8wsp-chromaprint-1.4.3/include/chromaprint.h:331:21: note:   initializing argument 4 of 'int chromaprint_encode_fingerprint(const uint32_t*, int, int, char**, int*, int)'
 CHROMAPRINT_API int chromaprint_encode_fingerprint(const uint32_t *fp, int size, int algorithm, char **encoded_fp, int *encoded_size, int base64);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/clementine_lib.dir/build.make:7352: src/CMakeFiles/clementine_lib.dir/musicbrainz/chromaprinter.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:900: src/CMakeFiles/clementine_lib.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
builder for '/nix/store/db0mizl3ifdd03fk6815h8wkn2jl9y43-clementine-free-1.3.1.drv' failed with exit code 2

bisected the cause to ca54d50 chromaprint: 1.3.2 -> 1.4.3 by @ryantm

Technical details

$ nix-shell -I nixpkgs=/home/matt/git/nixos/nixpkgs -p nix-info --run "nix-info -m"

  • system: "x86_64-linux"
  • host os: Linux 4.14.29, NixOS, 18.09.git.2e87f65 (Jellyfish)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.0
  • channels(root): "nixos-16.03.1299.a8e0739"
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs
@jerith666
Copy link
Contributor Author

CC maintainer @ttuegel

@jerith666
Copy link
Contributor Author

I don't see any newer releases from upstream (in fact, no releases in ~ 2 yrs). Maybe we need to keep an old version of chromaprint in nixpkgs until they do?

@Ma27
Copy link
Member

Ma27 commented Apr 24, 2018

this should've actually been fixed by #38513.
This broke clementine, so I decided to revert the commit as it actively broke parts of our package set. When running nix-build -A clementine from nixpkgs master (65abd2e ATM) the built clementine will be fetched from the binary cache.

@jerith666
Copy link
Contributor Author

Ah, excellent -- thanks!

@hhm0
Copy link
Contributor

hhm0 commented Aug 14, 2019

@Ma27 I have #60137 for that, it updates clementine while updating chromaprint (I had run nix-review and caught that) :-)

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