www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 14871] New: Linker errors with 2.068.0-rc1

https://issues.dlang.org/show_bug.cgi?id=14871

          Issue ID: 14871
           Summary: Linker errors with 2.068.0-rc1
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Keywords: industry, link-failure
          Severity: regression
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: briancschott gmail.com

While testing 2.068.0-rc1 against some EMSI internal code as well as a
development version of DCD I ran into some linking issues. It seems that the
linker is trying to resolve some symbols whose names end with "__arrayZ" and
"__assertFiZv". These symbol names seem to always be at module scope.

Example error messages:

/path_partially_redacted/ext/containers/src/containers/unrolledlist.d:445:
undefined reference to `_D10containers12unrolledlist8__assertFiZv'

bin/dcd-server.o: In function
`_D3std12experimental9allocator15building_blocks15stats_collector232__T14StatsCollectorTS3std12experimental9allocator15building_blocks6region137__T6RegionTS3std12experimental9allocator10mallocator10MallocatorVki16VE3std8typecons43__T4FlagVAyaa13_67726f77446f776e7761726473Z4Flagi0Z6RegionVmi1024Vmi0Z14StatsCollector6defineFAyaAAyaXAya':
msgpack-d/src/msgpack.d:(.text._D3std12experimental9allocator15building_blocks15stats_collector232__T14StatsCollectorTS3std12experimental9allocator15building_blocks6region137__T6RegionTS3std12experimental9allocator10mallocator10MallocatorVki16VE3std8typecons43__T4FlagVAyaa13_67726f77446f776e7761726473Z4Flagi0Z6RegionVmi1024Vmi0Z14StatsCollector6defineFAyaAAyaXAya+0x83):
undefined reference to
`_D3std12experimental9allocator15building_blocks15stats_collector7__arrayZ'

It should be possible to reproduce part of the error with a checkout of DCD at
this version:
https://github.com/Hackerpilot/DCD/tree/7724ab9dc63221d383dfcfdf78429c570eeba60c
(Remember to run `git submodule update --init --recursive after checking out)

--
Aug 05 2015