View Issue Details

IDProjectCategoryView StatusLast Update
0002673OpenFOAMBugpublic2017-08-23 19:26
Reportertaherc Assigned Towyldckat  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionno change required 
Platform64OSUbuntuOS Version16.04
Product Versiondev 
Summary0002673: paraFoam libprotobuf FATAL
DescriptionI compiled OF from source using gcc 5.4, cmake 3.9.1, qt 5.6.2 and openmpi 2.1.1. I checked all the logs and it compiled without any error. Afterwards when I tried to run paraview (itself or paraFoam) I get the following error:

libprotobuf FATAL /home/taher/OpenFOAM/ThirdParty-gcc/ParaView-5.4.0/ThirdParty/protobuf/vtkprotobuf/src/google/protobuf/stubs/common.cc:62] This program requires version 2.6.0 of the Protocol Buffer runtime library, but the installed version is 2.3.0. Please update your library. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in "/build/mir-ui6vjS/mir-0.26.3+16.04.20170605/obj-x86_64-linux-gnu/src/protobuf/mir_protobuf.pb.cc".)
Aborted (core dumped)

I tried changing LD_LIBRARY_PATH but didn't have any success. Also, I didn't have this problem on other OSs (I tested open suse and fedora), only on ubuntu.

I don't have this problem when I install OF from PPA.
TagsNo tags attached.

Relationships

related to 0002640 resolvedhenry ThirdParty Stop at the build of paraview (5.4.0) 

Activities

wyldckat

2017-08-22 21:38

updater   ~0008619

How are you loading each OpenFOAM environment? Namely, when you change between OpenFOAM versions, do you start a new terminal/console or do you use 'wmUnset' before loading/activating another version?

My concern is that the error message seems to imply that an older version of the "Protocol Buffer" library might have been used when building ParaView itself and that it only complains after it's built.


In addition, where did Qt 5.6.2 come from? Because Ubuntu 16.04 doesn't have it by default.

taherc

2017-08-22 21:53

reporter   ~0008620

I assigned an alias to source the bashrc. I ususaly open a new terminal when I want to load it again.

How can I enforce it to use the required version?

I downloaded qt from their website and installed it.

wyldckat

2017-08-23 19:26

updater   ~0008627

I wasn't aware that they had binary packages for Linux too!

I've tested this myself and the problem is with the pre-built Qt 5.6.2 that has built into it a static minimal library of protobuf, which is older than the one that ParaView builds itself. The consequence is that when there is a lookup for the desired object from said library, the one in Qt 5.6.2 is picked up first and breaks ParaView's stack.

Since you are using OpenFOAM-dev, you can switch back to using Qt4 that comes with Ubuntu 16.04, because the bug reported at https://bugs.openfoam.org/view.php?id=2640 has already been fixed in OpenFOAM-dev and OpenFOAM 5.x.

As for using pre-built Qt 5 versions, you could try newer versions, possibly the latest Qt 5.9.x.


For future reference, in order to be able to build with this pre-built Qt5 version, I also had to set the following environment variables:

  export LD_LIBRARY_PATH=$HOME/OpenFOAM/Qt-5.6.2/5.6/gcc_64/lib:$LD_LIBRARY_PATH
  export CMAKE_PREFIX_PATH=$HOME/OpenFOAM/Qt-5.6.2/5.6/gcc_64

along with the '-qmake' option in 'makeParaView'. The first line was so that the libraries would link and the second is because the 'Find-Qt5' CMake logic is now part of Qt5's own stack.


I'm closing this as no change required and will add a link to #2640 for future reference.

Issue History

Date Modified Username Field Change
2017-08-22 13:50 taherc New Issue
2017-08-22 21:38 wyldckat Note Added: 0008619
2017-08-22 21:53 taherc Note Added: 0008620
2017-08-23 19:26 wyldckat Note Added: 0008627
2017-08-23 19:26 wyldckat Relationship added related to 0002640
2017-08-23 19:26 wyldckat Assigned To => wyldckat
2017-08-23 19:26 wyldckat Status new => closed
2017-08-23 19:26 wyldckat Resolution open => no change required