www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - LDC 0.16.0 alpha2 is out!

reply "Kai Nacke" <kai redstar.de> writes:
Hi everyone!

On behalf of the LDC team I am proud to announce the LDC 0.16.0 
alpha2 release!
It is based on the 2.067.1 front-end and LLVM 3.1-3.7 (OS X: no 
support for 3.3).

This alpha version fixes some issues and adds new features. Most 
important changes are:

- Frontend is now at 2.067.1
- LLVM 3.7 is supported
- DMD-style coverage analysis is added
- ABI changes which fixes a lot of bugs in the Win64 compiler

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.16.0-alpha2

Note: This release has alpha quality. There are known and unknown 
bugs left. Please test it!

MD5 checksums for the release packages:

669ab8a326a5dc6fbf83fcedc63de839 
ldc2-0.16.0-alpha2-linux-x86.tar.gz
49640fce95ed1cdffd45637ce5d127e7 
ldc2-0.16.0-alpha2-linux-x86.tar.xz
5cd11ce7be0e5318be9ee85382dd02ce 
ldc2-0.16.0-alpha2-linux-x86_64.tar.gz
1baff7662236538ac2415d5a297dc90c 
ldc2-0.16.0-alpha2-linux-x86_64.tar.xz
a96f9509f2e55953e7739fdcdc54b4e0 
ldc2-0.16.0-alpha2-osx-x86_64.tar.gz
800961d6de716d0e80620a59f40c58c0 
ldc2-0.16.0-alpha2-osx-x86_64.tar.xz
a99512c68c7690ac4174f7ca8ce97ac6 ldc2-0.16.0-alpha2-win64-msvc.zip
f16ccbe0991fef2bc9165eb9c066620f ldc-0.16.0-alpha2-src.tar.gz

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

Due to a library build problem there is currently no MinGW32 
version. This will be fixed in alpha3 or beta1.

The OS X binaries are now built on OS X 10.10. It is currently 
unknown if this causes backwards compatibility issues.

The Win64 MSVC version is still considered alpha quality. It is 
built with VS2013 using LLVM 3.7rc3 in release mode. The 
distribution now contains a precompiled libcurl 7.40.0 from 
http://d.darktech.org/libcurl.html.
Attention: There is a regression in LDC or a bug in LLVM which 
currently requires the use of linker flag -L/FORCE:MULTIPLE. I am 
currently investigating this issue (issue #988).
You find the build script here: 
https://github.com/ldc-developers/ldc-scripts/blob/master/ldc2-win64/RELEASE.proj

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!

Regards,
Kai
Sep 01 2015
next sibling parent David Nadlinger via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
On 2 Sep 2015, at 1:25, Kai Nacke via digitalmars-d-ldc wrote:
 On behalf of the LDC team I am proud to announce the LDC 0.16.0 alpha2 
 release!
 It is based on the 2.067.1 front-end and LLVM 3.1-3.7 (OS X: no 
 support for 3.3).
Note that at the current point, the LLVM 3.7-based build seems decidedly less stable than the others for as of yet unknown reasons (see GitHub issues). It is highly recommended to build against LLVM 3.6. — David
Sep 01 2015
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2015-09-02 00:25, Kai Nacke wrote:

 The OS X binaries are now built on OS X 10.10. It is currently unknown
 if this causes backwards compatibility issues.
Without having looked at how LDC is built, there's a linker flag, -macosx_version_min, that can be used to indicated which minimum version of the OS the binary should be able to run on. -- /Jacob Carlborg
Sep 02 2015
prev sibling next sibling parent reply "Zekereth" <viserion.thrall gmail.com> writes:
On Tuesday, 1 September 2015 at 22:25:40 UTC, Kai Nacke wrote:
 Hi everyone!

 On behalf of the LDC team I am proud to announce the LDC 0.16.0 
 alpha2 release!
 It is based on the 2.067.1 front-end and LLVM 3.1-3.7 (OS X: no 
 support for 3.3).

 [...]
Not sure if this is a bug but I'm getting this error when building with dub: Performing "release" build using ldc2 for x86_64. Building raijin ~develop configuration "library"... Error: failed to create path to file: .dub/obj/.dub/build/library-release-linux.posix-x86_64-ldc_0-2AFD432DEF289933FA297CAD17F4F9E0/libraijin.a No such file or directory ldc2 failed with exit code 1. Works fine with dmd. Dub version DUB version 0.9.24-rc.2+8-g64582dd, built on Aug 18 2015
Sep 02 2015
parent David Nadlinger via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
On 3 Sep 2015, at 9:39, Zekereth via digitalmars-d-ldc wrote:
 Not sure if this is a bug but I'm getting this error when building 
 with dub:
 Performing "release" build using ldc2 for x86_64.
 Building raijin ~develop configuration "library"...
 Error: failed to create path to file: 
 .dub/obj/.dub/build/library-release-linux.posix-x86_64-ldc_0-2AFD432DEF289933FA297CAD17F4F9E0/libraijin.a
 No such file or directory
 ldc2 failed with exit code 1.

 Works fine with dmd. Dub version DUB version 0.9.24-rc.2+8-g64582dd, 
 built on Aug 18 2015
This is https://github.com/ldc-developers/ldc/issues/1061. It would be great if somebody could look into fixing it (should be simple enough, it's in the frontend driver, not some complex piece of code), as I'm knee-deep into other work. — David
Sep 02 2015
prev sibling next sibling parent "Daniel N" <ufo orbiting.us> writes:
On Tuesday, 1 September 2015 at 22:25:40 UTC, Kai Nacke wrote:
 Hi everyone!

 On behalf of the LDC team I am proud to announce the LDC 0.16.0 
 alpha2 release!
MSVC version is starting to kick some serious #$% despite its alpha status. All metrics from my own software improved over 0.15.2 MSVC Execution time: 98% Size of binary: 65% Compilation time: Order of magnitude faster(since it's a release build) Awesome, thanks!
Sep 03 2015
prev sibling parent reply "Jeremy DeHaan" <dehaan.jeremiah gmail.com> writes:
On Tuesday, 1 September 2015 at 22:25:40 UTC, Kai Nacke wrote:
 The Win64 MSVC version is still considered alpha quality.
I'm actually having some issues with this if anyone can help me. LDC seems to default to trying to use Optlink for some reason. This seems strange considering that all the switches are in msvc format. Anyway I can get it to default to msvc instead? ldc2.conf doesn't seem to have any information on the linker being used.
Sep 10 2015
parent reply "Kai Nacke" <kai redstar.de> writes:
On Friday, 11 September 2015 at 04:22:29 UTC, Jeremy DeHaan wrote:
 On Tuesday, 1 September 2015 at 22:25:40 UTC, Kai Nacke wrote:
 The Win64 MSVC version is still considered alpha quality.
I'm actually having some issues with this if anyone can help me. LDC seems to default to trying to use Optlink for some reason. This seems strange considering that all the switches are in msvc format. Anyway I can get it to default to msvc instead? ldc2.conf doesn't seem to have any information on the linker being used.
Hi Jeremy, you need to have the Windows SDK installed (or better VS2015). If you use the "VS2015 x64 Native Tools Command Prompt" then everything should compile. Just make sure that "link" is really the Microsoft Linker. (Just type link/help on the command line. The output should be something like Microsoft (R) Incremental Linker Version 14.00.23026.0 Copyright (C) Microsoft Corporation. All rights reserved. For help on Linker, type `link /link' or `link' For help on Library Manager, type `link /lib' or `lib' For help on Dumper, type `link /dump' or `dumpbin' For help on Editor, type `link /edit' or `editbin' For help on CvtCIL, type `link /cvtcil' If it still runs Optlink then remove dmd2\windows\bin from your PATH variable. Regards, Kai
Sep 11 2015
parent Jeremy DeHaan <dehaan.jeremiah gmail.com> writes:
On Friday, 11 September 2015 at 08:37:58 UTC, Kai Nacke wrote:
 On Friday, 11 September 2015 at 04:22:29 UTC, Jeremy DeHaan 
 wrote:
 On Tuesday, 1 September 2015 at 22:25:40 UTC, Kai Nacke wrote:
 The Win64 MSVC version is still considered alpha quality.
I'm actually having some issues with this if anyone can help me. LDC seems to default to trying to use Optlink for some reason. This seems strange considering that all the switches are in msvc format. Anyway I can get it to default to msvc instead? ldc2.conf doesn't seem to have any information on the linker being used.
Hi Jeremy, you need to have the Windows SDK installed (or better VS2015). If you use the "VS2015 x64 Native Tools Command Prompt" then everything should compile. Just make sure that "link" is really the Microsoft Linker. (Just type link/help on the command line. The output should be something like Microsoft (R) Incremental Linker Version 14.00.23026.0 Copyright (C) Microsoft Corporation. All rights reserved. For help on Linker, type `link /link' or `link' For help on Library Manager, type `link /lib' or `lib' For help on Dumper, type `link /dump' or `dumpbin' For help on Editor, type `link /edit' or `editbin' For help on CvtCIL, type `link /cvtcil' If it still runs Optlink then remove dmd2\windows\bin from your PATH variable. Regards, Kai
Thanks for the help, Kai. My original issue ended up being that VS 2015 for what ever reason didn't actually install the VC components. Before I realized that, I tried VS 2013, but got some linker errors, mostly likely user error. Once I got 2015 actually set up though, it works. Thanks for all the hard work!
Sep 15 2015