Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
LDC master, built with itself, cannot compile druntime/Phobos (Error: template <foo> cannot deduce function...) #1774
Comments
ximion
changed the title from
Unatble to compile LDC with LDC Git
to
Unable to compile LDC with LDC Git (Error: template std.conv.toImpl cannot deduce function from argument types !(string)(const(char)[]))
Sep 20, 2016
|
I tried this again with the released LDC 1.1.0 beta 2: Build of LDC Git succeeds, but when I try to compile the compiler with the result of the first run, I run into the issue described above. |
ximion
referenced this issue
Sep 23, 2016
Closed
Segfault at at ldc/ldc-1.1.0/driver/main.cpp:1351 #1696
kinke
changed the title from
Unable to compile LDC with LDC Git (Error: template std.conv.toImpl cannot deduce function from argument types !(string)(const(char)[]))
to
LDC master cannot build itself
Sep 23, 2016
|
I'll see if I can reproduce it here. |
|
That would be awesome, since a large amount of stuff depends on LDC being ready, and we are running out of time to get LDC into shape to be in the next Debian release... If you are on any Debian-based derivative, you could easily reproduce this with the packages. |
|
I can reproduce it here on Windows too, same errors. :( |
|
As much as I'd like seeing 1.1 in the next Debian release (!), we shouldn't rush - i.e., 1.1 should be released first, maybe even with 1+ week out in the wild to check for serious issues. ;)
If so, we could really use some more manpower over here. |
kinke
changed the title from
LDC master cannot build itself
to
LDC master, built with itself, cannot compile druntime/Phobos (Error: template <foo> cannot deduce function...)
Sep 23, 2016
|
I find it hard to make sense of this. Why would the D host compiler used to compile LDC cause these template issues? |
|
The main issue is that due to a mistake we have a Git snapshot of LDC in Debian, which is quite painful and should never have happened... |
|
So if the previous 216c112 worked, it's the last DDMD merge that broke it (fails too, just verified, and there's only a LLVM 4.0 debuginfo fix inbetween). |
|
4e495c5, the commit before the DDMD merge, can't build the merge either (or rather, the produced LDC fails to compile the stdlibs too). So my best guess is that the (few) changes in DDMD uncover an older LDC bug which hasn't shown up until now. |
kinke
added
the
A-blocker
label
Sep 26, 2016
kinke
added this to the 1.1.0 milestone
Sep 26, 2016
|
'Older' bug meaning something that crept in after 1.1.0-beta2, as that one's used by Travis for the LLVM 3.8 Linux job. Any Edit: |
|
bisecting... For easy future reference, using this script with
|
|
Commit e711dea works. Commit caf5397 starts failing self-build with a few of these:
Note: it's a different error than the error in OP. |
|
Thanks Johan! Too bad it's that huge commit. :( |
This. |
|
I bet it's this nested scope(exit) change, in combination with 2 forward-referenced goto's for which it probably isn't applied anymore. |
added a commit
to kinke/ldc
that referenced
this issue
Oct 2, 2016
added a commit
that referenced
this issue
Oct 2, 2016
|
Fixed by #1803 (no test yet). |
kinke
closed this
Oct 2, 2016
|
Thanks a lot! |
|
Maybe having the CI test whether LDC can compile itself would make some sense too... |
ximion commentedSep 19, 2016
Hello!
Due to an error we currently have an LDC Git snapshot in Debian.
(see https://tracker.debian.org/pkg/ldc )
The current built copy in the archive was build using Git revision 216c112.
Unfortunately, building a newer LDC Git version fails with
I think I have seen this before and it didn't happen when building with a released LDC.
It would be awesome if this problem could be fixed somehow...