| Summary: | 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). " | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Hans <hanspirnay> |
| Component: | Current packages | Assignee: | Julian Ospald <hasufell> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | hanspirnay |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| See Also: | http://paraview.org/Bug/view.php?id=13656 | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
|
Description
Hans
2013-05-24 07:19:05 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. (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. is this related? http://paraview.org/Bug/view.php?id=12718 http://paraview.org/Bug/view.php?id=12852 does this happen with paraview-4.0.1 as well? this seems to be fixed in 4.0.1 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.
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... (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 >
> 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...
+*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 (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 |