Rld errors how to fix

From Nekochan
Jump to: navigation, search

Relocatable loader

rld is a program that maps or loads shared objects into an applications memory space (also known a dynamic link libraries)..

Problem

You might see:

 1586:./blender: rld:Error: unresolvable symbol in ./blender: llrint
 1586:./blender: rld Error: unresolvable symbol in ./blender: _nanf_val
 1586:./blender: rld:Fatal Error: this executable has unresolvable symbols

Diagnosis

You should run:

ldd ./blender 


Solution

You should see libraries that you need to install.

If there are no missing libraries, O/S version system calls and run time libraries like the C runtime library are in shared objects also, if your O/S version is too old compared to the version of the O/S that application was built on, then you need to upgrade your O/S version (nekoware runs on 6.5.22 or later)..

You might also want to check your library path, it is list of directories that are checked for the shared object files (*.so)

 echo $LD_LIBRARY_PATH

From a shell you might want to do a

find / -name (name of missing .so file)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:(directory containing missing .so file)

You might want to add something like the export line to a login or shell start up script, eg, .login .cshrc, .bash_profile, etc...

See also

  • man ldd
  • man rld
  • John R. Irvine, (the moderator of comp.compiler news group for like decades) wrote a cool book on linkers and loaders.