URSim - NO CONTROLLER error with missing xmlrpc library

This error pops up when launching URSim.
Simulation of robot is not possible due to this error.

Been following guides for installing on Ubuntu 18.

The robot is by default turned off, even in simulation.
Therefore the Controller is not started.
You should initialize the simulated robot first;

  • in CB3 by clicking the small red LED on the top left in Run or Program, alternatively via Setup > Initialize
  • in e-Series by clicking the red LED in the bottom left.

Clicking the red LED takes me to “Initialize Robot” screen and the LED would still be red.
Pressing “Start” seems to do absolutely nothing. Also, the screen shows “NO CONTROLLER” next to the red LED.

I got this problem after installing updates to the kernel on the sim, just as a test, and I could just solve it by rerunning the installation script (./install.sh).
The problem I think was the libxmlrpc that was updated by the kernel update, and the install.sh reinstalled the version needed for the controller.
I’m thinking there might be some package that is not the one that the sim is expecting, and maybe the install.sh is not checking for it?

1 Like

Rerunning the install.sh did not seem to do the trick.

I did some test by starting it with the script ./start-ursim.sh UR3 and when it is not working, and in all of those rows I found one row with URControl: no process found
So I tried to run ./URControl to see if I would get an error message and what it might tell me, and I got one row, as I suspected but hadn’t fully confirmed:
./URControl: error while loading shared libraries: libxmlrpc_client++.so.8 etc. etc…
Once I reinstalled the right xmlrpc lib with the ./install.sh the ./URControl starts, but gives lots of run errors since it hasn’t been started properly :slight_smile: And ofc if I start it with the ./start-ursim.sh scripts it works again.

Maybe something you can try too, maybe it will complain about a specific package that it is expecting to find?
If you write it here, maybe UR can add it in the ./install.sh as a dependency :slight_smile:

I just installed a new computer. I have one working perfectly with ubuntu 16 but I used ubuntu 18 for this new computer.

I installed everything and tried all I could found on the forum and can’t get the error "Segmentation fault (core dumped) away from the URControl if I’m not running it as root.

So, these are some information I noticed if that can help find a solution. In my case, I will install Ubuntu16 for now.

See below debugger :

Starting program: /home/gub/ursim/ursim-5.1.2.40245/URControl 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0xf7a56b40 (LWP 8059)]

Thread 1 "URControl" received signal SIGSEGV, Segmentation fault.
0x0804f430 in ?? ()
(gdb) bt
#0  0x0804f430 in ?? ()
#1  0x0805175d in ?? ()
#2  0xf7a73e81 in __libc_start_main () from /lib/i386-linux-gnu/libc.so.6
#3  0x0804f281 in ?? ()

I also noticed that on ubuntu18 when you install the ursim, it’s removing the package “libcurl4” to install “libcurl3” but apparently libxmlrpc-core-c3 depends on libcurl4 ( The following packages have unmet dependencies:
libxmlrpc-core-c3 : Depends: libcurl4 (>= 7.16.2) but it is not going to be installed) can this cause some kind of conflicts?

I also experienced some problems when trying to install URSim on Lubuntu 18.04. The following solution worked for the 32 bit version of Lubuntu 18.04:

  1. Manually install Java 8:
    sudo apt install openjdk-8-jre
  2. Change install.sh:
  3. commonDependencies:
    Change libcurl3 to libcurl4
  4. Dependencies_32:
    Change libxmlrpc-c++8 libxmlrpc-core-c3 to libxmlrpc-c++8v5
  5. Run ./install.sh

I am still struggling with installing URSim on the 64 bit version of Lubuntu 18.04, but I think I’m almost there with this solution:

  1. Manually install Java 8:
    sudo apt install openjdk-8-jre
  2. Manually install libxmlrpc for 32 bit executable:
    sudo apt install libxmlrpc-c++8v5:i386
  3. Change install.sh:
    commonDependencies:
    Change libcurl3 to libcurl4
  4. Run ./install.sh

If “No controller” is displayed when trying to start the robot, manually execute starturcontrol.sh.

Does anyone know why I need to manually run the starturcontrol.sh script in the 64 bit version?

2 Likes

Did you try these steps?
How to install URSim for URCaps Development

Did you ever get it to work on the 64 bit version?

No, I did not use any more time trying to figure it out.

But you did manage to get it working by manually executing starturcontrol.sh? I’ve tred to execute this in terminal after ursim has started but without luck.

Yes, this worked for me. After starting UR Sim, “No Controller” is shown in the menu where you usually start the robot. When I execute the “starturcontrol.sh” script, this changes to what is usually displayed on a real robot. Do you get any error messages when executing the script? Or have you tried to execute the URControl binary directly?