Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 471130 - sci-visualization/paraview-3.98 with dev-libs/protobuf-2.4 - "This program was compiled against version 2.3.0 of the Protocol Buffer runtime library, which is not compatible with the installed version (2.4.0). "
Summary: sci-visualization/paraview-3.98 with dev-libs/protobuf-2.4 - "This program wa...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Julian Ospald
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-24 07:19 UTC by Hans
Modified: 2013-07-29 19:22 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hans 2013-05-24 07:19:05 UTC
When using the python interface to paraview by calling

import paraview.simple

I get the following error:

libprotobuf FATAL google/protobuf/stubs/common.cc:72] This program was compiled against version 2.3.0 of the Protocol Buffer runtime library, which is not compatible with the installed version (2.4.0).  Contact the program author for an update.  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 "/var/tmp/portage/sci-visualization/paraview-3.98.0-r1/work/paraview-3.98.0_build/ParaViewCore/ServerImplementation/Core/vtkPVMessage.pb.cc".)
terminate called after throwing an instance of 'google::protobuf::FatalException'
  what():  This program was compiled against version 2.3.0 of the Protocol Buffer runtime library, which is not compatible with the installed version (2.4.0).  Contact the program author for an update.  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 "/var/tmp/portage/sci-visualization/paraview-3.98.0-r1/work/paraview-3.98.0_build/ParaViewCore/ServerImplementation/Core/vtkPVMessage.pb.cc".)
Aborted

At which time the python interpreter stops. I have dev-libs/protobuf-2.4.0a installed.

I just recompiled sci-visualization/paraviet-3.98.0-r1, still it does not work.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2013-05-26 15:24:40 UTC
1) Please post your `emerge --info sci-visualization/paraview' output in a comment.
2) Please attach the entire build log to this bug report.
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2013-05-26 15:26:41 UTC
(In reply to Jeroen Roovers from comment #1)
> 1) Please post your `emerge --info sci-visualization/paraview' output in a
> comment.
> 2) Please attach the entire build log to this bug report.

Ignore that, please.
Comment 4 Julian Ospald 2013-07-01 23:34:24 UTC
does this happen with paraview-4.0.1 as well?
Comment 5 Hans 2013-07-26 16:08:59 UTC
this seems to be fixed in 4.0.1
Comment 6 Hans 2013-07-28 21:27:16 UTC
I'm sorry, I was wrong, the problem persists with 4.0.1

The Error message for 4.0.1:

------- BEGIN ERROR OUTPUT ----------

libprotobuf FATAL google/protobuf/stubs/common.cc:72] This program was compiled against version 2.3.0 of the Protocol Buffer runtime library, which is not compatible with the installed version (2.4.0).  Contact the program author for an update.  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 "/var/tmp/portage/sci-visualization/paraview-4.0.1/work/paraview-4.0.1_build/ParaViewCore/ServerImplementation/Core/vtkPVMessage.pb.cc".)
terminate called after throwing an instance of 'google::protobuf::FatalException'
  what():  This program was compiled against version 2.3.0 of the Protocol Buffer runtime library, which is not compatible with the installed version (2.4.0).  Contact the program author for an update.  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 "/var/tmp/portage/sci-visualization/paraview-4.0.1/work/paraview-4.0.1_build/ParaViewCore/ServerImplementation/Core/vtkPVMessage.pb.cc".)

------------ END ERROR OUTPUT -----------



----- Full steps to reproduce:
1. Emerge paraview (without errors)
2. Set PYTHONPATH to include paraview directories:

$ export PYTHONPATH=/usr/lib64/paraview-4.0:/usr/lib64/paraview-4.0/site-packages:/usr/lib/paraview-4.0:/usr/lib/paraview-4.0/site-packages

3. Enter a python shell and import paraview.simple
$ python
>>> import paraview.simple

------

I have tried this with both paraview 3.98 and 4.0.1, and with both libprotobuf 2.4.0a and 2.4.1, to no avail

@hasufell
The bug reports you mentioned don't seem related, as these are compile-time errors. My errors only appear when using the pytohn interface.
Comment 7 Hans 2013-07-28 21:39:15 UTC
I just figured out what's happening from here:

http://paraview.org/Bug/print_bug_page.php?bug_id=12718

paraview ships with its own version of libprotobuf - that's version 2.3.0. This library is located in /usr/lib64/paraview-3.98 

In order to load the "correct" library (e.g. the one it was compiled against), I added this directory to the front of LD_LIBRARY_PATH:

export LD_LIBRARY_PATH=/usr/lib64/paraview-3.98:$LD_LIBRARY_PATH

Now it works like a charm. This is of course not how it should work...
Comment 8 Julian Ospald 2013-07-28 21:43:41 UTC
(In reply to Hans from comment #7)
> I just figured out what's happening from here:
> 
> http://paraview.org/Bug/print_bug_page.php?bug_id=12718
> 
> paraview ships with its own version of libprotobuf - that's version 2.3.0.
> This library is located in /usr/lib64/paraview-3.98 
> 
> In order to load the "correct" library (e.g. the one it was compiled
> against), I added this directory to the front of LD_LIBRARY_PATH:
> 
> export LD_LIBRARY_PATH=/usr/lib64/paraview-3.98:$LD_LIBRARY_PATH
> 
> Now it works like a charm. This is of course not how it should work...

Can you try to modify the ebuild and change line 148 to:

-DVTK_USE_SYSTEM_PROTOBUF=ON
Comment 9 Hans 2013-07-29 09:26:28 UTC
> 
> Can you try to modify the ebuild and change line 148 to:
> 
> -DVTK_USE_SYSTEM_PROTOBUF=ON

This fails in the configuration phase with the following error:

------BEGIN-ERROR-OUTPUT
CMake Error at VTK/CMake/vtkModuleMacros.cmake:633 (find_package):
  By not providing "Findprotobuf.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "protobuf",
  but CMake did not find one.

  Could not find a package configuration file provided by "protobuf" with any
  of the following names:

    protobufConfig.cmake
    protobuf-config.cmake

  Add the installation prefix of "protobuf" to CMAKE_PREFIX_PATH or set
  "protobuf_DIR" to a directory containing one of the above files.  If
  "protobuf" provides a separate development package or SDK, be sure it has
  been installed.
---------END-ERROR-OUTPUT

I suppose Cmake is looking for the file

/usr/share/cmake/Modules/FindProtobuf.cmake

Notice the case mismatch...
Comment 10 Julian Ospald 2013-07-29 15:05:28 UTC
+*paraview-4.0.1-r1 (29 Jul 2013)
+
+  29 Jul 2013; Julian Ospald <hasufell@gentoo.org> +paraview-4.0.1-r1.ebuild,
+  +files/paraview-4.0.1-Protobuf.patch:
+  use system protobuf, potentially fixing bug 471130
Comment 11 Hans 2013-07-29 19:22:37 UTC
(In reply to Julian Ospald (hasufell) from comment #10)
> +*paraview-4.0.1-r1 (29 Jul 2013)
> +
> +  29 Jul 2013; Julian Ospald <hasufell@gentoo.org>
> +paraview-4.0.1-r1.ebuild,
> +  +files/paraview-4.0.1-Protobuf.patch:
> +  use system protobuf, potentially fixing bug 471130

it's fixed now, thanks