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:
- References:
- unknown
- From: Bill Hogan <bhogan%bedlam@bedlam.rahul.net>