www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - dmd host compiler

reply Martin Krejcirik <mk-junk i-line.cz> writes:
What dmd I need to compile recent dmd from source ? I'm getting 
all kinds of errors. Versions pre 2.081 worked fine with my 
2.073. I'm trying 2.085 and 2.087 but no success.

dmd/sapply.d(30): Deprecation: Using super as a type is 
deprecated. Use typeof(super) instead
dmd/sapply.d(53): Error: function 
`dmd.sapply.PostorderStatementVisitor.visit` conflicts with alias 
dmd.sapply.PostorderStatementVisitor.visit at dmd/sapply.d(30)
Jul 05
next sibling parent reply Martin Krejcirik <mk-junk i-line.cz> writes:
Allright, I managed to compile 2.085 using 2.085 so the real 
queastion is, what is the minimum version requirement for host 
compiler.
Jul 05
next sibling parent kinke <noone nowhere.com> writes:
On Friday, 5 July 2019 at 16:36:11 UTC, Martin Krejcirik wrote:
 what is the minimum version requirement for host compiler.
I think it's currently v2.076. I don't know where that is documented.
Jul 05
prev sibling parent reply Patrick Schluter <Patrick.Schluter bbox.fr> writes:
On Friday, 5 July 2019 at 16:36:11 UTC, Martin Krejcirik wrote:
 Allright, I managed to compile 2.085 using 2.085 so the real 
 queastion is, what is the minimum version requirement for host 
 compiler.
I Had the same experience on Linux. It was not possible to build dmd with a predecessing version between version 2.074 and version 2.08?. I had to download a binary of higher version to build the newer compiler or else I would have been stuck on 2.073. It's a rather annoying as we have really strange rules in place that normally do not allow to install binaries from Internet.
Jul 05
parent reply Jonathan Marler <johnnymarler gmail.com> writes:
On Friday, 5 July 2019 at 17:11:37 UTC, Patrick Schluter wrote:
 On Friday, 5 July 2019 at 16:36:11 UTC, Martin Krejcirik wrote:
 Allright, I managed to compile 2.085 using 2.085 so the real 
 queastion is, what is the minimum version requirement for host 
 compiler.
I Had the same experience on Linux. It was not possible to build dmd with a predecessing version between version 2.074 and version 2.08?. I had to download a binary of higher version to build the newer compiler or else I would have been stuck on 2.073. It's a rather annoying as we have really strange rules in place that normally do not allow to install binaries from Internet.
Another option would be to use 2.074 to compile 2.075, then use that to compile 2.076, and so on...of course using the release versions is arbitrary, and may not be granular enough and will likely be too granular in most cases. One really cool thing about D though is that now DMD is completely in D, if you compile it with the `build.d` script it only takes about 20 seconds to compile the whole thing. The Makefile still takes longer because it's using many invocations of the compiler though.
Jul 05
next sibling parent Patrick Schluter <Patrick.Schluter bbox.fr> writes:
On Friday, 5 July 2019 at 17:36:36 UTC, Jonathan Marler wrote:
 On Friday, 5 July 2019 at 17:11:37 UTC, Patrick Schluter wrote:
 On Friday, 5 July 2019 at 16:36:11 UTC, Martin Krejcirik wrote:
 Allright, I managed to compile 2.085 using 2.085 so the real 
 queastion is, what is the minimum version requirement for 
 host compiler.
I Had the same experience on Linux. It was not possible to build dmd with a predecessing version between version 2.074 and version 2.08?. I had to download a binary of higher version to build the newer compiler or else I would have been stuck on 2.073. It's a rather annoying as we have really strange rules in place that normally do not allow to install binaries from Internet.
Another option would be to use 2.074 to compile 2.075, then use that to compile 2.076, and so on...of course using the release versions is arbitrary, and may not be granular enough and will likely be too granular in most cases. One really cool thing about D though is that now DMD is completely in D, if you compile it with the `build.d` script it only takes about 20 seconds to compile the whole thing. The Makefile still takes longer because it's using many invocations of the compiler though.
That was the issue this process works until 2.78.2 (sorry the numbers were off in my first message [1]). It requires at least 2.79.1 to build anything after 2.78.2 on. This means there is a gap in the "build chain". [1]: https://forum.dlang.org/thread/zuehgfyovxxwgebfyokq forum.dlang.org
Jul 05
prev sibling parent reply Jonathan Marler <johnnymarler gmail.com> writes:
On Friday, 5 July 2019 at 17:36:36 UTC, Jonathan Marler wrote:
 On Friday, 5 July 2019 at 17:11:37 UTC, Patrick Schluter wrote:
 [...]
Another option would be to use 2.074 to compile 2.075, then use that to compile 2.076, and so on...of course using the release versions is arbitrary, and may not be granular enough and will likely be too granular in most cases. One really cool thing about D though is that now DMD is completely in D, if you compile it with the `build.d` script it only takes about 20 seconds to compile the whole thing. The Makefile still takes longer because it's using many invocations of the compiler though.
Wait I remembered wrong. The Makefile takes about 20 seconds to build. The `build.d` script takes about 7 seconds to build. Just confirmed it on my machine.
Jul 05
parent user6789 <user6789 booteacht.az> writes:
On Friday, 5 July 2019 at 18:56:50 UTC, Jonathan Marler wrote:
 On Friday, 5 July 2019 at 17:36:36 UTC, Jonathan Marler wrote:
 On Friday, 5 July 2019 at 17:11:37 UTC, Patrick Schluter wrote:
 [...]
Another option would be to use 2.074 to compile 2.075, then use that to compile 2.076, and so on...of course using the release versions is arbitrary, and may not be granular enough and will likely be too granular in most cases. One really cool thing about D though is that now DMD is completely in D, if you compile it with the `build.d` script it only takes about 20 seconds to compile the whole thing. The Makefile still takes longer because it's using many invocations of the compiler though.
Wait I remembered wrong. The Makefile takes about 20 seconds to build. The `build.d` script takes about 7 seconds to build. Just confirmed it on my machine.
The firs time, otherwise it takes more 2 to 3 seconds because most of the times the objects are cached.
Jul 05
prev sibling parent Seb <seb wilzba.ch> writes:
On Friday, 5 July 2019 at 15:17:01 UTC, Martin Krejcirik wrote:
 What dmd I need to compile recent dmd from source ? I'm getting 
 all kinds of errors. Versions pre 2.081 worked fine with my 
 2.073. I'm trying 2.085 and 2.087 but no success.

 dmd/sapply.d(30): Deprecation: Using super as a type is 
 deprecated. Use typeof(super) instead
 dmd/sapply.d(53): Error: function 
 `dmd.sapply.PostorderStatementVisitor.visit` conflicts with 
 alias dmd.sapply.PostorderStatementVisitor.visit at 
 dmd/sapply.d(30)
The easiest solution for this is to set AUTO_BOOTSTRAP=1 when building DMD as this will automatically download a working bootstrap compiler. 2.079 at the moment.
Jul 05