digitalmars.D - Compiling druntime gives error messages
- tcak (26/26) Nov 04 2014 I have DMD 2.066.1 installed on 64-bit Ubuntu 14.04.
- H. S. Teoh via Digitalmars-d (11/17) Nov 04 2014 Generally, to compile druntime from git HEAD requires that you use dmd
- Joakim (10/29) Nov 04 2014 Specifically, it was noticed that certain function attribute
- Domingo (9/9) Nov 05 2014 And what about of back ports of important fixes, changes that can
- Joakim (7/15) Nov 05 2014 While it may be better for users if such backporting was done for
- tcak (5/29) Nov 06 2014 I downloaded the source codes of 2.066.1 from Downloads page of
- tcak (5/29) Nov 06 2014 I downloaded the source codes of 2.066.1 from Downloads page of
I have DMD 2.066.1 installed on 64-bit Ubuntu 14.04. I downloaded all files from https://github.com/D-Programming-Language/druntime I use following command line to compile druntime to generate library. make -f posix.mak DMD=dmd First few lines are as follows: dmd -c -o- -Isrc -Iimport -Hfimport/core/sync/barrier.di src/core/sync/barrier.d src/core/stdc/stdio.d(859): Error: found 'nothrow' when expecting '{' src/core/stdc/stdio.d(861): Error: mismatched number of curly brackets src/core/stdc/stdio.d(862): Error: mismatched number of curly brackets src/core/stdc/stdio.d(863): Error: mismatched number of curly brackets Then I opened both ./src/core/stdc/stdio.d /usr/include/dmd/druntime/import/core/stdc/stdio.d to compare them each other. On line 859, the downloaded stdio.d has "asm nothrow nogc". The installed stdio.d has "asm" only. Am I downloading wrong druntime codes, or using wrong DMD compiler? It is like downloaded druntime codes are coming from future.
Nov 04 2014
On Tue, Nov 04, 2014 at 11:32:34PM +0000, tcak via Digitalmars-d wrote:I have DMD 2.066.1 installed on 64-bit Ubuntu 14.04. I downloaded all files from https://github.com/D-Programming-Language/druntime[...]Am I downloading wrong druntime codes, or using wrong DMD compiler? It is like downloaded druntime codes are coming from future.Generally, to compile druntime from git HEAD requires that you use dmd from git HEAD, as a number of compiler / druntime fixes require changes in both. So it's not surprising if the latest druntime fails to be compiled by an earlier compiler. See also: http://wiki.dlang.org/Building_DMD (which includes building druntime). T -- Nobody is perfect. I am Nobody. -- pepoluan, GKC forum
Nov 04 2014
On Tuesday, 4 November 2014 at 23:45:54 UTC, H. S. Teoh via Digitalmars-d wrote:On Tue, Nov 04, 2014 at 11:32:34PM +0000, tcak via Digitalmars-d wrote:Specifically, it was noticed that certain function attribute checks are skipped if the function contains an asm block (https://issues.dlang.org/show_bug.cgi?id=12979), so attributes for asm blocks were added after the stable release: https://github.com/D-Programming-Language/dmd/pull/4033 Obviously, the stable compiler doesn't recognize those subsequent changes in git HEAD, so you have to compile dmd from git source if you want to compile druntime from the latest git.I have DMD 2.066.1 installed on 64-bit Ubuntu 14.04. I downloaded all files from https://github.com/D-Programming-Language/druntime[...]Am I downloading wrong druntime codes, or using wrong DMD compiler? It is like downloaded druntime codes are coming from future.Generally, to compile druntime from git HEAD requires that you use dmd from git HEAD, as a number of compiler / druntime fixes require changes in both. So it's not surprising if the latest druntime fails to be compiled by an earlier compiler. See also: http://wiki.dlang.org/Building_DMD (which includes building druntime).
Nov 04 2014
And what about of back ports of important fixes, changes that can be backward compatible. In my point of view the 2.0.66.* is a dead release, because it can not compile lots of already existing code that the 2.0.65 and 2.0.67 can. A D language weakness pointed out on other posts no backports/fixes like gcc and others do. Not a good thing to grow up the user base. Cheers !
Nov 05 2014
On Wednesday, 5 November 2014 at 17:40:54 UTC, Domingo wrote:And what about of back ports of important fixes, changes that can be backward compatible. In my point of view the 2.0.66.* is a dead release, because it can not compile lots of already existing code that the 2.0.65 and 2.0.67 can. A D language weakness pointed out on other posts no backports/fixes like gcc and others do. Not a good thing to grow up the user base.While it may be better for users if such backporting was done for stable releases, the D community doesn't have the resources to do that right now. Perhaps users can post bounties on bountysource for specific features they'd like to see backported, as it's thankless work that nobody is incented to do otherwise: https://www.bountysource.com/teams/d/issues
Nov 05 2014
On Wednesday, 5 November 2014 at 03:31:47 UTC, Joakim wrote:On Tuesday, 4 November 2014 at 23:45:54 UTC, H. S. Teoh via Digitalmars-d wrote:I downloaded the source codes of 2.066.1 from Downloads page of Dlan. Then I used its druntime folder. It builds properly. Though I still couldn't have made it work with -defaultlib flag. Anyway, I will play with it for a while.On Tue, Nov 04, 2014 at 11:32:34PM +0000, tcak via Digitalmars-d wrote: Generally, to compile druntime from git HEAD requires that you use dmd from git HEAD, as a number of compiler / druntime fixes require changes in both. So it's not surprising if the latest druntime fails to be compiled by an earlier compiler. See also: http://wiki.dlang.org/Building_DMD (which includes building druntime).Specifically, it was noticed that certain function attribute checks are skipped if the function contains an asm block (https://issues.dlang.org/show_bug.cgi?id=12979), so attributes for asm blocks were added after the stable release: https://github.com/D-Programming-Language/dmd/pull/4033 Obviously, the stable compiler doesn't recognize those subsequent changes in git HEAD, so you have to compile dmd from git source if you want to compile druntime from the latest git.
Nov 06 2014
On Wednesday, 5 November 2014 at 03:31:47 UTC, Joakim wrote:On Tuesday, 4 November 2014 at 23:45:54 UTC, H. S. Teoh via Digitalmars-d wrote:I downloaded the source codes of 2.066.1 from Downloads page of Dlan. Then I used its druntime folder. It builds properly. Though I still couldn't have made it work with -defaultlib flag. Anyway, I will play with it for a while.On Tue, Nov 04, 2014 at 11:32:34PM +0000, tcak via Digitalmars-d wrote: Generally, to compile druntime from git HEAD requires that you use dmd from git HEAD, as a number of compiler / druntime fixes require changes in both. So it's not surprising if the latest druntime fails to be compiled by an earlier compiler. See also: http://wiki.dlang.org/Building_DMD (which includes building druntime).Specifically, it was noticed that certain function attribute checks are skipped if the function contains an asm block (https://issues.dlang.org/show_bug.cgi?id=12979), so attributes for asm blocks were added after the stable release: https://github.com/D-Programming-Language/dmd/pull/4033 Obviously, the stable compiler doesn't recognize those subsequent changes in git HEAD, so you have to compile dmd from git source if you want to compile druntime from the latest git.
Nov 06 2014