Jump to page: 1 2
Thread overview
Release D 2.078.1
Jan 22, 2018
Martin Nowak
Jan 23, 2018
thedeemon
Jan 23, 2018
Andre Pany
Jan 25, 2018
Atila Neves
Jan 25, 2018
Rainer Schuetze
Jan 31, 2018
Atila Neves
Jan 31, 2018
Arjan
Feb 01, 2018
Atila Neves
Jan 31, 2018
Rainer Schuetze
Feb 01, 2018
Atila Neves
Feb 01, 2018
Rainer Schuetze
Feb 09, 2018
Martin Nowak
Jan 23, 2018
Rainer Schuetze
Feb 01, 2018
Rainer Schuetze
Jan 24, 2018
Radu
Jan 24, 2018
Martin Nowak
Jan 24, 2018
Radu
January 22, 2018
Glad to announce D 2.078.1.

http://dlang.org/download.html

This point release fixes a few issues over 2.078.1, see the changelog for more details.

http://dlang.org/changelog/2.078.1.html

- -Martin
January 23, 2018
On Monday, 22 January 2018 at 20:43:56 UTC, Martin Nowak wrote:
> Glad to announce D 2.078.1.


The Windows 7z archive version now has much simpler sc.ini, in fact too simple.
With Visual C++ 2015 x64 Native Build Tools now trying to run
dmd -m64 hi.d
I get
LINK : fatal error LNK1104: cannot open file 'libucrt.lib'
Error: linker exited with status 1104

So I needed to edit sc.ini and add back
LIB=%LIB%;"%UniversalCRTSdkDir%\Lib\%UCRTVersion%\ucrt\x64"
to the [Environment64] section.

Then it went just as 2.078.0 - still missing legacy_stdio_definitions.lib that I need to add manually in the command line.
January 23, 2018
On Tuesday, 23 January 2018 at 13:08:35 UTC, thedeemon wrote:
> On Monday, 22 January 2018 at 20:43:56 UTC, Martin Nowak wrote:
>> Glad to announce D 2.078.1.
>
>
> The Windows 7z archive version now has much simpler sc.ini, in fact too simple.
> With Visual C++ 2015 x64 Native Build Tools now trying to run
> dmd -m64 hi.d
> I get
> LINK : fatal error LNK1104: cannot open file 'libucrt.lib'
> Error: linker exited with status 1104
>
> So I needed to edit sc.ini and add back
> LIB=%LIB%;"%UniversalCRTSdkDir%\Lib\%UCRTVersion%\ucrt\x64"
> to the [Environment64] section.
>
> Then it went just as 2.078.0 - still missing legacy_stdio_definitions.lib that I need to add manually in the command line.

Did you call vcvarsall in the current dos box/PowerShell? It is a tool included with all visual studio variants.

Kind regards
Andre
January 23, 2018

On 23.01.2018 14:08, thedeemon wrote:
> On Monday, 22 January 2018 at 20:43:56 UTC, Martin Nowak wrote:
>> Glad to announce D 2.078.1.
> 
> 
> The Windows 7z archive version now has much simpler sc.ini, in fact too simple.
> With Visual C++ 2015 x64 Native Build Tools now trying to run
> dmd -m64 hi.d
> I get
> LINK : fatal error LNK1104: cannot open file 'libucrt.lib'
> Error: linker exited with status 1104
> 
> So I needed to edit sc.ini and add back
> LIB=%LIB%;"%UniversalCRTSdkDir%\Lib\%UCRTVersion%\ucrt\x64"
> to the [Environment64] section.
> 
> Then it went just as 2.078.0 - still missing legacy_stdio_definitions.lib that I need to add manually in the command line.

The UCRT library path and legacy_stdio_definitions.lib should have been detected automatically.

I suspect that the Build Tools don't set the environment variable VisualStudioVersion (why should they?) which is used to detect whether the UCRT library path and legacy_stdio_definitions.lib are needed.

This PR https://github.com/dlang/dmd/pull/7500 would have fixed that by changing the detection to the existence of legacy_stdio_definitions.lib in the VC library path. Unfortunately it didn't make it into the release. (The PR contains other stuff, too, that was not meant to go into a .1 release.)

(Having VS installed would help, too, as it is also detected without the environment set.)
January 24, 2018
On Monday, 22 January 2018 at 20:43:56 UTC, Martin Nowak wrote:
> Glad to announce D 2.078.1.
>
> http://dlang.org/download.html
>
> This point release fixes a few issues over 2.078.1, see the changelog for more details.
>
> http://dlang.org/changelog/2.078.1.html
>
> - -Martin

Just want to bring to your attention a major regression introduced in 2.078, and still present on current master, re. the new __equals template.

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

Comparing arrays of associative arrays is broken!
January 24, 2018
On Wednesday, 24 January 2018 at 13:30:42 UTC, Radu wrote:
> Just want to bring to your attention a major regression introduced in 2.078, and still present on current master, re. the new __equals template.
>
> https://issues.dlang.org/show_bug.cgi?id=18252
>
> Comparing arrays of associative arrays is broken!

Not to be insulting, but hoping for better understanding.

Why, even when the compiler almost directly points to the problem at hand (a missing check for associative arrays :o, https://github.com/dlang/druntime/blob/a66f9fa78f2e295146fb2b3fc8e567983c9e9aed/src/object.d#L3486), doesn't this simply convert to a small pull request to fix the problem (https://github.com/dlang/druntime/pull/2058)?
January 24, 2018
On Wednesday, 24 January 2018 at 20:05:42 UTC, Martin Nowak wrote:
> On Wednesday, 24 January 2018 at 13:30:42 UTC, Radu wrote:
>> Just want to bring to your attention a major regression introduced in 2.078, and still present on current master, re. the new __equals template.
>>
>> https://issues.dlang.org/show_bug.cgi?id=18252
>>
>> Comparing arrays of associative arrays is broken!
>
> Not to be insulting, but hoping for better understanding.
>
> Why, even when the compiler almost directly points to the problem at hand (a missing check for associative arrays :o, https://github.com/dlang/druntime/blob/a66f9fa78f2e295146fb2b3fc8e567983c9e9aed/src/object.d#L3486), doesn't this simply convert to a small pull request to fix the problem (https://github.com/dlang/druntime/pull/2058)?

First of all, thanks for fixing it!

No injuries suffered :D, but here is a list:
- not so confident I understood the whole issue form that implementation, count it as lack of experience.
- if wanting to get hands dirty - setting up the whole D dev env (compiler, runtime, tests) on a new machine it takes a while, at least the way I count it.
- even if I get that running and make a change that runs on my machine, the outlook of time spent in ping-pong with the reviewers/auto-testers on a PR is daunting.

To wrap it up - it is not `easy as pie` for random contributor to make even a simple PR because of the perceived overhead both in engineering and social aspects, that or I'm to lazy :O
January 25, 2018
On Tuesday, 23 January 2018 at 15:16:02 UTC, Andre Pany wrote:
> On Tuesday, 23 January 2018 at 13:08:35 UTC, thedeemon wrote:
>> On Monday, 22 January 2018 at 20:43:56 UTC, Martin Nowak wrote:
>>> Glad to announce D 2.078.1.
>>
>>
>> The Windows 7z archive version now has much simpler sc.ini, in fact too simple.
>> With Visual C++ 2015 x64 Native Build Tools now trying to run
>> dmd -m64 hi.d
>> I get
>> LINK : fatal error LNK1104: cannot open file 'libucrt.lib'
>> Error: linker exited with status 1104
>>
>> So I needed to edit sc.ini and add back
>> LIB=%LIB%;"%UniversalCRTSdkDir%\Lib\%UCRTVersion%\ucrt\x64"
>> to the [Environment64] section.
>>
>> Then it went just as 2.078.0 - still missing legacy_stdio_definitions.lib that I need to add manually in the command line.
>
> Did you call vcvarsall in the current dos box/PowerShell? It is a tool included with all visual studio variants.
>
> Kind regards
> Andre

I just ran into this today. With the dmd 2.077.1 Windows installer things just work, and it's never necessary to call vcvarsall.bat to build D code for 64-bit.

Since dmd 2.078.0, with Visual Studio 2015, nothing works anymore, and sc.ini doesn't seem to reference Visual Studio at all like it used to.

Atila
January 25, 2018

On 25.01.2018 14:54, Atila Neves wrote:
> On Tuesday, 23 January 2018 at 15:16:02 UTC, Andre Pany wrote:
>> On Tuesday, 23 January 2018 at 13:08:35 UTC, thedeemon wrote:
>>> On Monday, 22 January 2018 at 20:43:56 UTC, Martin Nowak wrote:
>>>> Glad to announce D 2.078.1.
>>>
>>>
>>> The Windows 7z archive version now has much simpler sc.ini, in fact too simple.
>>> With Visual C++ 2015 x64 Native Build Tools now trying to run
>>> dmd -m64 hi.d
>>> I get
>>> LINK : fatal error LNK1104: cannot open file 'libucrt.lib'
>>> Error: linker exited with status 1104
>>>
>>> So I needed to edit sc.ini and add back
>>> LIB=%LIB%;"%UniversalCRTSdkDir%\Lib\%UCRTVersion%\ucrt\x64"
>>> to the [Environment64] section.
>>>
>>> Then it went just as 2.078.0 - still missing legacy_stdio_definitions.lib that I need to add manually in the command line.
>>
>> Did you call vcvarsall in the current dos box/PowerShell? It is a tool included with all visual studio variants.
>>
>> Kind regards
>> Andre
> 
> I just ran into this today. With the dmd 2.077.1 Windows installer things just work, and it's never necessary to call vcvarsall.bat to build D code for 64-bit.
> 
> Since dmd 2.078.0, with Visual Studio 2015, nothing works anymore, and sc.ini doesn't seem to reference Visual Studio at all like it used to.
> 
> Atila

Visual Studio is supposed to be detected by dmd now, either from the environment or from the registry.

What errors do you get? Try running with -v to show the linker command line.
January 31, 2018
On Thursday, 25 January 2018 at 20:11:54 UTC, Rainer Schuetze wrote:
>
>
> On 25.01.2018 14:54, Atila Neves wrote:
>> On Tuesday, 23 January 2018 at 15:16:02 UTC, Andre Pany wrote:
>>> On Tuesday, 23 January 2018 at 13:08:35 UTC, thedeemon wrote:
>>>> On Monday, 22 January 2018 at 20:43:56 UTC, Martin Nowak wrote:
>>>>> Glad to announce D 2.078.1.
>>>>
>>>>
>>>> The Windows 7z archive version now has much simpler sc.ini, in fact too simple.
>>>> With Visual C++ 2015 x64 Native Build Tools now trying to run
>>>> dmd -m64 hi.d
>>>> I get
>>>> LINK : fatal error LNK1104: cannot open file 'libucrt.lib'
>>>> Error: linker exited with status 1104
>>>>
>>>> So I needed to edit sc.ini and add back
>>>> LIB=%LIB%;"%UniversalCRTSdkDir%\Lib\%UCRTVersion%\ucrt\x64"
>>>> to the [Environment64] section.
>>>>
>>>> Then it went just as 2.078.0 - still missing legacy_stdio_definitions.lib that I need to add manually in the command line.
>>>
>>> Did you call vcvarsall in the current dos box/PowerShell? It is a tool included with all visual studio variants.
>>>
>>> Kind regards
>>> Andre
>> 
>> I just ran into this today. With the dmd 2.077.1 Windows installer things just work, and it's never necessary to call vcvarsall.bat to build D code for 64-bit.
>> 
>> Since dmd 2.078.0, with Visual Studio 2015, nothing works anymore, and sc.ini doesn't seem to reference Visual Studio at all like it used to.
>> 
>> Atila
>
> Visual Studio is supposed to be detected by dmd now, either from the environment or from the registry.
>
> What errors do you get? Try running with -v to show the linker command line.

$ dub init
$ dub build --arch=x86_64
Performing "debug" build using C:\D\dmd2\windows\bin\dmd.exe for x86_64.
example ~master: building configuration "application"...
Linking...
LINK : fatal error LNK1104: cannot open file 'shell32.lib'

-v shows that it's linking like so:

C:\D\dmd2\windows\bin\dmd.exe -of.dub\build\application-debug-windows-x86_64-dmd_2078-70A25404824ECE07D24A9F4D03E746CD\example.exe .dub\build\application-debug-windows-x86_64-dmd_2078-70A25404824ECE07D24A9F4D03E746CD\example.obj -m64 -g

Should I file a bug for dmd or the installer? Are 64-bit dub builds not done by CI on Windows? This is pretty embarassing.

Atila
« First   ‹ Prev
1 2