October 21, 2008 Re: DMD 1.036 and 2.020 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | Bill Baxter wrote: > Assuming Windows, looks like DFLAGS aren't set right in dmd\bin\sc.ini. You're right. sc.ini should be: > [Version] > version=7.51 Build 020 > > [Environment] > LIB="%@P%\..\lib";\dm\lib > DFLAGS="-I%@P%\..\src\phobos -I%@P%\..\src\druntime\import" > LINKCMD=%@P%\..\..\dm\bin\link.exe and dmd.conf should be: > > [Environment] > > DFLAGS=-I%@P%/../src/phobos -I%@P%/../src/runtime/import -L-L%@P%/../lib |
October 21, 2008 Re: DMD 1.036 and 2.020 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to dsimcha | On Tue, Oct 21, 2008 at 9:39 AM, dsimcha <dsimcha@yahoo.com> wrote:
> == Quote from Bill Baxter (wbaxter@gmail.com)'s article
>> On Tue, Oct 21, 2008 at 9:16 AM, dsimcha <dsimcha@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
|
October 21, 2008 Re: DMD 1.036 and 2.020 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | == Quote from Bill Baxter (wbaxter@gmail.com)'s article
> On Tue, Oct 21, 2008 at 9:39 AM, dsimcha <dsimcha@yahoo.com> wrote:
> > == Quote from Bill Baxter (wbaxter@gmail.com)'s article
> >> On Tue, Oct 21, 2008 at 9:16 AM, dsimcha <dsimcha@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
No, but with anything much more complex, like a small home-brew statistics lib I'm trying to port. I'm sure it's just some silly thing. I'll figure it out eventually.
|
October 21, 2008 Re: DMD 1.036 and 2.020 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Tue, Oct 21, 2008 at 9:45 AM, Walter Bright <newshound1@digitalmars.com> wrote: > Bill Baxter wrote: >> >> Assuming Windows, looks like DFLAGS aren't set right in dmd\bin\sc.ini. > > You're right. sc.ini should be: > >> [Version] >> version=7.51 Build 020 >> >> [Environment] >> LIB="%@P%\..\lib";\dm\lib >> DFLAGS="-I%@P%\..\src\phobos -I%@P%\..\src\druntime\import" Actually it doesn't work for me with the whole string as one big quote. I had to split it into two quotes like I posted it before: DFLAGS="-I%@P%\..\src\phobos" "-I%@P%\..\src\druntime\import" --bb |
October 21, 2008 Re: DMD 1.036 and 2.020 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | You're right again. |
October 21, 2008 Re: DMD 1.036 and 2.020 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Hello Walter,
> http://www.digitalmars.com/d/1.0/changelog.html
> http://ftp.digitalmars.com/dmd.1.036.zip
> The 2.0 version splits phobos into druntime and phobos libraries
> (thanks to Sean Kelly). This will enable both Tango and Phobos to
> share a common core library.
>
> http://www.digitalmars.com/d/2.0/changelog.html
> http://ftp.digitalmars.com/dmd.2.020.zip
> There are a lot of structural changes that go along with this, so
> expect some rough patches with this release. It may take a followup
> release to file them down. There's also some renaming of imports and
> function names, as a compromise with Tango names.
>
Thank you! :)
-JJR
|
October 21, 2008 Re: DMD 1.036 and 2.020 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | == Quote from Bill Baxter (wbaxter@gmail.com)'s article
> On Tue, Oct 21, 2008 at 9:39 AM, dsimcha <dsimcha@yahoo.com> wrote:
> > == Quote from Bill Baxter (wbaxter@gmail.com)'s article
> >> On Tue, Oct 21, 2008 at 9:16 AM, dsimcha <dsimcha@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.
|
October 21, 2008 Re: DMD 1.036 and 2.020 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to dsimcha | On Tue, Oct 21, 2008 at 10:59 AM, dsimcha <dsimcha@yahoo.com> wrote:
> == Quote from Bill Baxter (wbaxter@gmail.com)'s article
>> On Tue, Oct 21, 2008 at 9:39 AM, dsimcha <dsimcha@yahoo.com> wrote:
>> > == Quote from Bill Baxter (wbaxter@gmail.com)'s article
>> >> On Tue, Oct 21, 2008 at 9:16 AM, dsimcha <dsimcha@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?
--bb
|
October 21, 2008 Re: DMD 1.036 and 2.020 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Thank you Walter, this step improves D2 significantly :-) I have seen that's there's an improvement in the AAs in D1 too, I'll do few benchmarks. I have also seen this nasty bug fixed in D2: http://d.puremagic.com/issues/show_bug.cgi?id=2333 Can't it be fixed in D1 too? Bye, bearophile |
October 21, 2008 Re: DMD 1.036 and 2.020 releases | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | Tue, 21 Oct 2008 11:19:22 +0900,
Bill Baxter wrote:
> On Tue, Oct 21, 2008 at 10:59 AM, dsimcha <dsimcha@yahoo.com> wrote:
> > == Quote from Bill Baxter (wbaxter@gmail.com)'s article
> >> On Tue, Oct 21, 2008 at 9:39 AM, dsimcha <dsimcha@yahoo.com> wrote:
> >> > == Quote from Bill Baxter (wbaxter@gmail.com)'s article
> >> >> On Tue, Oct 21, 2008 at 9:16 AM, dsimcha <dsimcha@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.
|
Copyright © 1999-2021 by the D Language Foundation