Release D 2.085.0
aliak
something at something.com
Mon Mar 4 09:08:55 UTC 2019
On Sunday, 3 March 2019 at 17:44:21 UTC, Andre Pany wrote:
> On Sunday, 3 March 2019 at 14:01:03 UTC, aliak wrote:
>> On Saturday, 2 March 2019 at 18:19:37 UTC, Martin Nowak wrote:
>>> Glad to announce D 2.085.0, ♥ to the 49 contributors.
>>>
>>> This release comes with context-aware assertion messages,
>>> lower GC memory usage, a precise GC, support to link custom
>>> GCs, lots of Objective-C improvements¹, and
>>> toolchainRequirements for dub. This release also ended
>>> official support for OSX-32.
>>>
>>> http://dlang.org/download.html
>>> http://dlang.org/changelog/2.085.0.html
>>>
>>> ¹: There is a pending Objective-C fix
>>> (https://github.com/dlang/dmd/pull/9402) that slipped 2.085.0
>>> but will
>>> be released with 2.085.1 soon (~1.5 weeks).
>>>
>>> -Martin
>>
>> I'm not sure what's happening here but with 2.085.0 I'm
>> getting linking errors all of a sudden. Could it be dub?
>>
>> To reproduce, init a new dub project, add dependency on
>> "ddash" and use this main:
>>
>> import std.stdio;
>>
>> void main() {
>> import ddash: stringifySeperatedBy;
>> writeln([1, 2, 3].stringifySeperatedBy("."));
>> }
>>
>> Linking results in:
>>
>> Linking...
>> Undefined symbols for architecture x86_64:
>> "__D5ddash12__ModuleInfoZ", referenced from:
>> __D3app12__ModuleInfoZ in blah.o
>> ld: symbol(s) not found for architecture x86_64
>> clang: error: linker command failed with exit code 1 (use -v
>> to see invocation)
>>
>>
>> When I set compiler back to 2.084.1 then:
>>
>> Linking...
>> To force a rebuild of up-to-date targets, run again with
>> --force.
>> Running ./blah
>> 1.2.3
>>
>> Any ideas?
>
> After upgrading DMD in most cases I have to either delete the
> cached dub packages in the user directory or execute dub with
> the --force argument to rebuild all dependent dub packages.
> In theory dub should be able to recognize a changed compiler
> version and automatically rebuild all dependencies but I do not
> know how hard it would be to implement this.
>
> Kind regards
> Andre
Thanks for the tip, but it was on deployment on clean machines so
everything is downloaded from scratch. No caches as far as i
could tell. Double checked on my machine as well and still the
same.
I did however notice that it also works on 2.085.0 if i import it
a different way:
i.e. this works:
void main() {
import ddash.functional: stringifySeperatedBy; // difference is
in import statement
writeln([1, 2, 3].stringifySeperatedBy("."));
}
So I guess maybe dub is off somewhere, or something which
shouldn't have been working was.
More information about the Digitalmars-d-announce
mailing list