RV unable to start on Ubuntu

Hey all, trying to run RV on Ubuntu, and getting this error:

symbol lookup error: /lib/x86_64-linux-gnu/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var

Apparently it has to do with the installed libfontconfig. I do add the vendored lib folder to the front of LD_LIBRARY_PATH, but still the error comes from the installed libfontconfig. Not sure what is going on here. It does not seem possible to uninstall libfontconfig, as other programs depend on it.

Basically I am recreating the rv start script, but for bash. I would consider installing tcsh, but that might not help with the library error either.

2 Likes

It sounds like library incompatibility with RV. We target CentOS as our distro for Linux, so libraries may vary. Could you move the file out of the way and re-install libfontconfig?

Move /lib/x86_64-linux-gnu/libfontconfig.so.1 to /lib/x86_64-linux-gnu/libfontconfig.so.1.bak and then run:

sudo apt-get install libfontconfig

If that doesn’t work by itself, RV includes its own freetype.so.6 library. This freetype library calls the system fontconfig which will give the error.

To fix this, try to remove the RV freetype.so.6 library. This will force RV to use the system freetype library.

2 Likes

Thanks I will try that.
But isn’t it possible to just force RV to use the included libfontconfig and freetype?

1 Like

This is really odd, I moved out libfontconfig.so.1 and when trying to start I get:
error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory

Which means that adding ${RV_HOME}/lib to LD_LIBRARY_PATH does not have effect (I checked that it is the correct directory) or the included library cannot be loaded (though I would have expected a different message for that).

Running install on libfontconfig1 says that the library is already installed. Might be an option to find a newer package or compile it from source.

1 Like

Hey Mois,

When you moved libfontconfig.so.1, did you recreate the symlink to point to your own location override or did you just remove the libfontconfig.so.1 without handling the link?

Could you please long list the directory that your LD_LIBRARY_PATH is pointing to? Please make sure that the symlinks there are pointing to the overrides rather than the system path.

Thanks,
Alexa

2 Likes

Hey, thank you for the response.
After I moved out libfontconfig I did not create any symlinks, because I assumed that pointing LD_LIBRARY_PATH to the location would work. However it did not, see my previous answer (library not found, unlike the first error). The question is why this did not work.
In my bash script I do

RV_HOME=/opt/rv7.8.0
export LD_LIBRARY_PATH=${RV_HOME}/lib:${LD_LIBRARY_PATH}
# then start with:
${RV_HOME}/rv

As last resort I will try symlinking from /lib to the included RV libraries, but it seems at risk of breaking other things.

2 Likes

I don’t think that pointing the library path without having the physical links would work… unless you have a way to recreate those links through a script.

There’s one thing that came up recently where we had a client who had success running RV on Ubuntu. Here’s his solution:

I discovered the source of the problem. rv includes its own freetype.so.6 library. This freetype library calls the system fontconfig which will give the error.

To fix this, I just removed the rv freetype.so.6 library. This will force rv to use the system freetype library.

Thanks,
Alexa

3 Likes

I’m confused, ${RV_HOME}/lib contains the actual libraries. However including this path in LD_LIBRARY_PATH does not seem to work - it says the libraries are not found. It should be able to point to an arbitrary path, right? I thought that’s the idea, at least. So no need for symlinking anything.
Thanks, I’ll try to do the same and remove the vendored freetype library. It might be that linux says “not found”, but actually the libraries could not be loaded for some other reason.

2 Likes

So that did it! Moving the included freetype.so.6 away helped and rv launches.
There is another message in the terminal
libDeckLinkAPI.so: cannot open shared object file: No such file or directory
but the program is started.

2 Likes

Great to hear!

Are you using the DeckLink monitor out hardware? If not, what version of RV are you launching? You may need to get some Decklink drivers if you’re planning to use them. Otherwise I don’t think anything else will be affected.

Thanks,
Alexa

2 Likes

We’re not using any special hardware. So I guess this can be ignored, was not even aware what it is.

2 Likes