5.0beta4 compile error: d.area

Conn Copas conn.copas at dsto.defence.gov.au
Wed Oct 27 05:44:24 EDT 1999


Malcolm Williamson <malcolm at cast.uark.edu> writes:

> Any thoughts on the following? Compiled under Solaris2.6, gcc, Sun
> Enterprise 5000.
> 
> gcc -s -o /proj/grass4.1/grass5.0/etc/bin/contrib/cmd/d.area
> OBJ.sparc-sun-solaris2.6/main.o OBJ.sparc-sun-solaris2.6/plot.o
> /proj/grass4.1/grass5.0beta/src/libes/LIB.sparc-sun-solaris2.6/libdisplay.a
> /proj/grass4.1/grass5.0beta/src/libes/LIB.sparc-sun-solaris2.6/libraster.a
> /proj/grass4.1/grass5.0beta/src/libes/LIB.sparc-sun-solaris2.6/libvect.a
> /proj/grass4.1/grass5.0beta/src/libes/LIB.sparc-sun-solaris2.6/libdig2.a
> /proj/grass4.1/grass5.0beta/src/libes/LIB.sparc-sun-solaris2.6/libgis.a
> -lm
> Undefined                       first referenced
>  symbol                             in file
> xdrmem_create                      

Aside from any questions about whether the configuration scripts are doing their 
thing, one way to find a lib file which references that symbol is to trawl your 
libs and perform the Unix command "nm" on each. I seem to have that symbol in 
/usr/lib/libnsl.so on an Ultra. Here's a script I use:

------------------------------ <cut here> ---------------------------------

#!/bin/sh

# Usage: script_name <symbol> <root directory> 
# where  
# <symbol> is what we want "nm" to look for  
# <root directory> is where to initiate a recursive find 
 
if (test "$#" != 2) then 
        echo "Usage: script_name <symbol> <root directory>" 
        exit 
fi 
 
 
main()
{
arg1=$1  
 
while (test "$2" != "") do
        line=`nm $2 | grep $arg1`
        if (test "$line" != "") then 
                echo $2
                echo $line
                echo
        fi
        shift 
done   
}
  
so_files=`find $2 -name '*lib*.so' -print`   
a_files=`find $2 -name '*lib*.a' -print` 
main $1 $so_files $a_files 

------------------------------ <cut here> ---------------------------------

--
Conn V Copas
Information Technology Division
Defence Science and Technology Organisation
PO Box 1500
Salisbury            tel: +61 (0)8 825 95349
SA  5108             fax: +61 (0)8 825 95589
Australia       e-mail: Conn.Copas at dsto.defence.gov.au
------------------------------------------------------




More information about the grass-user mailing list