Thread overview
[Issue 15482] new uuid.d forbids to link statically with other libraries
Jan 10, 2016
Martin Nowak
Jan 18, 2016
Sobirari Muhomori
Oct 05, 2016
anonymous4
Oct 05, 2016
Manu
Oct 20, 2016
Martin Nowak
Oct 20, 2016
Manu
Jun 25, 2017
Temtaime
Jun 26, 2017
Vladimir Panteleev
January 10, 2016
https://issues.dlang.org/show_bug.cgi?id=15482

Martin Nowak <code@dawg.eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |code@dawg.eu
         Resolution|---                         |WORKSFORME

--- Comment #1 from Martin Nowak <code@dawg.eu> ---
I couldn't find any of those symbols in the phobos64.lib from 2.070.0-b1 [¹] or the latest nightly [²].

The name phobos_x64.lib suggests that you've compiled the library yourself. Please provide more details if your problem persists.

[¹]: http://downloads.dlang.org/pre-releases/2.x/2.070.0/dmd.2.070.0-b1.windows.7z [²]: https://builds.dawg.eu/dmd-2016-01-10/dmd.master.windows.7z

--
January 18, 2016
https://issues.dlang.org/show_bug.cgi?id=15482

--- Comment #2 from Sobirari Muhomori <dfj1esp02@sneakemail.com> ---
There's a little incompatibility here: mssdk provides these guids in a static
library and declares them as extern in headers, but gnu toolchain can't handle
this scenario gracefully and would link all guids into executable, hence mingw
headers declare guids as static (hidden in C) and doesn't provide static
library with them. To use mssdk library and declare guids as extern, write
extern extern(C) immutable IID GUID_Button;
(without initializer) instead of what currently is in uuid.d

--
October 05, 2016
https://issues.dlang.org/show_bug.cgi?id=15482

anonymous4 <dfj1esp02@sneakemail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|WORKSFORME                  |---

--- Comment #3 from anonymous4 <dfj1esp02@sneakemail.com> ---
Another case: https://forum.dlang.org/post/mailman.892.1475632667.2994.digitalmars-d@puremagic.com

--
October 05, 2016
https://issues.dlang.org/show_bug.cgi?id=15482

Manu <turkeyman@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |turkeyman@gmail.com

--- Comment #4 from Manu <turkeyman@gmail.com> ---
Turns out the symbols are in druntime (I also couldn't find them in phobos!). druntime also has a uuid.d file, so the same object filename, and the symbols are in there. It seems that druntime and phobos are aggregated into one lib? Weird, but okay...

Anyway... I'm not entirely sure these symbols should be in druntime. Why are they there? Why can't users just link the usual libs that supple them? Those libs are now mutually exclusive with phobos, and that's a big problem.

--
October 20, 2016
https://issues.dlang.org/show_bug.cgi?id=15482

--- Comment #5 from Martin Nowak <code@dawg.eu> ---
(In reply to Manu from comment #4)

It's probably just a mistake from adding the Windows headers.

--
October 20, 2016
https://issues.dlang.org/show_bug.cgi?id=15482

--- Comment #6 from Manu <turkeyman@gmail.com> ---
Okay... so, extern to them and remove the definitions in druntime?

--
June 25, 2017
https://issues.dlang.org/show_bug.cgi?id=15482

--- Comment #7 from Temtaime <temtaime@gmail.com> ---
Yes, do it

--
June 26, 2017
https://issues.dlang.org/show_bug.cgi?id=15482

Vladimir Panteleev <dlang-bugzilla@thecybershadow.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dlang-bugzilla@thecybershad
                   |                            |ow.net

--- Comment #8 from Vladimir Panteleev <dlang-bugzilla@thecybershadow.net> ---
Why not just remove the export or extern(C) annotations in
core.sys.windows.uuid?

--
January 28, 2018
https://issues.dlang.org/show_bug.cgi?id=15482

--- Comment #9 from github-bugzilla@puremagic.com ---
Commits pushed to master at https://github.com/dlang/druntime

https://github.com/dlang/druntime/commit/f9e92a011953bf4fef0e4ef34e898ba14796b93d fix issue 15482 - new uuid.d forbids to link statically with other libraries

remove "export extern (C)" from IIDs to not conflict with uuid.lib from the
platform SDK

https://github.com/dlang/druntime/commit/f2f3f240267376b53f5c72a5a8141139086a3390 Merge pull request #2063 from rainers/issue15482

fix issue 15482 - new uuid.d forbids to link statically with other libs

--
January 28, 2018
https://issues.dlang.org/show_bug.cgi?id=15482

github-bugzilla@puremagic.com changed:

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

--