August 21, 2005
Hi,

    	Just installed Harmonia (SVN checkout) and tried build.bat, and got
all the errors in the attached file.

    	Is it because DMD 0.129 introduces language changes that break
Harmonia ?

    	Thanks,

marcio
---------

DMD:

D:\marcio\D\Harmonia4D>dmd
Digital Mars D Compiler v0.129
Copyright (c) 1999-2005 by Digital Mars written by Walter Bright
Documentation: www.digitalmars.com/d/index.html


August 23, 2005
In article <Xns96B8F0246DE19mqmnews321SGLEBSCOM@63.105.9.61>, Marcio says...
>
>Hi,
>
>    	Just installed Harmonia (SVN checkout) and tried build.bat, and got
>all the errors in the attached file.
>
>    	Is it because DMD 0.129 introduces language changes that break
>Harmonia ?
>
>    	Thanks,
>
>marcio
>---------
>

Hi marcio,

I got the same results when i changed from dmd 0.109 to 0.129. It seems that the compiler semantics are a -bit- stricter now.

There is no other solution than modifying the following modules:
- harmonia.native.win32 => remove one of the many duplicated enums (they are
rather easy to find, Lines 398-441 and 426-442 if I remember well).
- std.boxer => this conflicts with phobos std.boxer, so this one is a bit
tricky, you may choose to :
1) use phobos/std.boxer and rename all 'box' structures occurences to 'Box'
(phobos-compatible but pretty tricky since it may be confusing with function
'box(...)'), then rename harmonia\std\boxer.d to boxer.d.unused
or
2) rename module std.boxer to, say, "module notstd.boxer2" and rename
folder+file harmonia\std\boxer.d => harmonia\notstd\boxer2.std and finally
change every modules that uses std.boxer (replace "import std.boxer" with
"import notstd.boxer2").
- and when you've exhausted every small compile errors, you may get something
like "error xxx : Menu.MenuItem.destroyed does not overload any". Very annoying
.. The only solution I found was to move methods void created(),void
destroyed(),void resized(),void moved(),void closing(inout bool) from class
Window to class Widget. And that worked, but I still don't know why it doesn't
work with class Window.

I'm not sure this will completely solve your problem, but that may help.

Note: make a release build of harmonia, otherwise you'll have to rebuild phobos.lib in debug mode, and that's quite a challenge.

Good luck.