DMD 1.036 and 2.020 releases

Sergey Gromov snake.scaly at gmail.com
Mon Oct 20 19:47:26 PDT 2008


Tue, 21 Oct 2008 11:19:22 +0900,
Bill Baxter wrote:
> On Tue, Oct 21, 2008 at 10:59 AM, dsimcha <dsimcha at yahoo.com> wrote:
> > == Quote from Bill Baxter (wbaxter at gmail.com)'s article
> >> On Tue, Oct 21, 2008 at 9:39 AM, dsimcha <dsimcha at yahoo.com> wrote:
> >> > == Quote from Bill Baxter (wbaxter at gmail.com)'s article
> >> >> On Tue, Oct 21, 2008 at 9:16 AM, dsimcha <dsimcha at yahoo.com> wrote:
> >> >> > I'd love to try these releases, but on a stock setup trying to compile a Hello
> >> >> > World, I get:
> >> >> >
> >> >> > E:\dmd\bin\..\src\phobos\std\stdio.d(27): module memory cannot read file
> >> >> > 'core\memory.d'
> >> >> >
> >> >> Assuming Windows, looks like DFLAGS aren't set right in dmd\bin\sc.ini.
> >> >> Should be:
> >> >> DFLAGS="-I%@P%\..\src\phobos"  "-I%@P%\..\src\druntime\import"
> >> >> That fixes things for me.
> >> >> --bb
> >> >
> >> > Works.  Thanks.  Now I just get weird, inscrutable linker errors.  This one might
> >> > be a little too bleeding edge even for me.
> >> >
> >> Even with Hello World?  That one linked and ran fine for me after
> >> adding the druntime include.
> >> --bb
> >
> > Ok, looks like DMD isn't finding Object properly, using stock config except for
> > Bill Baxter's change to sc.ini.
> >
> > class Foo {}
> >
> > void main() {
> >    auto foo = new Foo;
> > }
> >
> >  Error 42: Symbol Undefined _D6object6Object5printMFZv
> >
> > Seriously, though, Walter, thank you very much for this release.  You have done a
> > tremendous job bringing us a better language.  Merging the Phobos and Tango
> > runtime is a monumental task (Sean, thank you, too) and a few bumps along the road
> > are definitely understandable.
> 
> Hmm, first off it looks like druntime.lib doesn't exist in the D2 download.
> I was able to build it by running build-dmd.bat in one of the druntime
> subdirectories.
> 
> But there's more to it than that.
> 
> There's an object.d in src/phobos with a prototype for a print() function.
> But the object.di in src/druntime/import does not have a print() function.
> 
> So maybe the phobos.lib included was built using the old object.d
> instead of the new one from druntime?

You need to delete the src/phobos/object.d.  Then 
src/druntime/import/object.di is included instead and everything starts 
to work (for some simple projects at least).  Building druntime.lib 
doesn't seem to be required.

I think it's also a good idea to delete src/phobos/std/gc.d because it's 
not in the libs.  You have to use core.memory instead.


More information about the Digitalmars-d-announce mailing list