Thread overview | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
December 23, 2012 Error by building druntime | ||||
---|---|---|---|---|
| ||||
I tried to fork and build dmd, druntime and phobos. With dmd it works fine but if I try "make -f win32.mak" on druntime I get: [code] src\core\sys\windows\windows.d(81): Warning: else is dangling, add { } after con dition at src\core\sys\windows\windows.d(17) src\core\sys\windows\windows.d(164): Warning: else is dangling, add { } after co ndition at src\core\sys\windows\windows.d(17) src\core\sys\windows\windows.d(1286): Warning: else is dangling, add { } after c ondition at src\core\sys\windows\windows.d(17) src\rt\arraycast.d(33): Error: object.Error is thrown but not caught src\rt\arraycast.d(26): Error: function rt.arraycast._d_arraycast '_d_arraycast' is nothrow yet may throw src\rt\arraycat.d(36): Error: object.Error is thrown but not caught src\rt\arraycat.d(45): Error: object.Error is thrown but not caught src\rt\arraycat.d(25): Error: function rt.arraycat._d_arraycopy '_d_arraycopy' i s nothrow yet may throw [/code] Is that my fault? :o Is there any official manual for building dmd, druntime and phobos? |
December 23, 2012 Re: Error by building druntime | ||||
---|---|---|---|---|
| ||||
Posted in reply to Namespace | On 12/23/12, Namespace <rswhite4@googlemail.com> wrote: > Is that my fault? :o > Is there any official manual for building dmd, druntime and > phobos? > You're probably building druntime 2.061 with dmd 2.060. First you need to build dmd git-head, then druntime (*with* the newly built DMD), then phobos. There are some guides written here, see if that helps: http://wiki.dlang.org/Building_DMD or http://wiki.dlang.org/Using_Git_on_Windows |
December 23, 2012 Re: Error by building druntime | ||||
---|---|---|---|---|
| ||||
Posted in reply to Namespace | On Sunday, December 23, 2012 23:53:16 Namespace wrote: > I tried to fork and build dmd, druntime and phobos. With dmd it > works fine but if I try "make -f win32.mak" on druntime I get: > [code] > src\core\sys\windows\windows.d(81): Warning: else is dangling, > add { } after con > dition at src\core\sys\windows\windows.d(17) > src\core\sys\windows\windows.d(164): Warning: else is dangling, > add { } after co > ndition at src\core\sys\windows\windows.d(17) > src\core\sys\windows\windows.d(1286): Warning: else is dangling, > add { } after c > ondition at src\core\sys\windows\windows.d(17) > src\rt\arraycast.d(33): Error: object.Error is thrown but not > caught > src\rt\arraycast.d(26): Error: function rt.arraycast._d_arraycast > '_d_arraycast' > is nothrow yet may throw > src\rt\arraycat.d(36): Error: object.Error is thrown but not > caught > src\rt\arraycat.d(45): Error: object.Error is thrown but not > caught > src\rt\arraycat.d(25): Error: function rt.arraycat._d_arraycopy > '_d_arraycopy' i > s nothrow yet may throw > [/code] > > Is that my fault? :o > Is there any official manual for building dmd, druntime and > phobos? You need to build the current versions of druntime and Phobos with the current version of dmd, and you need to build the current version of Phobos with the current version of druntime. Mixing and matching versions will inevitably result in compilation errors. I'm sure that someone has instructions for it somewhere, but I don't know where. This page on the wiki explains some but not enough: http://wiki.dlang.org/Pull_Requests I'd expect fuller instructions to end up on the wiki at some point though. I wrote this up a while ago, but I don't know if it needs any tweaking at this point or not.: -------------------- * Download dmc from dlang.org. Unzip it in C:\ * Download dmd from dlang.org. Unzip it in C:\ * Add this to your path: C:\dm\bin;C:\dmd2\windows\bin * Download libcurl from dlang.org. Unzip it in C:\ so that the files in its dmd2 directory go in C:\dmd2 * Build a test program to make sure that dmd works properly. * Create a directory to hold your git repositories. (I'm assuming C:\github) * Setup your dmd, druntime, and phobos repositories in C:\github per the instructions on github for setting up repositories * Change C:\dmd2\windows\bin\sc.ini to this: ------------- [Version] version=7.51 Build 020 [Environment] LIB="c:\github\druntime\lib";"c:\github\phobos\";"c:\dmd2\windows\lib";c: \dm\lib DFLAGS="-Ic:\github\phobos\";"c:\github\druntime\import" LINKCMD=%@P%\link.exe ------------- * Go to C:\github\dmd\src and run make -f win32.mak clean make -f win32.mak Make sure that you run a clean for every build of dmd. It's makefiles don't always work correctly when you do partial builds. * Copy C:\github\dmd\src\dmd.exe to C:\dmd2\windows\bin * Run dmd without any arguments and check its version number to make sure that it's one greater than the latest release. * Go to C:\github\druntime and run make -f win32.mak clean make -f win32.mak You may see errors from the clean about files which didn't exist. They happen because the makefile is trying to delete stuff that won't exist until you've run a build. * Go to C:\github\phobos and run make -f win32.mak clean make -f win32.mak * dmd should now work properly with the latest druntime and Phobos. * If you wish to run the unit tests for either druntime or Phobos, then go to that repository and run make -f win32.mak clean make -f win32.mak unittest make -f win32.mak unittest.exe If you build druntime's unit tests, make sure that you build it normally again afterwards, or your druntime may not be setup correctly for normal usage. -------------------- Since I wrote it primarily for myself, it may make assumptions about how you want to set things up that aren't necessary (e.g. using C:\github), and there may be ways to do things better. But it should at least help you along. - Jonathan M Davis |
December 23, 2012 Re: Error by building druntime | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | On Sunday, 23 December 2012 at 23:01:37 UTC, Andrej Mitrovic wrote:
> On 12/23/12, Namespace <rswhite4@googlemail.com> wrote:
>> Is that my fault? :o
>> Is there any official manual for building dmd, druntime and
>> phobos?
>>
>
> You're probably building druntime 2.061 with dmd 2.060. First you need
> to build dmd git-head, then druntime (*with* the newly built DMD),
> then phobos. There are some guides written here, see if that helps:
> http://wiki.dlang.org/Building_DMD or
> http://wiki.dlang.org/Using_Git_on_Windows
Yeah that was my fault. Thanks a lot.
And thanks Jonathan M Davis for your detailed answer.
Is it possible, that, even if I use " -release", dmd is build in debug mode (on windows)?
|
December 23, 2012 Re: Error by building druntime | ||||
---|---|---|---|---|
| ||||
Posted in reply to Namespace | On 12/23/2012 02:53 PM, Namespace wrote: > I tried to fork and build dmd, druntime and phobos. There is also the following project by Nathan M. Swan: http://forum.dlang.org/thread/ygwzndxbwzrxzlhuooty@forum.dlang.org It worked flawlessly for me. Ali |
December 24, 2012 Re: Error by building druntime | ||||
---|---|---|---|---|
| ||||
Posted in reply to Namespace | 12/24/2012 3:33 AM, Namespace пишет: > On Sunday, 23 December 2012 at 23:01:37 UTC, Andrej Mitrovic wrote: >> On 12/23/12, Namespace <rswhite4@googlemail.com> wrote: >>> Is that my fault? :o >>> Is there any official manual for building dmd, druntime and >>> phobos? >>> >> >> You're probably building druntime 2.061 with dmd 2.060. First you need >> to build dmd git-head, then druntime (*with* the newly built DMD), >> then phobos. There are some guides written here, see if that helps: >> http://wiki.dlang.org/Building_DMD or >> http://wiki.dlang.org/Using_Git_on_Windows > > Yeah that was my fault. Thanks a lot. > And thanks Jonathan M Davis for your detailed answer. > Is it possible, that, even if I use " -release", dmd is build in debug > mode (on windows)? make -fwin32.mak release So release is a make target. -- Dmitry Olshansky |
December 24, 2012 Re: Error by building druntime | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dmitry Olshansky | Dmitry Olshansky:
> make -fwin32.mak release
I think there's a space between -f and win32.
Bye,
bearophile
|
December 24, 2012 Re: Error by building druntime | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | On Monday, December 24, 2012 09:38:43 bearophile wrote:
> Dmitry Olshansky:
> > make -fwin32.mak release
>
> I think there's a space between -f and win32.
There's a good chance that it doesn't matter one way or the other.
- Jonathan M Davis
|
December 24, 2012 Re: Error by building druntime | ||||
---|---|---|---|---|
| ||||
Posted in reply to Namespace | On Sunday, 23 December 2012 at 23:33:34 UTC, Namespace wrote: > On Sunday, 23 December 2012 at 23:01:37 UTC, Andrej Mitrovic wrote: >> On 12/23/12, Namespace <rswhite4@googlemail.com> wrote: >>> Is that my fault? :o >>> Is there any official manual for building dmd, druntime and >>> phobos? >>> >> >> You're probably building druntime 2.061 with dmd 2.060. First you need >> to build dmd git-head, then druntime (*with* the newly built DMD), >> then phobos. There are some guides written here, see if that helps: >> http://wiki.dlang.org/Building_DMD or >> http://wiki.dlang.org/Using_Git_on_Windows > > Yeah that was my fault. Thanks a lot. > And thanks Jonathan M Davis for your detailed answer. > Is it possible, that, even if I use " -release", dmd is build in debug mode (on windows)? Remember after building dmd.exe, to copy it in your path(usually,*\dmd2\windows\bin), or else you'll be using your old dmd.exe |
January 01, 2013 Re: Error by building druntime | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dmitry Olshansky | > make -fwin32.mak release
>
> So release is a make target.
Then I get:
D:\D\dmd2\src\dmd>make -fwin32.mak release
make -fwin32.mak C=backend TK=tk ROOT=root clean
del *.obj
del total.sym
del msgs.h msgs.c
del elxxx.c cdxxx.c optab.c debtab.c fltables.c tytab.c
del impcnvtab.c
cd cppunit-1.12.1\src\cppunit
--- errorlevel 1
--- errorlevel 1
What's wrong? o.O
|
Copyright © 1999-2021 by the D Language Foundation