Failed to use on Fedora 30

Hi!

When I try to launch paraview

./ParaView-5.7.0-RC2-MPI-Linux-Python3.7-64bit/bin/paraview

I get an error related to qt5:

./paraview: /home/ParaView-5.7.0-RC2-MPI-Linux-Python3.7-64bit/bin/../lib/libQt5Core.so.5: version `Qt_5.12' not found (required by /usr/lib64/libQt5Network.so.5)
./paraview: /home/ParaView-5.7.0-RC2-MPI-Linux-Python3.7-64bit/bin/../lib/libQt5Core.so.5: version `Qt_5.12.4_PRIVATE_API' not found (required by /usr/lib64/libQt5Network.so.5)

I already installed many qt packages:

$ sudo dnf install qt qt-devel qt5 qt5-devel qt5-qtbase qt5-qtbase-devel

What am I missing…? :frowning:

ParaView binaries come with their own Qt. It should not be loading /usr/lib64/libQt5Network.so.5 but the one provided by ParaView package itself. Do you have LD_LIBRARY_PATH or some such environment variable set?

try running paraview as

LD_DEBUG=libs …/paraview

and then inspect the log to see why /usr/lib64/libQt5Network.so.5 is being loaded. That may shed some light on the issue.

I tried your command. I get a very long output.
The last lines are:

4639: trying file=/home/jimmy/.paraview/lib/libvtkh5part-pv5.7.so.1
4639:
4639: /home/jimmy/.paraview/bin/…/lib/libQt5Core.so.5: error: version lookup error: version Qt_5.12' not found (required by /usr/lib64/libQt5Network.so.5) (continued) ./paraview: /home/jimmy/.paraview/bin/../lib/libQt5Core.so.5: versionQt_5.12’ not found (required by /usr/lib64/libQt5Network.so.5)
4639: /home/jimmy/.paraview/bin/…/lib/libQt5Core.so.5: error: version lookup error: version Qt_5.12.4_PRIVATE_API' not found (required by /usr/lib64/libQt5Network.so.5) (continued) ./paraview: /home/jimmy/.paraview/bin/../lib/libQt5Core.so.5: versionQt_5.12.4_PRIVATE_API’ not found (required by /usr/lib64/libQt5Network.so.5)

Yes, I have a few variables in my bashrc:

export MCTOOLS="$HOME/.mc-tools/mctools/"

export PATH="$HOME/.local/bin:$HOME/.MCNP6/MCNP_CODE/bin:$MCTOOLS/mcpl:$PATH"

export PYTHONPATH="$MCTOOLS/mcnp:$MCTOOLS/mcpl/src/python:$PYTHONPATH"

export DATAPATH="$HOME/.MCNP6/MCNP_DATA/"

export ISCDATA="$HOME/.MCNP6/MCNP_CODE/MCNP620/Utilities/ISC/data"

export LD_LIBRARY_PATH="/usr/lib64/:$LD_LIBRARY_PATH"

source $HOME/.root/bin/thisroot.sh

The LD_LIBRARY_PATH shouldn’t give any problem…

The LD_LIBRARY_PATH does cause problems because it means that all of our shipped libraries are lower precedence than your system libraries. There shouldn’t be any need to add /usr/lib64 to this manually; that’s a distro thing.

1 Like

Ok.

I’ve just deleted the entire row about LD_LIBRARY_PATH from my bashrc.

I’ve reloaded that bashrc.

I get the same errore when trying to launch ./paraview :frowning:

Please confirm that your LD_LIBRARY_PATH is indeed unset. Try echo $LD_LIBRARY_PATH.

1 Like

I’ve tried this:

$ unset LD_LIBRARY_PATH
$ ./paraview

Now it works.

Still, this shouldn’t be the right approach.

This is what I get now after removing any line about this variable from the bashrc:

$ echo $LD_LIBRARY_PATH
/home/jimmy/.root/lib:/usr/lib64/:/home/jimmy/.paraview/lib:

That seems to cause the error messages for which I opened this thread.

Having a system path in LD_LIBRARY_PATH seems very wrong no matter how it gets there. It overrides the paths ParaView uses to use its own libraries in the package and we cannot guard against it (by the time paraview has executed, a bad LD_LIBRARY_PATH has already done its damage).

1 Like

It looks like I had to reboot in order to make the changes to bashrc permanent! o.o
I usually only give
$ source ~/.bashrc
but this time, it kept loading the old LD_LIBRARY_PATH.

Weird.

Anyway, now paraview works! Thank you for your help, guys! :slight_smile: