Universal Robots+

[SOLVED] [URSim-3.6.1] Missing Library/Segmentation Fault with URControl

I am trying to setup an environment to test my URCap locally, and am running into a very strange issue that I have never seen before with URSim.

  • Problem: Running the start-ursim.sh script does not successfully initiate URControl, print out warns there is no URControl process found, and URSim reports NO CONTROLLER. Clicking Start in the initialization screen does nothing.

  • Attempt 1: Run starturcontrol.sh separately. Script ends immediately without any print out.

  • Attempt 2: Run URControl directly with ./URControl

    • Program ends immediately with error:
      URControl: error while loading shared libraries: libxmlrpc_client++.so.8: cannot open shared object file: No such file or directory
  • Attempt 3: Run custom command to include /opt/urtool-3.0/lib shared libraries (this is done for you in the start-ursim.sh script): export LD_LIBRARY_PATH=/opt/urtool-3.0/lib | ./URControl

    • Program ends immediately with error:
      Segmentation Fault - this means the program tried to access illegal memory

All attempts above were tried before starting URSim. I am running Debian 10 Buster 64-bit. I had successfully installed URSim on Debian in the past with no issues.

Has anyone else run into a similar issue? I have a hunch this may be due to a file ownership problem, but before I go changing permissions, I wanted to know if there was an easier workaround. Thanks in advance.

SOLUTION: This, as expected, was completely unrelated to URSim. I doubt anyone else will get this issue, but I will explain what was happening anyways:

Most Linux distros use something called an X server to handle access to graphical interfaces, in my case, root user was not on the list of allowed users, which means none of my graphical applications had root access, including URSim and even Nautilus, the default file explorer for Debian (meaning I couldn’t browse files in root directories either!). Since the libraries URSim uses are located in /opt/urtool-3.0/, a root-access directory, URSim could not access the libraries. See steps I took to correct this issue below:

  1. If you do not have .Xauthority file in your ~ (home) directory, open a terminal in your home directory and run:

    touch .Xauthority
    xauth generate :0 . trusted
    xauth add ${HOST}:0 . $(xxd -1 16 -p /dev/urandom)

  2. Now, check to make sure you have X Server authority:

    xauth list

    You should see something like:

    [your-computer-name]/unix:0 MIT-MAGIC-COOKIE-1 aa1606807f98d73596d6683b9e23a420

    where [your-computer-name is] is what comes after the @ symbol when you open a regular terminal

  3. Now, add root to the list of users with X access:

    xhost si:localuser:root

    You should be all set! This is not guaranteed to work, but it could be your solution!

Sam

1 Like

Hi @samuel.paxton,

Did you notice any errors during the installation process? There are a couple of other threads with errors that reference libxmlrpc… I guess this is due to different ways the package is pre-installed on different distros?

@preyna adjusted the install script to force overwrite of the existing package… it’s possible this will also solve your issue too.

Hi @ajp,

The installation process had no issues, and I’d like to add that the URSim GUI works fine; it is just the virtual controller that cannot initiate (therefore I cannot actually run any simulations). I completely deleted the /opt/urtool3.0 directory and reinstalled URSim to be sure it was not the issue in the post you shared. The reinstallation went smoothly again, so I am not sure where the problem lies.

Thanks,
Sam

EDIT: Problem solved! See my original post above.