DOCUMENT ID: 1151-02 SYNOPSIS: A script to find symbol definitions in libraries OS RELEASE: PRODUCT: Solaris x86 KEYWORDS: undefined symbols building linking script library DESCRIPTION: It is difficult resolving undefined symbols when building executable programs. The searching through libraries one at a time or "hit and missing" building can be very time consuming. This script automates the library search process. SOLUTION: Here is a script that searches each of a selected set of libraries: ----------------------------cut here ------------------------------- # !/bin/sh # find symbol references in libraries /lib and /usr/lib are searched # xlib=lib xfile=/tmp/st$$.tmp # libraries to be searched for xlib in /lib /usr/lib do cd $xlib pwd # search each library for i in lib*.a do nm $i | grep $1 | grep FILE >$xfile if [ -s $xfile ]; then echo $xlib/$i cat $xfile fi done done rm $xfile ---------------------------script end------------------------------- Script Documentation: Installation: The script should be extracted and installed in a directory commonly used during development activities under the name "findsym". I.E. /usr/local/bin or /usr/sbin . The script may be modified to include additional libraries in the search. Usage: To locate "strcmp" the script is invoked: findsym strcmp Sample output: /lib/libc.a [1] | 0| 0|FILE |LOCL |0 |ABS |strcmp.s /lib/libc.a [1] | 0| 0|FILE |LOCL |0 |ABS |strcmp.s DATE APPROVED: 10/10/95