Errors: Program Start
MINFAST and ROOT use dynamic library loading, which means that code gets
loaded at execution if it is needed. This has a couple of advantages:-
- The executable image is smaller and starts up faster.
- Only code that is needed gets loaded as execution precedes.
However this does mean that the image file is incomplete and this can
lead to the program start up error:-
/sbin/loader: Fatal Error: cannot map library
There can be two reasons for this:-
- The library was moved or deleted after the program was built.
- The loader isn't looking in the right directories. When the program is
linked it is possible to record where the loader should look. For example
on Digital Unix:-
SOFLAGS := -rpath,$(MINFLIBPATH)
the rpath option introduces a colon separated list of directories to
be searched. So long as libraries are not being moved and the image
is to be run with the same file store, recording the information in the
image itself is best.
The loader also uses the environmental variable:-
LD_LIBRARY_PATH
that lists directories to be searched. So a loader problem could simply
be that this variable is needed but is wrongly set. Consult your local
software librarian.
Go Back to the
The Errors Top Page
Contact:
Nick West (n.west1@physics.oxford.ac.uk>)