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

spdlog: use nixpkgs' fmt instead of bundled one #106480

Merged
merged 2 commits into from Dec 11, 2020
Merged

Conversation

SCOTT-HAMILTON
Copy link
Contributor

Motivation for this change

Better fix than #106387 to gerbera. (and it's always better to use external libs).

Things done

This fixes the gerbera build (thus the pull request above is obsolete)

  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

Copy link
Contributor

@drewrisinger drewrisinger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Commits LGTM
  • Diff LGTM
  • DOESN'T build via nix-review:
https://github.com/NixOS/nixpkgs/pull/106480
13 packages failed to build:
hal-hardware-analyzer lizardfs nheko python37Packages.qasm2image python37Packages.qiskit python37Packages.qiskit-aer python37Packages.qiskit-aqua python37Packages.qiskit-ignis python38Packages.qasm2image python38Packages.qiskit python38Packages.qiskit-aer python38Packages.qiskit-aqua python38Packages.qiskit-ignis

11 packages built:
bear cloudcompare gerbera mtxclient pdal python37Packages.tiledb python38Packages.tiledb spdlog spdlog_0 tiledb waybar

I think I'd tried to essentially do this same thing before, but I don't remember what happened to that PR/why it didn't make it to master. Probably some of these build failures.

I'm the maintainer for the pythonPackages.qiskit*, so I can work to get a patch to get those working again.

@drewrisinger
Copy link
Contributor

This patch fixes the pythonPackages.qiskit* builds. pythonPackages.qasm2image is broken on master.

diff --git a/pkgs/development/python-modules/qiskit-aer/default.nix b/pkgs/development/python-modules/qiskit-aer/default.nix
index 57d89b55711..e5eb877b6b2 100644
--- a/pkgs/development/python-modules/qiskit-aer/default.nix
+++ b/pkgs/development/python-modules/qiskit-aer/default.nix
@@ -8,6 +8,7 @@
 , catch2
 , cmake
 , cython
+, fmt
 , muparserx
 , ninja
 , nlohmann_json
@@ -47,6 +48,7 @@ buildPythonPackage rec {
   buildInputs = [
     blas
     catch2
+    fmt
     muparserx
     nlohmann_json
     spdlog

@SCOTT-HAMILTON
Copy link
Contributor Author

SCOTT-HAMILTON commented Dec 10, 2020

Don't think I have the processing power to test and build all of them. But seems like it's mostly a matter of adding fmt to the buildInputs (instead of using the one from spdlog)

@Mic92
Copy link
Member

Mic92 commented Dec 10, 2020

This patch fixes the pythonPackages.qiskit* builds. pythonPackages.qasm2image is broken on master.

diff --git a/pkgs/development/python-modules/qiskit-aer/default.nix b/pkgs/development/python-modules/qiskit-aer/default.nix
index 57d89b55711..e5eb877b6b2 100644
--- a/pkgs/development/python-modules/qiskit-aer/default.nix
+++ b/pkgs/development/python-modules/qiskit-aer/default.nix
@@ -8,6 +8,7 @@
 , catch2
 , cmake
 , cython
+, fmt
 , muparserx
 , ninja
 , nlohmann_json
@@ -47,6 +48,7 @@ buildPythonPackage rec {
   buildInputs = [
     blas
     catch2
+    fmt
     muparserx
     nlohmann_json
     spdlog

@SCOTT-HAMILTON Could just apply this patch. I have the resources to test this.

@drewrisinger
Copy link
Contributor

@SCOTT-HAMILTON Could just apply this patch. I have the resources to test this.

@Mic92 he did, but the current PR fails to evaluate, see my syntax comment above.

…fault.nix

Co-authored-by: Drew <drewrisinger@users.noreply.github.com>
Copy link
Contributor

@drewrisinger drewrisinger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewing both as maintainer of python3Packages.qiskit* & looking at the rest of this PR:

  • Diff LGTM
  • Commits need squashed & divided into one per package, probably?
  • Not clean build of lizardfs via nix-review (build works on master). This package hasn't had a new release in ~3 years, though the GitHub repo has had recent commits. Maybe an unstable commit would fix this?? cc maintainer @rushmorem

All except lizardfs compile now:

https://github.com/NixOS/nixpkgs/pull/106480
1 package failed to build:
lizardfs

23 packages built:
bear cloudcompare gerbera hal-hardware-analyzer mtxclient nheko pdal python37Packages.qasm2image python37Packages.qiskit python37Packages.qiskit-aer python37Packages.qiskit-aqua python37Packages.qiskit-ignis python37Packages.tiledb python38Packages.qasm2image python38Packages.qiskit python38Packages.qiskit-aer python38Packages.qiskit-aqua python38Packages.qiskit-ignis python38Packages.tiledb spdlog spdlog_0 tiledb waybar
Part of LizardFS error log (I can't actually see a specific error):
[ 93%] Built target master
[ 94%] Building CXX object src/metarestore/CMakeFiles/metarestore.dir/__/master/snapshot_task.cc.o
[ 94%] Building CXX object src/metarestore/CMakeFiles/metarestore.dir/__/master/settrashtime_task.cc.o
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h: In member function 'FSNodeDirectory::iterator FSNodeDirectory::find(const HString&)':
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h:240:12: warning: implicitly-declared 'constexpr detail::judy_iterator<hstorage::Handle, FSNode*, false>::judy_iterator(const detail::judy_iterator<hstorage::Handle, FSNode*, false>&)' is deprecated [-Wdeprecated-copy]
  240 |     return it;
      |            ^~
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h:36,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/common/judy_map.h:143:17: note: because 'detail::judy_iterator<hstorage::Handle, FSNode*, false>' has user-provided 'detail::judy_iterator<T1, T2, IsConst>& detail::judy_iterator<T1, T2, IsConst>::operator=(const detail::judy_iterator<T1, T2, IsConst>&) [with T1 = hstorage::Handle; T2 = FSNode*; bool IsConst = false]'
  143 |  judy_iterator &operator=(const judy_iterator &other) {
      |                 ^~~~~~~~
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h: In member function 'FSNodeDirectory::iterator FSNodeDirectory::find(const FSNode*)':
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h:261:10: warning: implicitly-declared 'constexpr detail::judy_iterator<hstorage::Handle, FSNode*, false>::judy_iterator(const detail::judy_iterator<hstorage::Handle, FSNode*, false>&)' is deprecated [-Wdeprecated-copy]
  261 |   return it;
      |          ^~
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h:36,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/common/judy_map.h:143:17: note: because 'detail::judy_iterator<hstorage::Handle, FSNode*, false>' has user-provided 'detail::judy_iterator<T1, T2, IsConst>& detail::judy_iterator<T1, T2, IsConst>::operator=(const detail::judy_iterator<T1, T2, IsConst>&) [with T1 = hstorage::Handle; T2 = FSNode*; bool IsConst = false]'
  143 |  judy_iterator &operator=(const judy_iterator &other) {
      |                 ^~~~~~~~
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h: In member function 'FSNodeDirectory::const_iterator FSNodeDirectory::find(const FSNode*) const':
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h:278:10: warning: implicitly-declared 'constexpr detail::judy_iterator<hstorage::Handle, FSNode*, true>::judy_iterator(const detail::judy_iterator<hstorage::Handle, FSNode*, true>&)' is deprecated [-Wdeprecated-copy]
  278 |   return it;
      |          ^~
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h:36,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/common/judy_map.h:143:17: note: because 'detail::judy_iterator<hstorage::Handle, FSNode*, true>' has user-provided 'detail::judy_iterator<T1, T2, IsConst>& detail::judy_iterator<T1, T2, IsConst>::operator=(const detail::judy_iterator<T1, T2, IsConst>&) [with T1 = hstorage::Handle; T2 = FSNode*; bool IsConst = true]'
  143 |  judy_iterator &operator=(const judy_iterator &other) {
      |                 ^~~~~~~~
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.h:29,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h: In member function 'FSNodeDirectory::iterator FSNodeDirectory::find(const HString&)':
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h:240:12: warning: implicitly-declared 'constexpr detail::judy_iterator<hstorage::Handle, FSNode*, false>::judy_iterator(const detail::judy_iterator<hstorage::Handle, FSNode*, false>&)' is deprecated [-Wdeprecated-copy]
  240 |     return it;
      |            ^~
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h:36,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.h:29,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/common/judy_map.h:143:17: note: because 'detail::judy_iterator<hstorage::Handle, FSNode*, false>' has user-provided 'detail::judy_iterator<T1, T2, IsConst>& detail::judy_iterator<T1, T2, IsConst>::operator=(const detail::judy_iterator<T1, T2, IsConst>&) [with T1 = hstorage::Handle; T2 = FSNode*; bool IsConst = false]'
  143 |  judy_iterator &operator=(const judy_iterator &other) {
      |                 ^~~~~~~~
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.h:29,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h: In member function 'FSNodeDirectory::iterator FSNodeDirectory::find(const FSNode*)':
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h:261:10: warning: implicitly-declared 'constexpr detail::judy_iterator<hstorage::Handle, FSNode*, false>::judy_iterator(const detail::judy_iterator<hstorage::Handle, FSNode*, false>&)' is deprecated [-Wdeprecated-copy]
  261 |   return it;
      |          ^~
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h:36,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.h:29,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/common/judy_map.h:143:17: note: because 'detail::judy_iterator<hstorage::Handle, FSNode*, false>' has user-provided 'detail::judy_iterator<T1, T2, IsConst>& detail::judy_iterator<T1, T2, IsConst>::operator=(const detail::judy_iterator<T1, T2, IsConst>&) [with T1 = hstorage::Handle; T2 = FSNode*; bool IsConst = false]'
  143 |  judy_iterator &operator=(const judy_iterator &other) {
      |                 ^~~~~~~~
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.h:29,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h: In member function 'FSNodeDirectory::const_iterator FSNodeDirectory::find(const FSNode*) const':
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h:278:10: warning: implicitly-declared 'constexpr detail::judy_iterator<hstorage::Handle, FSNode*, true>::judy_iterator(const detail::judy_iterator<hstorage::Handle, FSNode*, true>&)' is deprecated [-Wdeprecated-copy]
  278 |   return it;
      |          ^~
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h:36,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.h:29,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/common/judy_map.h:143:17: note: because 'detail::judy_iterator<hstorage::Handle, FSNode*, true>' has user-provided 'detail::judy_iterator<T1, T2, IsConst>& detail::judy_iterator<T1, T2, IsConst>::operator=(const detail::judy_iterator<T1, T2, IsConst>&) [with T1 = hstorage::Handle; T2 = FSNode*; bool IsConst = true]'
  143 |  judy_iterator &operator=(const judy_iterator &other) {
      |                 ^~~~~~~~
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h: In function 'void fsnodes_update_ctime(FSNode*, uint32_t)':
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:110:29: warning: implicitly-declared 'constexpr detail::judy_iterator<TrashPathKey, hstorage::Handle, false>::judy_iterator(const detail::judy_iterator<TrashPathKey, hstorage::Handle, false>&)' is deprecated [-Wdeprecated-copy]
  110 |    gMetadata->trash.erase(it);
      |                             ^
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h:36,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/common/judy_map.h:143:17: note: because 'detail::judy_iterator<TrashPathKey, hstorage::Handle, false>' has user-provided 'detail::judy_iterator<T1, T2, IsConst>& detail::judy_iterator<T1, T2, IsConst>::operator=(const detail::judy_iterator<T1, T2, IsConst>&) [with T1 = TrashPathKey; T2 = hstorage::Handle; bool IsConst = false]'
  143 |  judy_iterator &operator=(const judy_iterator &other) {
      |                 ^~~~~~~~
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/common/judy_map.h:459:22: note:   initializing argument 1 of 'void judy_map<T1, T2>::erase(judy_map<T1, T2>::iterator) [with T1 = TrashPathKey; T2 = hstorage::Handle; judy_map<T1, T2>::iterator = detail::judy_iterator<TrashPathKey, hstorage::Handle, false>]'
  459 |  void erase(iterator it) {
      |             ~~~~~~~~~^~
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.h:29,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h: In function 'void fsnodes_update_ctime(FSNode*, uint32_t)':
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:110:29: warning: implicitly-declared 'constexpr detail::judy_iterator<TrashPathKey, hstorage::Handle, false>::judy_iterator(const detail::judy_iterator<TrashPathKey, hstorage::Handle, false>&)' is deprecated [-Wdeprecated-copy]
  110 |    gMetadata->trash.erase(it);
      |                             ^
In file included from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node_types.h:36,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/filesystem_node.h:23,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.h:29,
                 from /tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/snapshot_task.cc:21:
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/common/judy_map.h:143:17: note: because 'detail::judy_iterator<TrashPathKey, hstorage::Handle, false>' has user-provided 'detail::judy_iterator<T1, T2, IsConst>& detail::judy_iterator<T1, T2, IsConst>::operator=(const detail::judy_iterator<T1, T2, IsConst>&) [with T1 = TrashPathKey; T2 = hstorage::Handle; bool IsConst = false]'
  143 |  judy_iterator &operator=(const judy_iterator &other) {
      |                 ^~~~~~~~
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/common/judy_map.h:459:22: note:   initializing argument 1 of 'void judy_map<T1, T2>::erase(judy_map<T1, T2>::iterator) [with T1 = TrashPathKey; T2 = hstorage::Handle; judy_map<T1, T2>::iterator = detail::judy_iterator<TrashPathKey, hstorage::Handle, false>]'
  459 |  void erase(iterator it) {
      |             ~~~~~~~~~^~
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/common/judy_map.h: In instantiation of 'judy_map<T1, T2>::size_type judy_map<T1, T2>::erase(const key_type&) [with T1 = TrashPathKey; T2 = hstorage::Handle; judy_map<T1, T2>::size_type = long unsigned int; judy_map<T1, T2>::key_type = TrashPathKey]':
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/master/settrashtime_task.cc:103:42:   required from here
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/common/judy_map.h:454:3: warning: implicitly-declared 'constexpr detail::judy_iterator<TrashPathKey, hstorage::Handle, false>::judy_iterator(const detail::judy_iterator<TrashPathKey, hstorage::Handle, false>&)' is deprecated [-Wdeprecated-copy]
  454 |   erase(it);
      |   ^~~~~
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/common/judy_map.h:143:17: note: because 'detail::judy_iterator<TrashPathKey, hstorage::Handle, false>' has user-provided 'detail::judy_iterator<T1, T2, IsConst>& detail::judy_iterator<T1, T2, IsConst>::operator=(const detail::judy_iterator<T1, T2, IsConst>&) [with T1 = TrashPathKey; T2 = hstorage::Handle; bool IsConst = false]'
  143 |  judy_iterator &operator=(const judy_iterator &other) {
      |                 ^~~~~~~~
/tmp/nix-build-lizardfs-3.12.0.drv-0/source/src/common/judy_map.h:459:22: note:   initializing argument 1 of 'void judy_map<T1, T2>::erase(judy_map<T1, T2>::iterator) [with T1 = TrashPathKey; T2 = hstorage::Handle; judy_map<T1, T2>::iterator = detail::judy_iterator<TrashPathKey, hstorage::Handle, false>]'
  459 |  void erase(iterator it) {
      |             ~~~~~~~~~^~
[ 95%] Linking CXX static library libmetarestore.a
[ 95%] Built target metarestore
make: *** [Makefile:149: all] Error 2
builder for '/nix/store/plf9aiqlsc38nvdzi1yjn0pgws3m6km1-lizardfs-3.12.0.drv' failed with exit code 2
error: build of '/nix/store/plf9aiqlsc38nvdzi1yjn0pgws3m6km1-lizardfs-3.12.0.drv' failed

nix-store --read-log /nix/store/plf9aiqlsc38nvdzi1yjn0pgws3m6km1-lizardfs-3.12.0.drv | grep -C 3 error: Looks like some undefined fmt references

--
/nix/store/dkm3gwl0xrx0wrw6zi5x3px3lpgjhlw4-glibc-2.32-dev/include/bits/string_fortified.h:34: undefined reference to `fmt::v7::detail::basic_data<void>::digits'
/nix/store/4g06wim102dhphbrflg7pv26v7ms8i08-binutils-2.31.1/bin/ld: CMakeFiles/lizardfs.dir/file_info.cc.o:/nix/store/dkm3gwl0xrx0wrw6zi5x3px3lpgjhlw4-glibc-2.32-dev/include/bits/string_fortified.h:34: more undefined references to `fmt::v7::detail::basic_data<void>::digits' follow
/nix/store/4g06wim102dhphbrflg7pv26v7ms8i08-binutils-2.31.1/bin/ld: ../common/libmfscommon.a(slogger.cc.o): in function `spdlog::spdlog_ex::spdlog_ex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)':
/nix/store/c555ihlcmy1r1vyl591bc6yc2666cxp8-spdlog-1.8.1/include/spdlog/common-inl.h:57: undefined reference to `fmt::v7::format_system_error(fmt::v7::detail::buffer<char>&, int, fmt::v7::basic_string_view<char>)'
/nix/store/4g06wim102dhphbrflg7pv26v7ms8i08-binutils-2.31.1/bin/ld: ../common/libmfscommon.a(slogger.cc.o): in function `spdlog::sinks::rotating_file_sink<std::mutex>::calc_filename(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long)':
/nix/store/qc4g8rn6zwy24b8rlc6asyrmzs7mx2v1-fmt-7.1.3-dev/include/fmt/core.h:2076: undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view<char>, fmt::v7::format_args)'
collect2: error: ld returned 1 exit status
make[2]: *** [src/tools/CMakeFiles/lizardfs.dir/build.make:378: src/tools/lizardfs] Error 1
make[1]: *** [CMakeFiles/Makefile2:1444: src/tools/CMakeFiles/lizardfs.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

@Mic92
Copy link
Member

Mic92 commented Dec 11, 2020

Result of nixpkgs-review pr 106480 run on x86_64-linux 1

2 packages marked as broken and skipped:
  • python37Packages.qasm2image
  • python38Packages.qasm2image
1 package failed to build:
  • lizardfs
21 packages built:
  • bear
  • cloudcompare
  • gerbera
  • hal-hardware-analyzer
  • mtxclient
  • nheko
  • pdal
  • python37Packages.qiskit
  • python37Packages.qiskit-aer
  • python37Packages.qiskit-aqua
  • python37Packages.qiskit-ignis
  • python37Packages.tiledb
  • python38Packages.qiskit
  • python38Packages.qiskit-aer
  • python38Packages.qiskit-aqua
  • python38Packages.qiskit-ignis
  • python38Packages.tiledb
  • spdlog (spdlog_1)
  • spdlog_0
  • tiledb
  • waybar

@Mic92
Copy link
Member

Mic92 commented Dec 11, 2020

@GrahamcOfBorg build lizardfs

@Mic92 Mic92 merged commit a1cacef into NixOS:master Dec 11, 2020
@Mic92
Copy link
Member

Mic92 commented Dec 11, 2020

lizardfs looks unrelated.

@drewrisinger
Copy link
Contributor

@Mic92, I disagree. lizardfs seems to be related to old fmt API references, that aren't in the newer, non-bundled version:

See error from above, shortened for readability

/nix/store/...-glibc-2.32-dev/include/bits/string_fortified.h:34: undefined reference to `fmt::v7::detail::basic_data<void>::digits'
/nix/store/...-binutils-2.31.1/bin/ld: CMakeFiles/lizardfs.dir/file_info.cc.o:/nix/store/...-glibc-2.32-dev/include/bits/string_fortified.h:34: more undefined references to `fmt::v7::detail::basic_data<void>::digits' follow

@Mic92
Copy link
Member

Mic92 commented Dec 11, 2020

@Mic92, I disagree. lizardfs seems to be related to old fmt API references, that aren't in the newer, non-bundled version:

See error from above, shortened for readability

/nix/store/...-glibc-2.32-dev/include/bits/string_fortified.h:34: undefined reference to `fmt::v7::detail::basic_data<void>::digits'
/nix/store/...-binutils-2.31.1/bin/ld: CMakeFiles/lizardfs.dir/file_info.cc.o:/nix/store/...-glibc-2.32-dev/include/bits/string_fortified.h:34: more undefined references to `fmt::v7::detail::basic_data<void>::digits' follow

oh sorry, do you have an idea how this can be fixed?

@Mic92
Copy link
Member

Mic92 commented Dec 11, 2020

@Mic92, I disagree. lizardfs seems to be related to old fmt API references, that aren't in the newer, non-bundled version:
See error from above, shortened for readability

/nix/store/...-glibc-2.32-dev/include/bits/string_fortified.h:34: undefined reference to `fmt::v7::detail::basic_data<void>::digits'
/nix/store/...-binutils-2.31.1/bin/ld: CMakeFiles/lizardfs.dir/file_info.cc.o:/nix/store/...-glibc-2.32-dev/include/bits/string_fortified.h:34: more undefined references to `fmt::v7::detail::basic_data<void>::digits' follow

oh sorry, do you have an idea how this can be fixed?

I am preparing an upgrade to the latest -rc3.

@Mic92
Copy link
Member

Mic92 commented Dec 11, 2020

#106669

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

Successfully merging this pull request may close these issues.

None yet

3 participants