[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::digital_unix

Title:DIGITAL UNIX(FORMERLY KNOWN AS DEC OSF/1)
Notice:Welcome to the Digital UNIX Conference
Moderator:SMURF::DENHAM
Created:Thu Mar 16 1995
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:10068
Total number of notes:35879

9017.0. "/sbin/loader Error" by HYDRA::LNARAYAN () Mon Mar 03 1997 15:15

    Hello
    
    A Fatal Error occures under Digital UNIX 4.0 from /sbin/loader 
    (see below).

    This is a strange problem in that it only seems to happen when the 
    environment varaible LANG is set to anything other that 'C', this 
    does not happen with code built under Digital UNIX 3.2C.  Also, 
    this dose not happen when their ( a partners ) shared libraries are 
    copied to /usr/lib under Digital UNIX 4.0.  Any idea as to what 
    might be causing this?


    Error Message
    --------------
    ** Started server for database aruba **
    build72@aruba: Entering Single-user mode at Mon Mar  3 10:02:31 1997.
    build72@aruba: Library goat created at Mon Mar  3 10:02:48 1997.
    14446:/aruba1/esri72.axp/arcexe72/bin/build: 
    /sbin/loader: Fatal Error: cannot map libaiarclib.so

    Thanks in Advance
    Lakshminarayan
T.RTitleUserPersonal
Name
DateLines
9017.1QUARRY::nethCraig NethMon Mar 03 1997 17:1321
The runtime loader is complaining that it cannot find a library; the loader 
only looks in specific places for libraries that are needed by the application. 
(see the loader(5) manpage for information on the 'standard locations)  That 
is why putting them in /usr/lib 'works'.    The loader has always worked
this way, nothing new about that in V4.0.    

It's hard to guess what might be wrong based on the limited information
provided, but here's a guess: Does this application link -non_shared?   
The 'setlocale()' call is implemented  via some runtime loader magic.   
Prior to V4.0, you could not use locales with -non_shared programs, as the 
runtime loader magic did not work in -non_shared programs.  

That would explain why setting the locale changes the behavior.   However,
'libaiarclib.so' does not look like the name of a locale to me, so something
else is probably going on here too.

An example or at least the makefile that builds the application would
be necessary to figure out much more.



9017.2SMURF::LOWELLWed Mar 05 1997 09:3514
A couple possibilities.

   1. As Craig said, if /aruba1/esri72.axp/arcexc72/bin/build is
      linked -non_shared, then in 4.0 the new non-shared locale
      support is somehow trying to pick up the libaiarclib.so
      which its not finding in any of the standard library search
      directories.  See the loader(5) man page.

      Since I've never registered libaiarclib.so as one of the locale
      libraries this is probably not what's happening.
 
   2. Shared or non-shared, maybe the locale library is pushing the
      program over its datasize limit.  Or if it's using a lot of
      shared libraries, it could be exceeding its mapentries limit.