Jump to page: 1 2 3
Thread overview
Error by building druntime
Dec 23, 2012
Namespace
Dec 23, 2012
Andrej Mitrovic
Dec 23, 2012
Namespace
Dec 24, 2012
Dmitry Olshansky
Dec 24, 2012
bearophile
Dec 24, 2012
Jonathan M Davis
Jan 01, 2013
Namespace
Jan 01, 2013
monarch_dodra
Jan 01, 2013
Namespace
Jan 02, 2013
Jonathan M Davis
Jan 02, 2013
monarch_dodra
Jan 22, 2013
Namespace
Jan 22, 2013
Namespace
Jan 22, 2013
monarch_dodra
Jan 22, 2013
Namespace
Jan 22, 2013
Namespace
Jan 22, 2013
Namespace
Jan 22, 2013
monarch_dodra
Jan 22, 2013
Philippe Sigaud
Jan 22, 2013
monarch_dodra
Jan 22, 2013
Namespace
Jan 22, 2013
Namespace
Jan 22, 2013
Namespace
Jan 22, 2013
Namespace
Dec 24, 2012
monarch_dodra
Dec 23, 2012
Jonathan M Davis
Dec 23, 2012
Ali Çehreli
December 23, 2012
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
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
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
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
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
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
Dmitry Olshansky:

> make -fwin32.mak release

I think there's a space between -f and win32.

Bye,
bearophile
December 24, 2012
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
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
> 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
« First   ‹ Prev
1 2 3