www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - druntime build failing because of masm386 problems

reply Jonathan M Davis via Digitalmars-d-learn writes:
It's been a while since I did anything in Windows with D, and unfortunately,
I need to again, and now I can't get druntime to build. I'm getting this
lovely error:

dmc -c  src\rt\minit.asm
masm386 -DM_I386=1 -D_WIN32 -Mx src\rt\minit.asm;

Can't run 'masm386', check PATH
Error: 'dmc' not found


I know that I've seen this before, but I can't remember how to fix the
problem. dmc is definitely on my PATH (I successfully built dmd prior to
trying to build druntime), so the error seems to be wrong, for whatever good
that does me. I don't see a masm386 with dmc, so I don't know where that
comes from. Maybe that's part of the problem.

Has anyone seen this problem and figured out how to get around it or fix it?

- Jonathan M Davis
Jan 18 2015
next sibling parent Rikki Cattermole <alphaglosined gmail.com> writes:
On 19/01/2015 4:53 p.m., Jonathan M Davis via Digitalmars-d-learn wrote:
 It's been a while since I did anything in Windows with D, and unfortunately,
 I need to again, and now I can't get druntime to build. I'm getting this
 lovely error:

 dmc -c  src\rt\minit.asm
 masm386 -DM_I386=1 -D_WIN32 -Mx src\rt\minit.asm;

 Can't run 'masm386', check PATH
 Error: 'dmc' not found


 I know that I've seen this before, but I can't remember how to fix the
 problem. dmc is definitely on my PATH (I successfully built dmd prior to
 trying to build druntime), so the error seems to be wrong, for whatever good
 that does me. I don't see a masm386 with dmc, so I don't know where that
 comes from. Maybe that's part of the problem.

 Has anyone seen this problem and figured out how to get around it or fix it?

 - Jonathan M Davis
I've actually had a go at rebuilding druntime recently for dub. This is one of the things I HATE the state of. masm386 based upon what I read from the NG is a compiler written for 16bit and hence not runnable on 32bit Windows. You will find however minit.obj in the repo along with minit.asm. You shouldn't need to recompile minit.asm.
Jan 18 2015
prev sibling parent reply jollie <jollie home.net> writes:
Jonathan M Davis via Digitalmars-d-learn <digita
lmars-d-learn puremagic.com> Wrote in message:
 It's been a while since I did anything in Windows with D, and unfortunately,
 I need to again, and now I can't get druntime to build. I'm getting this
 lovely error:
 
 dmc -c  src\rt\minit.asm
 masm386 -DM_I386=1 -D_WIN32 -Mx src\rt\minit.asm;
 
 Can't run 'masm386', check PATH
 Error: 'dmc' not found
 
 
 I know that I've seen this before, but I can't remember how to fix the
 problem. dmc is definitely on my PATH (I successfully built dmd prior to
 trying to build druntime), so the error seems to be wrong, for whatever good
 that does me. I don't see a masm386 with dmc, so I don't know where that
 comes from. Maybe that's part of the problem.
 
 Has anyone seen this problem and figured out how to get around it or fix it?
 
 - Jonathan M Davis
 
 
It's been some months since I had this problem pop up, but I just ran touch on the minit.obj file so make thought it was up to date and used it. --
Jan 18 2015
next sibling parent reply Jonathan M Davis via Digitalmars-d-learn writes:
On Sunday, January 18, 2015 23:21:43 jollie via Digitalmars-d-learn wrote:
 Jonathan M Davis via Digitalmars-d-learn <digita
 lmars-d-learn puremagic.com> Wrote in message:
 It's been a while since I did anything in Windows with D, and unfortunately,
 I need to again, and now I can't get druntime to build. I'm getting this
 lovely error:

 dmc -c  src\rt\minit.asm
 masm386 -DM_I386=1 -D_WIN32 -Mx src\rt\minit.asm;

 Can't run 'masm386', check PATH
 Error: 'dmc' not found


 I know that I've seen this before, but I can't remember how to fix the
 problem. dmc is definitely on my PATH (I successfully built dmd prior to
 trying to build druntime), so the error seems to be wrong, for whatever good
 that does me. I don't see a masm386 with dmc, so I don't know where that
 comes from. Maybe that's part of the problem.

 Has anyone seen this problem and figured out how to get around it or fix it?

 - Jonathan M Davis
It's been some months since I had this problem pop up, but I just ran touch on the minit.obj file so make thought it was up to date and used it.
That did the trick. Thanks. It looks like that has to be done after every time I run clean. That definitely sucks. - Jonathan M Davis
Jan 18 2015
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/18/15 10:19 PM, Jonathan M Davis via Digitalmars-d-learn wrote:
 On Sunday, January 18, 2015 23:21:43 jollie via Digitalmars-d-learn wrote:
 Jonathan M Davis via Digitalmars-d-learn <digita
 lmars-d-learn puremagic.com> Wrote in message:
 It's been a while since I did anything in Windows with D, and unfortunately,
 I need to again, and now I can't get druntime to build. I'm getting this
 lovely error:

 dmc -c  src\rt\minit.asm
 masm386 -DM_I386=1 -D_WIN32 -Mx src\rt\minit.asm;

 Can't run 'masm386', check PATH
 Error: 'dmc' not found


 I know that I've seen this before, but I can't remember how to fix the
 problem. dmc is definitely on my PATH (I successfully built dmd prior to
 trying to build druntime), so the error seems to be wrong, for whatever good
 that does me. I don't see a masm386 with dmc, so I don't know where that
 comes from. Maybe that's part of the problem.

 Has anyone seen this problem and figured out how to get around it or fix it?

 - Jonathan M Davis
It's been some months since I had this problem pop up, but I just ran touch on the minit.obj file so make thought it was up to date and used it.
That did the trick. Thanks. It looks like that has to be done after every time I run clean. That definitely sucks. - Jonathan M Davis
Can't we just change win32.mak to consider minit.obj part of the distribution? -- Andrei
Jan 21 2015
prev sibling parent reply Jonathan M Davis via Digitalmars-d-learn writes:
On Sunday, January 18, 2015 22:19:29 Jonathan M Davis via Digitalmars-d-learn
wrote:
 On Sunday, January 18, 2015 23:21:43 jollie via Digitalmars-d-learn wrote:
 It's been some months since I had this problem pop up, but I just
  ran touch on the minit.obj file so make thought it was up to date
  and used it.
That did the trick. Thanks. It looks like that has to be done after every time I run clean. That definitely sucks.
Oh. It looks like this page has an even better suggestion: http://wiki.dlang.org/Building_DMD It suggests creating an empty masm386.bat file in a directory which is in your path (e.g. C:\dm\bin), and then it'll just work, since masm386 will do nothing. Still, I'm inclined to think that the makefile should be fixed so that it just uses the provided object file if can't be rebuilt on the system anyway. - Jonathan M Davis
Jan 18 2015
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/18/15 11:22 PM, Jonathan M Davis via Digitalmars-d-learn wrote:
 It suggests creating an empty masm386.bat file in a directory which is in
 your path (e.g. C:\dm\bin), and then it'll just work, since masm386 will do
 nothing. Still, I'm inclined to think that the makefile should be fixed so
 that it just uses the provided object file if can't be rebuilt on the system
 anyway.
Yah, that's a pretty poor suggestion. -- Andrei
Jan 21 2015