1

I recently downloaded a program called Worldforge, it is a game maker which is open source. I downloaded its executable file and gave it the permissions to run but when i went to start it it came back with this error:

/tmp/.mount_dskVs4/usr/bin/ember.bin: error while loading shared libraries: librtmp.so.0: cannot open shared object file: No such file or directory

I have tried searching for an answer but the only one I found which was relevant did not work, I would be greatful if anyone could help in any way.

David Foerster
  • 36,890
  • 56
  • 97
  • 151
mass334
  • 13

1 Answers1

0

It's not trivial to get the librtmp0 package in Xenial, so my first idea is to use librtmp.so.1 from the librtmp1 package instead since there's a good chance that the library is backwards-compatible.

To achieve that we need to create a symbolic link to it in a location where the program executable can find it. Since this is kind of a hack, it would be preferable if other applications don't find the same link automatically. Helpfully, this application adds ~/.ember/lib to its library search path by default.

I suggest that you

  1. assure that the librtmp1 package is installed,

    sudo apt install librtmp1
    
  2. create the directory ~/.ember/lib,

    mkdir -p ~/.ember/lib
    
  3. put the symbolic link there.

    ln -sT /usr/lib/$(uname -m)-linux-gnu/librtmp.so.1 ~/.ember/lib/librtmp.so.0
    

If the application now fails with a "missing symbol" error message (or something like that) please update your question with the error message and notify me with a comment so I can address it.


If there are more missing shared libraries you can search for their packages and

  • install them if they're available in Xenial or

  • search for newer version of the same shared library (without the version number at the end of the package name) repeat the above process for it.

David Foerster
  • 36,890
  • 56
  • 97
  • 151