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

carla not recognized (LMMS 1.2.0-rc5.222 on Gentoo) #4116

Closed
vrghost242 opened this issue Jan 16, 2018 · 13 comments
Closed

carla not recognized (LMMS 1.2.0-rc5.222 on Gentoo) #4116

vrghost242 opened this issue Jan 16, 2018 · 13 comments

Comments

@vrghost242
Copy link

So decided to try to build LMMS with VeSTige and Carla support on Linux. got as far as cmake to configure, and for some reason it will not accept my calra install

I use the cmake line

cmake .. -DCMAKE_INSTALL_PREFIX=../target/ -DCMAKE_PREFIX_PATH=/usr/lib/wine-vanilla-2.0.3 -DCMAKE_PREFIX_PATH=/usr/local/bin/carla-patchbay -DCMAKE_PREFIX_PATH=/usr/local/bin/carla-rack

And I get the following error in the log

-- Checking for module 'carla-standalone>=1.9.5'
-- No package 'carla-standalone' found

  • Carla Patchbay & Rack : not found, please install the latest carla

However, installed carla this morning (version 1.9.2 (2.0 beta5), information I took straight from carla, running on my machine

What am I missing?

@tresf
Copy link
Member

tresf commented Jan 16, 2018

The carla-git package is required for building with LMMS as described here: https://github.com/LMMS/lmms/wiki/dependencies-ubuntu#carla.

Unfortunately we don't have good Gentoo instructions, so those steps would be missed for a non-Ubuntu build machine. Does that help?

@tresf
Copy link
Member

tresf commented Jan 16, 2018

Also, I think your DCMAKE_PREFIX_PATH syntax is wrong. Can you try adding them all with semicolons separating them? (or if that doesn't work you can try : instead).

@vrghost242
Copy link
Author

Will try that, as I use Gentoo I'll have to find the git repository for the libraries?
(hoping I can find them, but also asking in general)

@tresf
Copy link
Member

tresf commented Jan 16, 2018

@vrghost242 carla-git is the name of the package from KXStudios and it contains some hooks that LMMS requires in order to talk to it. I'll defer the question to the author -- @falkTX -- for how to compile the equivalent of carla-git from source.

@vrghost242
Copy link
Author

This was partially why I was asking, I installed it from carla-git, built from scratch hollowing the instructions in the install file. Do you know any files or anything it should be looking for, just so I can see if it is missing on my system or the system is looking in the wrong place.

@tresf
Copy link
Member

tresf commented Jan 16, 2018

Probably better to defer to @falkTX rather than speculating, but my notes have the following information:

  • carla/resources contains PyQt scripts required for launch
  • libcarla_standalone2.so is what our AppImage looks for

Here's a couple conversations that might shed light on it: #2429 (comment), #4026

@falkTX
Copy link
Contributor

falkTX commented Jan 16, 2018

-DCMAKE_PREFIX_PATH=/usr/local/bin/carla-rack is definitely wrong.
In order for lmms to find carla, you need to have it installed before and in a place where pkg-config can find it.
basically this command needs to return something useful:
pkg-config --cflags --libs carla-standalone

So maybe you're missing PKG_CONFIG_PATH env var.

@vrghost242
Copy link
Author

One (or all of you) where right. don't faff with DCMAKE_PREFIX_PATH for carla (but you might need to for wine)

So, if any other Gentoo users want to install LMMS from scratch (with Carla and Vestige)

To save your self time, emerge lmms (it is available but without Vestige and Carla), then just delete it, that way you get all the libs set up.
emerge --ask lmms

And bonus tip for Gentoo users, you'll need to emerge the following packages as well
emerge --ask List-MoreUtils

Set PKG_CONFIG_PATH
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig

Test with pkg-config --cflags --libs carla-standalone

Otherwise the build will fail

I ran into another issue, which is that I only have 64bit libs, will update if I get passed it

#15

@ghost
Copy link

ghost commented Mar 22, 2020

For Gentoo, the key problem is that Carla is installing its 64-bit libraries in /usr/lib (where 32-bit libraries and pkgconfig (.pc) files are stored) instead of /usr/lib64 (where the 64-bit libraries and .pc files are stored). I don't know if this is a mistake in the build system, or one in the ebuild.

As a simple workaround (if you're using the 64-bit ABI), doing the following after installing Carla via Portage will allow LMMS (also installed through Portage) to detect it:

`sudo ln -s /usr/lib/pkgconfig/carla-* /usr/local/lib64/pkgconfig/

I would advise against using the PKG_CONFIG_PATH="/usr/lib/pkgconfig"option, as this will cause all the plugins except for carla to be doubled-up, since it's detecting the other plugins in the /usr/lib64/pkgconfig folder, as well as the same ones in the /usr/lib/pkgconfig one.

I hope this helps!`

@tresf
Copy link
Member

tresf commented Mar 22, 2020

the key problem is that Carla is installing its 64-bit libraries in /usr/lib (where 32-bit libraries and pkgconfig (.pc) files are stored) instead of /usr/lib64 (where the 64-bit libraries and .pc files are stored). I don't know if this is a mistake in the build system, or one in the ebuild.

I can't find any issues in the CMakeLists.txt, it just calls PKG_CHECK_MODULES:

PKG_CHECK_MODULES(CARLA carla-native-plugin)

I would advise against using the PKG_CONFIG_PATH="/usr/lib/pkgconfig" option, as this will cause all the plugins except for carla to be doubled-up

👍

@reteo can you file a bug with Gentoo so that this issue is being tracked upstream? The symbolic link fix you mention is great to get it up and running, but pkg-config should be finding it without workarounds, I'd think, and we don't have much to do with pkg-config here (as opposed to CMake, where we can bundle our own FindFoo.cmake modules).

@ghost
Copy link

ghost commented Mar 23, 2020

I've already placed a bug with the audio-overlay github tracker, so we'll see what happens. In the meantime, I added the workaround here because it scores pretty highly in Google, and will help anyone else with Gentoo wanting a quick fix to the problem.

One more step for Gentoo users, by the way, in addition to the above, you will also need to add the following line to your make.conf:

PKG_CONFIG_PATH="/usr/local/lib64/pkgconfig"

Or, if you want to get fancy, you can add the above to /etc/portage/env/lmms.conf and then add the following to /etc/portage/package.env:

media-sound/lmms lmms.conf

@tresf
Copy link
Member

tresf commented Mar 23, 2020

you will also need to add the following line to your make.conf: PKG_CONFIG_PATH="/usr/local/lib64/pkgconfig"

This reinforces @falkTX's comment here, quoting:

basically this command needs to return something useful:

pkg-config --cflags --libs carla-standalone

So maybe you're missing PKG_CONFIG_PATH env var.

For these reasons, the bug no longer belongs to LMMS. For that reason, I'm closing this as not-our-bug|upstream, but please feel free to continue any relevant discussion here, or request a re-open if this statement can be proven incorrect. 🍻

@tresf tresf closed this as completed Mar 23, 2020
@ghost
Copy link

ghost commented Mar 23, 2020

Something to keep in mind: It's not just the PKG_CONFIG_PATH that needs to be set.

For a summary of the workaround for Gentoo users, here are the steps again:

  1. At the command line, after installing Carla, use the following command: sudo ln -s /usr/lib/pkgconfig/carla-* /usr/local/lib64/pkgconfig/; this will make a link from the pkgconfig files in the wrong location to a separate location.
  2. Edit either /etc/portage/make.conf or /etc/portage/env/lmms.conf to include this line: PKG_CONFIG_PATH="/usr/local/lib64/pkgconfig
  3. If you chose to edit the /etc/portage/env/lmms.conf file, you'll also need to add this to the /etc/portage/package.env file: media-sound/lmms lmms.conf

On a side note, I eventually decided to move the links to their own directory, /usr/local/lib64/pkgconfig/carla and use the /etc/portage/env/lmms.conf step. This way, I can isolate the carla pkgconfig files, and LMMS will, when being installed, only look for them there, and not find a whole bunch of other things that may be duplicates of other installed things (or completely unrelated things). It will also isolate this to LMMS, so that other packages won't bother looking for Carla's plugins during installation.

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

3 participants