sonic-pi-net / sonic-pi

Code. Music. Live.
https://sonic-pi.net
Other
10.76k stars 921 forks source link

Support CMAKE_INSTALL_LIBDIR for linux users building from source? #2719

Closed AJ-Williams1 closed 2 years ago

AJ-Williams1 commented 3 years ago

I am trying to build sonic pi from source on linux (gentoo, to be exact). Running linux-prebuild.sh fails with this error:

gmake[6]: *** No rule to make target '/home/aj/builds/sonic-pi/app/external/build/ogg-package/lib/libogg.a', needed by 'aubio_onset'.  Stop.

I know that this is because gentoo uses lib64 as the LIBDIR, rather than just lib. As I understand it, this is exactly the problem the CMAKE_INSTALL_LIBDIR variable was made to solve. Using it rather than hard-coding things like /usr/lib would, I believe, fix this. I could just change it all by hand (there are quite a few places where this shows up), but I think this might be a good upstream addition. If I am wrong about any of this, or you think this is too niche to be worth it, please let me know.

ethancrawford commented 3 years ago

@cmaughan - any thoughts on this?

c0deaddict commented 3 years ago

I'm hitting the same problem when building on NixOS. Did you find a workaround @AJ-Williams1?

cmaughan commented 3 years ago

From what I can see we don't have any places in our code that hard-code /usr/lib; it looks like these are all in external projects that we consume. So to fix this I guess we would have to patch them or add scripts to move things around...

Ai-rin commented 3 years ago

Just tried to build on OpenSUSE and got same error.

ethancrawford commented 3 years ago

Likely to be fixed in https://github.com/sonic-pi-net/sonic-pi/pull/2833.

samaaron commented 2 years ago

We have improved our build process - especially for Linux - in addition to a complete overhaul of how we boot the system. Therefore, please feel free to re-open if this is still an issue with the recently released v4 of Sonic Pi - https://github.com/sonic-pi-net/sonic-pi/releases