Xref: utzoo comp.lang.c++:825 comp.lang.c:7485 Path: utzoo!mnetor!uunet!lll-winken!lll-lcc!ames!ucsd!hub!newton.ucsb.edu!mwette From: mwette%newton@hub.ucsb.edu (Matt Wette) Newsgroups: comp.lang.c++,comp.lang.c Subject: Help. Problems compiling GNU C++ (1.18.0) on SunOS 3.4 Message-ID: <379@hub.ucsb.edu> Date: 22 Feb 88 10:11:52 GMT Sender: news@hub.ucsb.edu Reply-To: mwette%newton@hub.ucsb.edu (Matt Wette) Organization: University of California, Santa Barbara Lines: 51 Please help. I'm compiling GNU C++ (1.18.0) on a Sun 3/60 running SunOS 3.4 with SunPro installed. The loader (ld) complains with Undefined: _obstack_free *** Error code 1 For the sun (non-"_STDC_") compiler obstack_free gets more-or-less expanded to "_obstack_free". This function (actually macro) is called in lex.c and tree.c. When I "cc -E lex.c" I get . . _obstack_begin (... . . ... : (int) _obstack_free (... . . However "nm lex.o" gives me . . U __obstack_begin . . U _obstack_free What gives? macro definitions for "obstack_begin" and "obstack_free" are, respectively, #define obstack_begin(h, size) \ _obstack_begin ((h), (size), 4, obstack_chunk_alloc, obstack_chunk_free) #define obstack_free(h,obj) \ ( (h)->temp = (char *)(obj) - (char *) (h)->chunk, \ (((h)->temp >= 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)\ ? (int) ((h)->next_free = (h)->object_base \ = (h)->temp + (char *) (h)->chunk) \ : (int) _obstack_free ((h), (h)->temp + (char *) (h)->chunk))) #endif Matt _____________________________________________________________________________ Matthew R. Wette | ARPA: mwette%gauss@hub.ucsb.edu Scientific Computation Lab | UUCP: ucbvax!ucsbhub!gauss!mwette Dept. Elec. and Comp. Eng. | University of California | Santa Barbara, CA 93106 | -----------------------------------------------------------------------------