digitalmars.D - Harmonia build errors with DMD 0.129 - 1 attachment
Marcio <mqmnews321 sglebs.com> writes:
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
Aug 20 2005
Yk <Yk_member pathlink.com> writes:
In article <Xns96B8F0246DE19mqmnews321SGLEBSCOM 22.214.171.124>, 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.
Aug 23 2005