[Issue 9044] dmd sometimes produces object files with multiple definitions
http://d.puremagic.com/issues/show_bug.cgi?id=9044 Martin Nowak changed: What|Removed |Added Status|REOPENED|RESOLVED CC||c...@dawg.eu Resolution||DUPLICATE --- Comment #27 from Martin Nowak 2013-05-30 08:02:26 PDT --- *** This issue has been marked as a duplicate of issue 6461 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 9044] dmd sometimes produces object files with multiple definitions
http://d.puremagic.com/issues/show_bug.cgi?id=9044 --- Comment #26 from Denis Shelomovskij 2013-05-27 12:07:47 MSD --- (In reply to comment #25) > I very much suspect that this is caused by the generated internal object file > names of a library or other generated identifiers that are assumed to be > unique, but clearly this is not guaranteed when building libraries in separate > build steps. It also fails in dmd (not OPTLINK) when a library is generated using a single `dmd -lib ...` call (see Comment 21). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 9044] dmd sometimes produces object files with multiple definitions
http://d.puremagic.com/issues/show_bug.cgi?id=9044 Rainer Schuetze changed: What|Removed |Added CC||r.sagita...@gmx.de --- Comment #25 from Rainer Schuetze 2013-05-20 06:13:05 PDT --- I very much suspect that this is caused by the generated internal object file names of a library or other generated identifiers that are assumed to be unique, but clearly this is not guaranteed when building libraries in separate build steps. I tried to generate a small test on that suspicion some time ago, but it didn't trigger a linker error then. I have figured it out now: module ab; struct AB { int a; int len() { return (new AB).a; } } unittest { } module ba; struct BA { int b; int len() { return (new BA).b; } } unittest { } import ab; import ba; int main() { AB ab; BA ba; return ab.len() + ba.len(); } now building with dmd 2.062: dmd -lib -of"alib.lib" ab.d dmd -lib -of"blib.lib" ba.d dmd -c main.d dmd main.obj alib.lib blib.lib yields: OPTLINK (R) for Win32 Release 8.00.12 Copyright (C) Digital Mars 1989-2010 All rights reserved. http://www.digitalmars.com/ctg/optlink.html blib.lib(object) Offset 013AEH Record Type 0091 Error 1: Previous Definition Different : _D59c:\l\dmd2\windows\bin\..\..\src\druntime\import\object.di.412__ModuleInfoZ blib.lib(object) Offset 0143CH Record Type 00C3 Error 1: Previous Definition Different : _D59c:\l\dmd2\windows\bin\..\..\src\druntime\import\object.di.47__arrayZ blib.lib(object) Offset 01469H Record Type 00C3 Error 1: Previous Definition Different : _D59c:\l\dmd2\windows\bin\..\..\src\druntime\import\object.di.48__assertFiZv blib.lib(object) Offset 01496H Record Type 00C3 Error 1: Previous Definition Different : _D59c:\l\dmd2\windows\bin\..\..\src\druntime\import\object.di.415__unittest_failFiZv blib.lib(object) Offset 00F6EH Record Type 0091 Error 1: Previous Definition Different : _D59c:\l\dmd2\windows\bin\..\..\src\druntime\import\object.di.312__ModuleInfoZ blib.lib(object) Offset 0103BH Record Type 00C3 Error 1: Previous Definition Different : _D59c:\l\dmd2\windows\bin\..\..\src\druntime\import\object.di.37__arrayZ blib.lib(object) Offset 01068H Record Type 00C3 Error 1: Previous Definition Different : _D59c:\l\dmd2\windows\bin\..\..\src\druntime\import\object.di.38__assertFiZv blib.lib(object) Offset 01095H Record Type 00C3 Error 1: Previous Definition Different : _D59c:\l\dmd2\windows\bin\..\..\src\druntime\import\object.di.315__unittest_failFiZv also happens with current git-head. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 9044] dmd sometimes produces object files with multiple definitions
http://d.puremagic.com/issues/show_bug.cgi?id=9044 --- Comment #24 from Denis Shelomovskij 2013-04-30 16:07:00 MSD --- Any plans on fixing this? In my unlucky hands even VisualD's cpp2d fails to build in debug mode because of the issue... -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 9044] dmd sometimes produces object files with multiple definitions
http://d.puremagic.com/issues/show_bug.cgi?id=9044 --- Comment #23 from Denis Shelomovskij 2013-03-14 18:29:41 MSK --- Ping. This is a dmd issue, not OPTLINK one. And the fact it is not a REGRESSION doesn't mean we should continue releasing dmd with it included as it even worse than a regression as it is triggered randomly. Personally I already suffer enough from OPTLINK and the fact dmd also produces corrupted object files looks too cruel. With all this words about language stability we have this issue which may accidentally brake build of every code base on every platform because of a any small code change. I worked on only two non-toy D executables for the last 6 month and both are [partially] blocked because of this. For now I abandoned the first project and have managed to juggle with files to "detrigger" this issue in second one. So I'm completely missing the point where are these issues with higher priority than this, abandoned, unvoted one? Probably I'm the most luckless D user who always suffer from these linking failures... -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 9044] dmd sometimes produces object files with multiple definitions
http://d.puremagic.com/issues/show_bug.cgi?id=9044 Denis Shelomovskij changed: What|Removed |Added Summary|Random "Previous Definition |dmd sometimes produces |Different" optlink failure |object files with multiple |(looks like a buffer|definitions |overflow bug somewhere) | Severity|regression |critical --- Comment #22 from Denis Shelomovskij 2013-03-11 13:02:26 MSK --- Looks like this is not a regression, this bug is triggered from time to time on the same code because of druntime/phobos changes. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---