Thread overview
LDC 0.17.0 has been released!
Feb 14, 2016
Kai Nacke
Feb 14, 2016
Elie Morisse
Feb 15, 2016
Thomas Brix Larsen
Feb 15, 2016
John Colvin
Feb 16, 2016
Thomas Brix Larsen
Feb 17, 2016
Kai Nacke
February 14, 2016
Hi everyone!

On behalf of the LDC team I am proud to announce the new 0.17.0 release!
It is based on the 2.068.2 front-end and LLVM 3.5-3.8.

This release is known to work on several Linux architectures, Windows 64bit, FreeBSD and Solaris. The compiler now supports NetBSD and has improved support for OpenBSD and DragonFly, too - though runtime support for these three BSD flavours is still missing.
We worked on many internal refactorings, including preparation for a Win32 compiler. Thanks to the whole team doing this great work.

A special thanks goes to Rainer for the work on the Win32 compiler. A PREVIEW version of this compiler is also made available.

LDC already supports the new LLVM 3.8 release which is scheduled for end of February.

Be sure to read the change log at the GitHub release page which also has the package download links:
https://github.com/ldc-developers/ldc/releases/tag/v0.17.0

Due to an upload issue with GitHub there is no GZip-compressed archive for OS X.

MD5 checksums for the release packages:

851fb55e9dcbc349e9901d1d8f92c914 ldc-0.17.0-src.tar.gz
be4c60b07db67f6134ad9494c1777193 ldc2-0.17.0-linux-x86.tar.gz
f2f4838ffd8dddffbc3d2c13b217fb50 ldc2-0.17.0-linux-x86.tar.xz
b10364a8ce2f9b5de9955b6b36863510 ldc2-0.17.0-linux-x86_64.tar.gz
cfdfb48b58bbdd50af4919e99c70cbe6 ldc2-0.17.0-linux-x86_64.tar.xz
9f59a54315ae991148d8b4db1c84b7ff ldc2-0.17.0-osx-x86_64.tar.xz
b299b4160552b091fa7f46f79972c254 ldc2-0.17.0-win32-msvc.zip
9a396820a1de87764765cb6514e87015 ldc2-0.17.0-win64-msvc.zip

Regarding the binaries:
The Linux binaries are built on Ubuntu 12.04 LTS with gcc 4.8.x and LLVM 3.7.1. They work on Ubuntu 12.04 LTS (or later) without installing additional software.

The OS X binaries are built with LLVM 3.6.2 on OS X 10.10.

The Win64 MSVC version is built with VS2015 using LLVM 3.7.1 in release mode. The distribution now contains a precompiled libcurl 7.46.0 from http://d.darktech.org/libcurl.html. For any other VisualStudio version you need to rebuild the library.
You find the build script here: https://github.com/ldc-developers/ldc-scripts/blob/master/ldc2-win64/RELEASE.proj

The Win32 MSVC version is built with VS2015 using LLVM 3.8.0rc2 in release mode. It incoporates ldc/pull/1168 and druntime/pull/54. Please note that this is a PREVIEW version only.

Please be sure to report any bugs at https://github.com/ldc-developers/ldc/issues, and feel free to drop by at the digitalmars.D.ldc forums (http://forum.dlang.org/group/digitalmars.D.ldc) for any questions or comments.

Thanks to everybody involved in making this happen!

Onward to 1.0!

Regards,
Kai

February 14, 2016
On Sunday, 14 February 2016 at 17:28:08 UTC, Kai Nacke wrote:
> Hi everyone!
>
> On behalf of the LDC team I am proud to announce the new 0.17.0 release!

Yay!
February 15, 2016
On Sunday, 14 February 2016 at 17:28:08 UTC, Kai Nacke wrote:
> Hi everyone!
>
> On behalf of the LDC team I am proud to announce the new 0.17.0 release!
> It is based on the 2.068.2 front-end and LLVM 3.5-3.8.
>
> [...]

liblphobos2 isn't compatible with an executable built with 0.16.1:
undefined symbol: _D4core6memory2GC8addRangeFNbxPvmxC8TypeInfoZv

Also the new version of vibe (0.7.27) isn't working with ldc 0.17.0:
../.dub/packages/vibe-d-0.7.27/source/vibe/db/mongo/settings.d(296,1): Error: class vibe.db.mongo.settings.MongoClientSettings has forward references
February 15, 2016
On Monday, 15 February 2016 at 13:29:33 UTC, Thomas Brix Larsen wrote:
> On Sunday, 14 February 2016 at 17:28:08 UTC, Kai Nacke wrote:
>> Hi everyone!
>>
>> On behalf of the LDC team I am proud to announce the new 0.17.0 release!
>> It is based on the 2.068.2 front-end and LLVM 3.5-3.8.
>>
>> [...]
>
> liblphobos2 isn't compatible with an executable built with 0.16.1:
> undefined symbol: _D4core6memory2GC8addRangeFNbxPvmxC8TypeInfoZv

None of the current D compilers promise ABI compatibility between compiler versions.

> Also the new version of vibe (0.7.27) isn't working with ldc 0.17.0:
> ../.dub/packages/vibe-d-0.7.27/source/vibe/db/mongo/settings.d(296,1): Error: class vibe.db.mongo.settings.MongoClientSettings has forward references

I tried this:

% dub build vibe-d:mongodb --compiler=ldc2
Building package vibe-d:mongodb in /Users/john/.dub/packages/vibe-d-0.7.27/vibe-d/
Performing "debug" build using ldc2 for x86_64.
vibe-d:mongodb 0.7.27: building configuration "library"...
%

no errors for me. what exactly triggered the problem for you?
February 16, 2016
On Monday, 15 February 2016 at 17:57:30 UTC, John Colvin wrote:
> On Monday, 15 February 2016 at 13:29:33 UTC, Thomas Brix Larsen wrote:
>> On Sunday, 14 February 2016 at 17:28:08 UTC, Kai Nacke wrote:
>>> Hi everyone!
>>>
>>> On behalf of the LDC team I am proud to announce the new 0.17.0 release!
>>> It is based on the 2.068.2 front-end and LLVM 3.5-3.8.
>>>
>>> [...]
>>
>> liblphobos2 isn't compatible with an executable built with 0.16.1:
>> undefined symbol: _D4core6memory2GC8addRangeFNbxPvmxC8TypeInfoZv
>
> None of the current D compilers promise ABI compatibility between compiler versions.
>
>> Also the new version of vibe (0.7.27) isn't working with ldc 0.17.0:
>> ../.dub/packages/vibe-d-0.7.27/source/vibe/db/mongo/settings.d(296,1): Error: class vibe.db.mongo.settings.MongoClientSettings has forward references
>
> I tried this:
>
> % dub build vibe-d:mongodb --compiler=ldc2
> Building package vibe-d:mongodb in /Users/john/.dub/packages/vibe-d-0.7.27/vibe-d/
> Performing "debug" build using ldc2 for x86_64.
> vibe-d:mongodb 0.7.27: building configuration "library"...
> %
>
> no errors for me. what exactly triggered the problem for you?

$ dub build --compiler=ldmd2 --build-mode=singleFile --build=release
The determined compiler type "ldc" doesn't match the expected type "dmd". This will probably result in build errors.
Performing "release" build using ldmd2 for x86_64.
vibe-d:utils 0.7.27: target for configuration "library" is up to date.
vibe-d:data 0.7.27: target for configuration "library" is up to date.
vibe-d:core 0.7.27: target for configuration "libevent" is up to date.
vibe-d:http 0.7.27: target for configuration "library" is up to date.
vibe-d:diet 0.7.27: target for configuration "library" is up to date.
vibe-d:mail 0.7.27: target for configuration "library" is up to date.
vibe-d:mongodb 0.7.27: building configuration "library"...
Compiling ../.dub/packages/vibe-d-0.7.27/source/vibe/db/mongo/client.d...
Compiling ../.dub/packages/vibe-d-0.7.27/source/vibe/db/mongo/collection.d...
Compiling ../.dub/packages/vibe-d-0.7.27/source/vibe/db/mongo/connection.d...
Compiling ../.dub/packages/vibe-d-0.7.27/source/vibe/db/mongo/cursor.d...
Compiling ../.dub/packages/vibe-d-0.7.27/source/vibe/db/mongo/database.d...
Compiling ../.dub/packages/vibe-d-0.7.27/source/vibe/db/mongo/mongo.d...
Compiling ../.dub/packages/vibe-d-0.7.27/source/vibe/db/mongo/settings.d...
../.dub/packages/vibe-d-0.7.27/source/vibe/db/mongo/settings.d(296,1): Error: class vibe.db.mongo.settings.MongoClientSettings has forward references
ldmd2 failed with exit code 1.


dub.json has these options beyond what the generated config provides:
"dependencies":{
  "vibe-d": ">=0.7.21-rc.4"
},
"versions": ["VibeDefaultMain", "VibeIdleCollect"]

February 17, 2016
On Tuesday, 16 February 2016 at 08:48:41 UTC, Thomas Brix Larsen wrote:
>>> Also the new version of vibe (0.7.27) isn't working with ldc 0.17.0:
>>> ../.dub/packages/vibe-d-0.7.27/source/vibe/db/mongo/settings.d(296,1): Error: class vibe.db.mongo.settings.MongoClientSettings has forward references
>>
>
> $ dub build --compiler=ldmd2 --build-mode=singleFile --build=release

Hi Thomas!

I get exactly the same error with dmd 2.069 using the command line here (replaced ldmd2 with dmd). Please file a bug report for DMD. Thanks.

Regards,
Kai