Error by building druntime

monarch_dodra monarchdodra at gmail.com
Wed Jan 2 00:48:11 PST 2013


On Wednesday, 2 January 2013 at 00:20:55 UTC, Jonathan M Davis 
wrote:
> On Tuesday, January 01, 2013 23:10:15 Namespace wrote:
>> The path is D:\D\dmd2\src\dmd, there is the make file.
>> But I did not move anything. I'm using windows.
>
> It looks like you're trying to build dmd from where it's 
> installed rather from
> the repo. I have no idea if that even works. AFAIK, no one does 
> that. So, even
> if it's supposed to work, most of us will have no more of a 
> clue what to do
> about it than you will. Sorting it out would require 
> understanding the makefile
> that's there.
>
> If you want to build dmd, grab it from the repo, and build it 
> from its src
> directory. Either that or use DVM: 
> https://github.com/jacob-carlborg/dvm
>
> - Jonathan M Davis

Namespace:

OK: That explains it then.

Anyways, if you want to rebuild the packaged dmd, it is possible. 
There's just a little bug in the "clean" target, because it tries 
to cd into a folder that doesn't exist. Comment around the lines 
300-301 in the clean target:

294 clean:
295 	$(DEL) *.obj
296 	$(DEL) total.sym
297 	$(DEL) msgs.h msgs.c
298 	$(DEL) elxxx.c cdxxx.c optab.c debtab.c fltables.c tytab.c
299 	$(DEL) impcnvtab.c
300 ###	cd $(CPPUNIT)\src\cppunit
301 ###	$(MAKE) clean

And it should work. Again, don't forget to copy the generated 
.exe's.

That said, there is very little point to rebuilding the packaged 
dmd (AFAIK).

The "poor man's" or "easy way" to build the entire DMD chain from 
source is to keep DMD 2.060 files, but delete the src/* 
directory. Then, you copy the sources from git, and re-compile 
with that. Doing it that way is easier, because it pre-writes 
your sc.init, it has a lot of libs and tools pre-generated etc.

BTW: http://wiki.dlang.org/Building_DMD


More information about the Digitalmars-d-learn mailing list