www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 11251] New: Not able to link (Previous Definition Different)

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=11251

           Summary: Not able to link (Previous Definition Different)
           Product: D
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: michal.minich gmail.com


--- Comment #0 from Michal Minich <michal.minich gmail.com> 2013-10-13 23:55:53
PDT ---
After building vibe.d in dmd 2.064 beta 1 as a lib I was not able to 
link it with application. It was working in dmd 2.063. Now I get:

Error 1: Previous Definition Different : _D12__entrypoint12__ModuleInfoZ

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 13 2013
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=11251


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla digitalmars.com


--- Comment #1 from Walter Bright <bugzilla digitalmars.com> 2013-10-14
15:12:22 PDT ---
Need a small test case.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 14 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=11251



--- Comment #2 from Michal Minich <michal.minich gmail.com> 2013-10-15 01:54:27
PDT ---
(In reply to comment #1)
 Need a small test case.
https://mega.co.nz/#!T5ojET6S!OSP3ezBAvRkbxTtXop7a5lpOgZo1a4MMZgVxJ4fpWko I was not able to build absolutely minimal test case but you can download linked file where you will find prebuild libs using dmd 263 and 264, including source and .bat to rebuild them. Also small app that just links the file. You can find the build scripts for both compiler veresions are identical, yet the .lib fails to link when build and linked with dmd 264. Also invalid executable is generated. Description of folders: * VibeLink is test app just to link vibe*.lib file * vibe-d is latest stable release * VibeLink\build_263.bat run this to link with prebuild VibeLink\lib\vibe_dmd263_snn.lib using dmd 2.063 * VibeLink\build_264.bat run this to link with prebuild VibeLink\lib\vibe_dmd264beta1.lib using dmd 2.064 * vibe-d\build.bat run this to rebuild vibe.lib -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 15 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=11251


Kenji Hara <k.hara.pg gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |link-failure, pull


--- Comment #3 from Kenji Hara <k.hara.pg gmail.com> 2013-10-19 22:51:57 PDT ---
https://github.com/D-Programming-Language/dmd/pull/2685

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 19 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=11251



--- Comment #4 from github-bugzilla puremagic.com 2013-10-20 12:47:58 PDT ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/5a117c433d719a63e217e82232a3d0e7e83fd353
fix Issue 11251 - Not able to link (Previous Definition Different)

By #2540 , implicitly defined C main has been moved to __entrypoint module.
But, the codegen generates ModuleInfo symbol for the module. And vibe.d has its
own main function in library. Then, compiling uer progam with vibe.d library
will cause the conflict of two ModuleInfo symbols of __entrypoint module.

Due to avoid ModuleInfo symbol generation for __entrypoint, I added a special
case in Module::genobjfile function. But, I'm not sure that the change won't
cause any other problems...

https://github.com/D-Programming-Language/dmd/commit/01c985ae3e5eb5f66da8dbb46ed2c1a621fbfcac
Merge pull request #2685 from 9rnsr/fix11251

[REG2.064a] Issue 11251 - Not able to link (Previous Definition Different)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 20 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=11251



--- Comment #5 from github-bugzilla puremagic.com 2013-10-20 12:48:28 PDT ---
Commit pushed to 2.064 at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/9e9a329a71ab8cb7664f1b1a7bf9812231a58914
Merge pull request #2685 from 9rnsr/fix11251

[REG2.064a] Issue 11251 - Not able to link (Previous Definition Different)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 20 2013
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=11251


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 20 2013