[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: unknown

>>>>> Bill Hogan <bhogan%bedlam@bedlam.rahul.net> writes:

>    I am trying to compile Sun's ADL system [*] on my Debian-0.93 setup.

>    After cranking happily for about an hour, the process halts with
> the error shown below.

> --------------------------- quote ------------------------------
> [...]
> gcc -static   ADLT/libADLT.a ADLmake/libADLmake.a ADLacf/libADLacf.a
> ADLah/libADLah.a ADLnl/libADLnl.a ADLc/libADLc.a Ctree/libCtree.a
> NLengine/libNLengine.a ADLT/libADLT.a Global/libGlobal.a
> TDDnl/libTDDnl.a TDDc/libTDDc.a TDDh/libTDDh.a TDDtest/libTDDtest.a
> TDDtree/libTDDtree.a ADLtree/libADLtree.a util/libutil.a
> include/flattened/libflattened.a -o adlt
> TDS_impl_Dir.o(.text+0x1a89): undefined reference to `$_9::$_9($_9 const &)'
> make[3]: *** [adlt] Error 1   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> make[3]: Leaving directory `/G/ADL/adl1.0/src/xlator'
> make[2]: *** [xlator] Error 2
> make[2]: Leaving directory `/G/ADL/adl1.0/src'
> make[1]: *** [src] Error 2
> make[1]: Leaving directory `/G/ADL/adl1.0'
> make: *** [run_make] Error 2
> --------------------------- unquote ---------------------------

>    Can anyone tell me what

> 	 `$_9::$_9($_9 const &)'

> might signify?

It is a C++ copy constructor for an object whose class is "$_9".  If
ADL is written in C++, then you should use g++ to do the above link,
rather than gcc.

If the source files are of the form *.C, *.cpp, *.cc, or *.cxx, then
gcc will compile them as C++ files, but when it comes to the above
link, gcc does not know from the arguments that it needs to link C++
object files.

You may only have to say "make CC=g++" to successfully make ADL.

Steve Preston (spreston@gte.com)

Reply to: