APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

SCO Unix, Xenix and ODT General FAQ

This article is from a FAQ concerning SCO operating systems. While some of the information may be applicable to any OS, or any Unix or Linux OS, it may be specific to SCO Xenix, Open This is an old article about a shared library error on SCO Unix and is only left here for historical purposes. There is lots of Linux, Mac OS X and general Unix info elsewhere on this site: Search this site is the best way to find anything.

I get an error message "Can't access shared library" on SCO Unix

You are missing a shared library. For example, you might need libsocket.so.2 or whatever . You just need to find the patch or code that provides that. You do not need to be concerned about code that needs (for example) libsocket.so.1 - you aren't replacing that, you are adding a new version. Old code still uses the old, new code that needs the new now has it.

Bela Lubkin posted the following to comp.unix.sco.misc in response to someone getting this message on a 3.2v4.2 system:

Well, that's a _good_ sign -- it proves you have a COFF binary, which at least has a _chance_ of working under 3.2v4.2. If it was an ELF binary you would get something like "cannot execute".

You can query the shared libraries needed by a COFF binary. Run:

 
   dump -Lv Mosaic
 

dump(CP) is part of the development system. If you don't have it, you can do a crude simulation by running:

 
   strings Mosaic | grep /shlib
 

Compare the output to the actual contents of your /shlib directory. You'll find one or more libraries either missing, or with wrong permissions. If it's just a permissions problem, fix it; if a library is missing, ask about it here, people will know where to find it.

On OpenServer 5, which runs both COFF and ELF binaries, both `dump` and `ldd` are useful:

 
 ### shows _both_ COFF and ELF shared objects; only choice for COFF:
 # dump -Lv binary       # optional:    | grep /    -- eliminate noise
 
 ### only works on ELF; knows about UDK runtime; best choice for ELF;
 ### but aborts after one missing library, so `dump -Lv` also useful:
 # ldd binary
 
 ### example 1: OpenServer ELF binary with both ELF and COFF shared objects
 # file /usr/bin/rcp
 /usr/bin/rcp:   ELF 32-bit LSB executable 80386, dynamically linked, stripped, no debug
 # dump -Lv /usr/bin/rcp | grep /
 /usr/bin/rcp:
 [1]     NEEDED   /usr/lib/libndbm.so
 [2]     NEEDED   /usr/lib/libsocket.so.1
 [3]     NEEDED   /usr/lib/libc.so.1
 /usr/bin/rcp:
         /shlib/libkrb5stand_s
 # ldd /usr/bin/rcp
 dynamic linker: /usr/bin/rcp: file loaded: /usr/lib/libndbm.so
 dynamic linker: /usr/bin/rcp: file loaded: /usr/lib/libsocket.so.1
 dynamic linker: /usr/bin/rcp: file loaded: /usr/lib/libc.so.1
 # mv /usr/lib/libndbm.so /usr/lib/libndbm.missing; ldd /usr/bin/rcp
 dynamic linker : /usr/bin/rcp : error opening /usr/lib/libndbm.so
 # mv /usr/lib/libndbm.missing /usr/lib/libndbm.so
 
 ### example 2: UnixWare ELF binary
 # file /udk/bin/uname
 /udk/bin/uname:  ELF 32-bit LSB executable 80386, dynamically linked, stripped, no
 debug (unixware)
 # dump -Lv /udk/bin/uname | grep /
 /udk/bin/uname:
 [1]     NEEDED   /usr/lib/libc.so.1
 # ldd /udk/bin/uname
 /udk/bin/uname needs:
         /usr/lib/libc.so.1 => /udk/usr/lib/libc.so.1
 
 ### example 3: COFF binary
 # file /u/belal/bin/Csum
 /u/belal/bin/Csum:      iAPX 386 COFF demand-paged executable
 # ldd /u/belal/bin/Csum
 ldd: /u/belal/bin/Csum is not an ELF file
 # dump -Lv /u/belal/bin/Csum | grep /
 /u/belal/bin/Csum:
 /u/belal/bin/Csum:
         /shlib/libc_s
 

This thread has some details of ELF binaries and SCO Compilers.


Got something to add? Send me email.





(OLDER)    <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> -> (SCO Unix) I get an error message 'Can't access shared library'



Increase ad revenue 50-250% with Ezoic

Kerio Samepage


Have you tried Searching this site?

Support Rates

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us





Today’s computers are not even close to a 4-year-old human in their ability to see, talk, move, or use common sense. One reason, of course, is sheer computing power. It has been estimated that the information processing capacity of even the most powerful supercomputer is equal to the nervous system of a snail—a tiny fraction of the power available to the supercomputer inside [our] skull. (Steven Pinker)





This post tagged: