> C++ prelinker: error: bad instantiation information file
> -- instantiation assigned to more than one file
You are probably linking the same .o file into two or more a.out files.
Currently, this is broken in the 5.3 C++ compiler: it assumes a model where
each .o is linked into exactly one a.out or shared library. If you link
the same .o into two a.out's, the prelinker gets all confused, and emits
that message.
The only workaround for now is as follows:
(a) Take the common .o's (the ones that are linked into all the
applications) and put them into a .a file.
*BUT* before that step,
(b) Run the prelinker by hand on those .o's, as in (makefile parlance):
libcommon.a: $(COMMON_OBJECTS)
/usr/lib/DCC/edg_prelink $(COMMON_OBJECTS)
ar cruv libcommon.a $(COMMON_OBJECTS)
(c) Now link your multiple targets against this .a file.
We are addressing this issue for a future release, and are trying to decide
the best way to support such functionality..
--
Shankar Unni E-Mail: sha...@sgi.com
Silicon Graphics Inc. Phone: +1-415-390-2072
URL: http://reality.sgi.com/employees/shankar