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

opentoonz broken by upstream openblas #174137

Open
velartrill opened this issue May 23, 2022 · 2 comments
Open

opentoonz broken by upstream openblas #174137

velartrill opened this issue May 23, 2022 · 2 comments

Comments

@velartrill
Copy link

Describe the bug

currently nixpkgs uses the system openblas library for building opentoonz, instead of the bundled version of openblas. however, upstream openblas is not compatible with opentoonz -- OT will build "successfully" with it, but attempting to use its "plastic tool" (a core function of the program, i note) will cause the program to crash, with openblas complaining

 ** On entry to DTRSV  parameter number  6 had an illegal value

the fix is as simple as deleting openblas from the opentoonz buildInputs list in pkgs/applications/graphics/opentoonz/default.nix

Steps To Reproduce

Steps to reproduce the behavior:

  1. install opentoonz
  2. draw something
  3. select the drawn layer, click the "plastic" tool (or press x),
  4. click "create mesh" in the top toolbar, then click OK
  5. make sure "build skeleton" is selected in the top bar, then add at least one vertex point
  6. switch to animate mode (or even just click another layer, IME)
  7. profit

Expected behavior

the program continues running, without segfaulting or spewing fortran error messages

Notify maintainers

@chkno

Metadata

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.39, NixOS, 21.11 (Porcupine)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.16`
 - channels(root): `"nixos-21.11.337635.cbd40c72b26"`
 - channels(lexi): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
@tobiasBora
Copy link
Contributor

tobiasBora commented May 28, 2024

I also can’t compile opentoonz (but I get a compilation error):

/build/source/toonz/sources/include/tthreadmessage.h: In constructor 'TThread::Mutex::Mutex()':
/build/source/toonz/sources/include/tthreadmessage.h:87:37: warning: 'QMutex::QMutex(RecursionMode)' is deprecated: Use QRecursiveMutex instead of a recursive QMutex [-Wdeprecated-declarations]
   87 |   Mutex() : QMutex(QMutex::Recursive) {}
      |                                     ^
In file included from /nix/store/872qvykamikx33ljkckvn0a8n7r7xpcz-qtbase-5.15.12-dev/include/QtCore/QMutex:1,
                 from /build/source/toonz/sources/include/tthreadmessage.h:12:
/nix/store/872qvykamikx33ljkckvn0a8n7r7xpcz-qtbase-5.15.12-dev/include/QtCore/qmutex.h:159:14: note: declared here
  159 |     explicit QMutex(RecursionMode mode);
      |              ^~~~~~
[  7%] Building CXX object tnzcore/CMakeFiles/tnzcore.dir/__/common/trop/terodilate.cpp.o
In file included from /build/source/toonz/sources/include/tcg/tcg_hash.h:3,
                 from /build/source/toonz/sources/common/trop/borders_extractor.hpp:12,
                 from /build/source/toonz/sources/common/trop/borders_extractor.h:100,
                 from /build/source/toonz/sources/common/trop/tdespeckle.cpp:14:
/build/source/toonz/sources/include/tcg/hash.h: At global scope:
/build/source/toonz/sources/include/tcg/hash.h:37:50: error: declaration of 'typedef typename tcg::list<tcg::hash<K, T, Hash_functor>::BucketNode>::size_t tcg::hash<K, T, Hash_functor>::size_t' changes meaning>
   37 |   typedef typename tcg::list<BucketNode>::size_t size_t;
      |                                                  ^~~~~~
/build/source/toonz/sources/include/tcg/hash.h:28:5: note: used here to mean 'typedef long unsigned int size_t'
   28 |     size_t m_prev;
      |     ^~~~~~
In file included from /nix/store/b0s2lkf593r3585038ws4jd3lylf2wdx-glibc-2.38-44-dev/include/wchar.h:35,
                 from /nix/store/cmr8qd8w64w8q0cbfc30p98z2pydc1k7-gcc-13.2.0/include/c++/13.2.0/cwchar:44,
                 from /nix/store/cmr8qd8w64w8q0cbfc30p98z2pydc1k7-gcc-13.2.0/include/c++/13.2.0/bits/postypes.h:40,
                 from /nix/store/cmr8qd8w64w8q0cbfc30p98z2pydc1k7-gcc-13.2.0/include/c++/13.2.0/bits/char_traits.h:42,
                 from /nix/store/cmr8qd8w64w8q0cbfc30p98z2pydc1k7-gcc-13.2.0/include/c++/13.2.0/string:42,
                 from /build/source/toonz/sources/include/tcommon.h:26,
                 from /build/source/toonz/sources/include/tutil.h:6,
                 from /build/source/toonz/sources/include/traster.h:6:
/nix/store/cmr8qd8w64w8q0cbfc30p98z2pydc1k7-gcc-13.2.0/lib/gcc/x86_64-unknown-linux-gnu/13.2.0/include/stddef.h:214:23: note: declared here
  214 | typedef __SIZE_TYPE__ size_t;
      |                       ^~~~~~
[  7%] Building CXX object tnzcore/CMakeFiles/tnzcore.dir/__/common/trop/tinvert.cpp.o

@chkno any news on this?

Compiled from b8697e5

EDIT

Oh, seems like I was using an older version that has been fixed in the meantime. opentoonz/opentoonz#4738 Let’s try master!

@tobiasBora
Copy link
Contributor

Ok, sorry, I confirm it builds on master… but any reasons it is not cached by Hydra? Maybe because of the security features, but still annoying as it takes a fair amount of time to build right now.

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

No branches or pull requests

2 participants