Page 1 of 1

V-REP 3.6.1 on non-Ubuntu Linux

Posted: 09 Apr 2019, 15:10
by rgudwin
I am a happy user of V-REP since a long time in the Linux platform. Until version 3.5.0, the Linux downloads used to work without any problem. For some reason, version 3.6.1 was restricted only to Ubuntu Linux users, leaving all other Linux users without a proper installation. I am a user of Manjaro Linux, and became very annoyed with the "novelty". Anyway, I tried to install it in my Linux, and was "more or less" successful in doing it. But I noticed some practices which are not good practice even for Ubuntu users. In order to install the video compression libraries, the V-REP installer is doing a "sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev" behind the scenes and installing the necessary video compression libraries. Any professional software should not ask for sudo access behind the scenes, for security reasons, as this is the means for malicious code to be inserted in a system. Any computer administrator would not recommend such practice. In my non-ubuntu Linux, the V-REP executable shows a message saying that this operation was not successful. Yes, it was not successful because Manjaro Linux don't use the apt-get to install libraries. But it has its own library installers, with similar libraries which could be installed by the user, without this unproper automation. Maybe a better approach would be to give the information on the required libraries, such that all non-Ubuntu Linux users might install the proper libraries, such that V-REP can work with video compression, without generating this very weird popups asking for apt-get.
Now I don't know what to do ...if I stay with 3.5.0 until a proper upgraded package is released for my system, or if I try to work with 3.6.1, with some non-working libraries.
Any clue ?

Re: V-REP 3.6.1 on non-Ubuntu Linux

Posted: 11 Apr 2019, 11:49
by coppelia
V-REP for Ubuntu doesn't come with an installer. Which installer are you talking about? Also, V-REP doesn't do any sudo apt-get install behind the scenes. It doesn't do any sudo apt-get install at all. V-REP simply suggests that the user types that command in case the video compression lib is not properly loading.

We are constantly trying to improve V-REP, but you don't even want to know the size of the team. We cannot always handle all finishing details unfortunately.

Cheers

Re: V-REP 3.6.1 on non-Ubuntu Linux

Posted: 11 Apr 2019, 21:49
by rgudwin
Dear Coppelia,

Thanks for the clarification. Sorry for the noise ! I really assumed things which are not really true.
Maybe I didn't made myself totally clear ... my complaint was not being able to find something like V-REP_PRO_EDU_V3_6_1_Linux.tar.xz, but only V-REP_PRO_EDU_V3_6_1_Ubuntu18_04.tar.xz which, in my interpretation, was supposed to work only on Ubuntu 18.04. It is not a matter of having an installer (I know there is no installer), but not finding a generic downloadable file, as in the past, suitable to be used in any Linux distribution.

My trouble started when, after opening the downloaded file and running V-REP I started receiving strange messages. When I uncompressed the downloaded file (this is what I mean by "installation") and run vrep.sh, I got the following messages in the console:
---------------------------
V-REP PRO EDU V3.6.1. (rev. 2)
Using the default Lua library.
Could not find or correctly load the video compression library.
Try following:

>sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
if above fails, try first:
>sudo apt-get -f install

Add-on script 'vrepAddOnScript-addOnScriptDemo.lua' was loaded.
Add-on script 'vrepAddOnScript-b0RemoteApiServer.lua' was loaded.
If V-REP crashes now, try to install libgl1-mesa-dev on your system:
>sudo apt install libgl1-mesa-dev
...did not crash.
Simulator launched.
...
--------------------------
I also receive the following popup message on the main V-REP window:

Could not find or correctly load the video compression library.
Try following:
>sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
if above fails try first:
sudo apt-get -=f install

From your clarification, I am assuming this is just a recommendation, and not something V-REP is doing in background ... it's a great relief !
But anyway, I believe these libraries are certainly available in the Manjaro codebase.
Can you give us a hint on what are the libraries V-REP is missing and where it is looking for them ? There is a chance that they are already there, as I have the ffmpeg package installed but maybe they are in a different directory than they are expected in Ubuntu. We can easily solve that creating a symbolic link from where V-REP is looking for them and where they really are in Manjaro Linux, but I need to know the names of the missing libraries.
Thanks for the feedback, and please accept my apologies for accusing V-REP of doing something it is not really doing ... I was misleaded by the messages to suppose that. But this is my fault !
Best regards,
Ricardo

Re: V-REP 3.6.1 on non-Ubuntu Linux

Posted: 16 Apr 2019, 06:30
by coppelia
Hello,

the launch script will add the current path to LD_LIBRARY_PATH, so that the system searches first in the V-REP folder for required libraries. It is not the most elegant way (rpath is an alternative) but quite robust.
To see what libs are required by a specific lib (e.g. libv_rep.so), you can type:

Code: Select all

LD_LIBRARY_PATH="$LD_LIBRARY_PATH:."
export LD_LIBRARY_PATH
ldd ./libv_rep.so
in case of libvvcl.so (for the video recorder functionality), those are mainly:
  • libavcodec-ffmpeg.so.56
  • libavformat-ffmpeg.so.56
  • libavutil-ffmpeg.so.54
  • libswscale-ffmpeg.so.3
  • libswresample-ffmpeg.so.1
Cheers

Re: V-REP 3.6.1 on non-Ubuntu Linux

Posted: 07 May 2019, 17:51
by rgudwin
Hi again !
I am trying to fulfill all the dependencies, but after struggling a little bit, this is what I got. The only missing dependencies are:
libwebp.so.6 => not found
libcrystalhd.so.3 => not found
libx265.so.146 => not found
libx264.so.152 => not found
libvpx.so.5 => not found
libssh-gcrypt.so.4 => not found
libopenmpt.so.0 => not found

But ... I have most of them, but in newer versions:
libwebp.so.7
libcrystalhd.so.7
libx265.so.169
libx264.so.157
libvpx.so.6
libopenmpt.so.1

The only one I was not able to find was:
libssh-gcrypt.so.4 => not found
even though I have:
libgcrypt.so.20
are they equivalent ?

I was wondering, ... , if these are all necessary to use libvvcl.so, why not do you provide these libraries together with V-REP, just as you do for other libraries ? Otherwise, you will always be stucked with Ubuntu, and most probably will have problems with other distributions. Also, I was not able to find the source code for libvvcl ... is this a library you developed inhouse ? Or there might be the chance to be able to compile it for other distributions ? Is there any chance that you use it compiled static instead of using a dynamic library, just to avoid that ?

Re: V-REP 3.6.1 on non-Ubuntu Linux

Posted: 07 May 2019, 22:24
by rgudwin
Success ! I was finally able to make it to work ! I just deleted the files from your installation:

libavcodec.so libavformat.so libavutil.so libswscale.so
libavcodec.so.57 libavformat.so.57 libavutil.so.55 libswscale.so.4
libavcodec.so.57.107.100 libavformat.so.57.83.100 libavutil.so.55.78.100 libswscale.so.4.8.100

And made the system to use those installed in my own system. Now the erroneous messages are over.
The problem was that those libraries were not being able to load those updated libraries from my system, because they required specific versions which were not available in my system (mine are newer).
I hope this can be useful for you to deliver a solution that works in more systems than just Ubuntu !
Many thanks for the hints !

Re: V-REP 3.6.1 on non-Ubuntu Linux

Posted: 09 May 2019, 06:36
by coppelia
Thanks for the info.
Btw the vvcl library is this repository, if you want to recompile it yourself.

Cheers