Page 1 of 1

Linux ABI Incompatibility on V-REP 3.5.0

Posted: 15 Mar 2018, 22:44
by jarvisschultz
When I try to run V-REP 3.5 on Ubuntu 14.04 I'm greeted with the following error:

Code: Select all

<VREP-PATH>/V-REP_PRO_EDU_V3_5_0_Linux/vrep: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by <VREP-PATH>/V-REP_PRO_EDU_V3_5_0_Linux/vrep)
On Ubuntu 14.04, my GCC version is 4.8.4 -- according to GCC official docs, I would need at least GCC 5.1.0 to provide a libstdc++.so that supports GLIBCXX_3.4.21. A few questions/comments:
  • Are there actual system requirements for V-REP documented somewhere? Is there some way I could know that I need a system library built using GCC 5.1 or newer to run V-REP?
  • V-REP bundles many already-compiled shared libraries. Why does it not include standard C++ libraries? Would there be any harm in bundling all of the *.so files in the Linux releases?
  • V-REP 3.5.0 works fine on an Ubuntu 16.04 machine I have (which uses GCC 5.4.0). Since both machines are the same architecture, I copied the 16.04 libstdc++.so.6 file into the V-REP directory on the 14.04 machine, and everything started to work fine (because the vrep.sh script modifies the LD_LIBRARY_PATH env var). Maybe just bundling that library is acceptable?

Re: Linux ABI Incompatibility on V-REP 3.5.0

Posted: 16 Mar 2018, 09:33
by fferri
If you cannot upgrade to Ubuntu 16, I guess you have two solutions available:
- upgrade your GCC to a more recent version (there are PPAs out there with newer GCC versions)
- compile V-REP yourself on your Ubuntu 14.04 box: in that case it will probably work also with the old compiler.

Re: Linux ABI Incompatibility on V-REP 3.5.0

Posted: 19 Mar 2018, 14:52
by jarvisschultz
Thanks for the advice. I'm sure you are correct that both workarounds you mentioned would fix the issue. My workaround fixed the issue as well.