sbc@INFORMATICS.WUSTL.EDU (Steve Cousins) (09/11/90)
I tried to re-make andrew after installing SunOS 4.1, and I get: cc -sun4 -I/usr/andrew/include/atk -I/usr/andrew/include -I//usr/include/X11 -o dotest dotest.o ../lib/libclass.a ld: Undefined symbol _class_double _unpacked_to_decimal *** Error code 2 make: Fatal error: Command failed for target `dotest' Current working directory /usr/local/src/X-R4/contrib/toolkits/andrew/overhead/c lass/cmd *** Error code 1 Is there some trick to this that I'm missing? I can't even find class_double in .../overhead/class/cmd. Thanks for any suggestions. Steve Cousins Medical Informatics Lab. Washington University
guy@auspex.auspex.com (Guy Harris) (09/13/90)
>Is there some trick to this that I'm missing? I can't even find class_double >in .../overhead/class/cmd. Rule 1: never draw conclusions from string-matching, if you can possibly avoid it. "class_double" is a routine in the SunOS 4.x (4.0.3, 4.0.3c, and 4.1, at least) C library. It has nothing whatsoever to do with the ATK "class" mechanism. "unpacked_to_decimal" is another routine in the C library. The "cc" command in question links with the standard "libc", and at least the "desktop SPARC" (Sun-4c) distribution of 4.1 has both of those routines in the C library. Try doing nm -o libc.a | egrep 'class_double|unpacked_to_decimal' nm -o libc.so.1.5 | egrep 'class_double|unpacked_to_decimal' on "libc.a" and on the "libc.so" file on your 4.1 SPARC machine (I assume it has version 1.5 here; if not, use that version instead). If it doesn't have entries that define them (entries with "T"), you have a damaged copy of the C library.