[Issue 846] Error 42: Symbol Undefined "<mangle_of_class_template>__arrayZ"

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Nov 3 02:40:48 PST 2008


http://d.puremagic.com/issues/show_bug.cgi?id=846


ultimate.macfan.atic at gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ultimate.macfan.atic at gmail.c
                   |                            |om
             Status|RESOLVED                    |REOPENED
           Keywords|                            |link-failure
         Resolution|FIXED                       |
            Summary|Error 42: Symbol Undefined  |Error 42: Symbol Undefined
                   |_D1a7__arrayZ               |"<mangle_of_class_template>_
                   |                            |_arrayZ"
            Version|0.177                       |2.014




------- Comment #5 from ultimate.macfan.atic at gmail.com  2008-11-03 04:40 -------
I'm getting linking errors when I compile and link a module I wrote using dmd
that sound similar to what's described here.  I've looked for other
documentation of this issue, but I haven't found any so I'm going to go ahead
and post this as a bug to see if anyone else can replicate it, even though this
problem appears to have been fixed the last time it was rearing its (insert
creative adjective here) head.

The error output:

C:\Documents and Settings\Christopher Johnson\My Documents>dmd -v
edu\utah\eng\chjohnso\boggle.d
parse     boggle
semantic  boggle
import    object        (\dmd\src\phobos\object.d)
import    std.c.stdlib  (\dmd\src\phobos\std\c\stdlib.d)
import    std.c.stddef  (\dmd\src\phobos\std\c\stddef.d)
import    std.ctype     (\dmd\src\phobos\std\ctype.d)
import    edu.utah.eng.chjohnso.set     (edu\utah\eng\chjohnso\set.d)
import    std.stdio     (\dmd\src\phobos\std\stdio.d)
import    std.c.stdio   (\dmd\src\phobos\std\c\stdio.d)
import    std.c.stdarg  (\dmd\src\phobos\std\c\stdarg.d)
import    std.format    (\dmd\src\phobos\std\format.d)
import    std.stdarg    (\dmd\src\phobos\std\stdarg.d)
import    std.utf       (\dmd\src\phobos\std\utf.d)
import    std.contracts (\dmd\src\phobos\std\contracts.d)
import    std.conv      (\dmd\src\phobos\std\conv.d)
import    std.string    (\dmd\src\phobos\std\string.d)
import    std.algorithm (\dmd\src\phobos\std\algorithm.d)
import    std.math      (\dmd\src\phobos\std\math.d)
import    std.c.math    (\dmd\src\phobos\std\c\math.d)
import    std.traits    (\dmd\src\phobos\std\traits.d)
import    std.typetuple (\dmd\src\phobos\std\typetuple.d)
import    std.date      (\dmd\src\phobos\std\date.d)
import    std.dateparse (\dmd\src\phobos\std\dateparse.d)
import    std.c.windows.windows (\dmd\src\phobos\std\c\windows\windows.d)
import    std.functional        (\dmd\src\phobos\std\functional.d)
import    std.typecons  (\dmd\src\phobos\std\typecons.d)
import    std.metastrings       (\dmd\src\phobos\std\metastrings.d)
import    std.iterator  (\dmd\src\phobos\std\iterator.d)
import    std.c.string  (\dmd\src\phobos\std\c\string.d)
import    std.encoding  (\dmd\src\phobos\std\encoding.d)
import    std.uni       (\dmd\src\phobos\std\uni.d)
import    std.array     (\dmd\src\phobos\std\array.d)
import    std.system    (\dmd\src\phobos\std\system.d)
import    std.bitmanip  (\dmd\src\phobos\std\bitmanip.d)
import    std.intrinsic (\dmd\src\phobos\std\intrinsic.d)
import    std.gc        (\dmd\src\phobos\std\gc.d)
import    gcstats       (\dmd\src\phobos\gcstats.d)
import    std.file      (\dmd\src\phobos\std\file.d)
import    std.path      (\dmd\src\phobos\std\path.d)
import    std.regexp    (\dmd\src\phobos\std\regexp.d)
import    std.outbuffer (\dmd\src\phobos\std\outbuffer.d)
import    std.windows.syserror  (\dmd\src\phobos\std\windows\syserror.d)
import    std.windows.charset   (\dmd\src\phobos\std\windows\charset.d)
semantic2 boggle
semantic3 boggle
code      boggle
function  this
function  chooseChar
function  randomize
function  getFace
function  playWord
function  getScore
function  __foreachbody21
function  _makeSetConditionary
function  __foreachbody22
function  allLegalWordsPlayed
function  __dgliteral1
function  allSharedLegalWordsPlayed
function  __dgliteral2
function  allIllegalWordsPlayed
function  __dgliteral3
function  scoreByLength
function  isLegal
function  verify
function  this
function  empty
function  length
function  insert
function  erase
function  clear
function  swap
function  opIn_r
function  opApply
function  main
\dm\bin\link.exe boggle,,,user32+kernel32/noi;
OPTLINK (R) for Win32  Release 8.00.1
Copyright (C) Digital Mars 1989-2004  All rights reserved.
boggle.obj(boggle)
 Error 42: Symbol Undefined _D3edu4utah3eng8chjohnso3set7__arrayZ
--- errorlevel 1



This link failure persists when I add the "-debug" switch, but goes away if I
add the "-release" switch.  So thankfully in the meantime there is some kind of
work-around so I can at least get my code to *run*, but not being able to
compile with -debug or without the extra baggage of -release sounds like it's
an issue that could use some improvement both for saving keystrokes at the
command-line as well as for optimal debugging.

Hope I'm doing this in proper procedure!  :-)

Should my email not make it into this otherwise, it's
ultimate.mac.fanatic at gmail.com  (and your Mac Fanatic only compiles D on
windows because he can't get any D 2.0 compilers for his Mac OS X 10.5  :-P).


-- 



More information about the Digitalmars-d-bugs mailing list