Bug 19851 – std.concurrency linker errors with -dip1000
Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2019-05-07T00:05:04Z
Last change time
2019-05-14T23:05:26Z
Assigned to
No Owner
Creator
JR
Comments
Comment #0 by zorael — 2019-05-07T00:05:04Z
With 2.086 my project no longer successfully builds with -dip1000. It still does with 2.085.1.
Dustmite reduced it to the following (https://run.dlang.io/is/JXsXMQ):
import std.concurrency;
import core.time;
void main()
{
receiveTimeout(0.seconds);
}
/usr/bin/ld: .dub/build/application-debug-linux.posix-x86_64-dmd_2086-301FABA8FA5858F19823E330F087FDB6/kameloso.o: in function `_D3std11concurrency10MessageBox__T3getTS4core4time8DurationZQBaMFQBaZ4scanMFKSQCyQCx__T4ListTSQDoQDn7MessageZQwZb': /win/temp/Digger/work/result/bin/../import/std/concurrency.d:2050: undefined reference to `_D3std11concurrency__T4ListTSQBbQBa7MessageZQw7opSliceMFNaNbNiNjZSQCmQCl__TQCbTQBzZQCj5Range'
/usr/bin/ld: .dub/build/application-debug-linux.posix-x86_64-dmd_2086-301FABA8FA5858F19823E330F087FDB6/kameloso.o: in function `_D3std11concurrency10MessageBox__T3getTS4core4time8DurationZQBaMFQBaZ3ptyMFKSQCxQCw__T4ListTSQDnQDm7MessageZQwZb':
/win/temp/Digger/work/result/bin/../import/std/concurrency.d:2096: undefined reference to `_D3std11concurrency__T4ListTSQBbQBa7MessageZQw7opSliceMFNaNbNiNjZSQCmQCl__TQCbTQBzZQCj5Range'
collect2: error: ld returned 1 exit status
Error: linker exited with status 1
Comment #1 by greeenify — 2019-05-07T07:55:34Z
Unfortunately that's a well-known problem and is due to -dip1000 changing the mangling. Though maybe making noise about this in the NG can help?