www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - LDC 1.1.0-beta2 has been released!

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

On behalf of the LDC team I am proud to announce the new 
1.1.0-beta2 release!
It is based on the 2.071.1 front-end and supports LLVM 3.5-3.9.

As usual this beta2 release contains a lot of bug fixes. :-)

Highlights of the 1.1.0 release are the support for 
profile-guided optimization and cross-module inlining. But there 
are lot of other changes - be sure to read the release notes!

We now bundle DUB with LDC in the binary distribution files. The 
Win64 binary packages now includes the 32bit libraries, too. And 
for the first time we distribute a FreeBSD binary!

Please, try this beta2 release. Every feedback we get can only 
improve the 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/v1.1.0-beta2

MD5 checksums for the release packages:

0a25986249e5aaa9346c18309594a763  ldc-1.1.0-beta2-src.tar.gz
800838801252430ca8dc5a42a51068b8  
ldc2-1.1.0-beta2-freebsd-x86_64.tar.xz
9218da4a4171ac4a3a2cb8f1fadf78d9  
ldc2-1.1.0-beta2-linux-armv7hf.tar.xz
227895b38e1c4560f0900303e04faa38  
ldc2-1.1.0-beta2-linux-x86.tar.xz
d8bbdb0c14e8b02b92d4fdaa815fe0d1  
ldc2-1.1.0-beta2-linux-x86_64-LLVM3.9.0rc1.tar.xz
5521b130813e1a4781950b5f585e2bf2  
ldc2-1.1.0-beta2-linux-x86_64.tar.xz
f703df0bc3e53e837afd1330065a9368  
ldc2-1.1.0-beta2-osx-x86_64-LLVM3.9.0-rc1.tar.xz
b7895b37a1954435ae761842a06bb30a  
ldc2-1.1.0-beta2-osx-x86_64.tar.xz
e6dd4d89c4cd3fa5626faf5fc571fea4  ldc2-1.1.0-beta2-win32-msvc.zip
c84bdb86915185bcf8ff6041bb2ef5b4  ldc2-1.1.0-beta2-win64-msvc.zip

Regarding the binaries:
The Linux x86/x86_64 binaries are built on Ubuntu 12.04 LTS with 
gcc 4.8.x, ldc2 1.1.0-beta2 and LLVM 3.8.1. They work on Ubuntu 
12.04 LTS (or later) without installing additional software.
The Linux armv7hf binary is built on Gentoo/ARM with gcc 4.9.x, 
ldc2 ldc2 1.1.0-beta2 and LLVM 3.8.1.
A Linux x64_64 binary built with LLVM 3.9.0rc1 is available, too.

The OS X binaries are built with LLVM 3.8.1 on OS X 10.10. An 
additional binary is built with LLVM 3.9.0rc1.

The FreeBSD binaries are built on PC-BSD 10.3 with gcc 4.8.5, 
ldc2 1.1.0-beta2 and LLVM 3.8.1.

The Win32 and Win64 MSVC versions are built with VS2015 (update 
2) using ldc2 1.1.0-beta2 and LLVM 3.9.0rc1 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

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
Aug 03 2016
next sibling parent David Nadlinger via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
On 3 Aug 2016, at 21:10, Kai Nacke via digitalmars-d-ldc wrote:
 On behalf of the LDC team I am proud to announce the new 1.1.0-beta2 
 release!
Quick note for Linux users/packagers: We've changed the way the D code in the compiler front-end is built to be able to cleanly take environment/LLVM linker flags into account (https://github.com/ldc-developers/ldc/pull/1594). This fixes a number of previous linking issues and should ultimately be much more solid, but we'd particularly appreciate help in testing the new build system bits in as many environments as possible before the release. If you are using the upcoming Ubuntu 16.10, also be aware that it ships with a system linker patched to produce position-independent executables by default. This will lead to linker errors ("relocation … can not be used") unless LDC is also set to generate position-independent code by using -relocation-model=pic (default since https://github.com/ldc-developers/ldc/pull/1664, but not part of the beta yet). — David
Aug 03 2016
prev sibling next sibling parent reply Seb <seb wilzba.ch> writes:
On Wednesday, 3 August 2016 at 20:10:49 UTC, Kai Nacke wrote:
 Regarding the binaries:
 The Linux x86/x86_64 binaries are built on Ubuntu 12.04 LTS 
 with gcc 4.8.x, ldc2 1.1.0-beta2 and LLVM 3.8.1. They work on 
 Ubuntu 12.04 LTS (or later) without installing additional 
 software.
 The Linux armv7hf binary is built on Gentoo/ARM with gcc 4.9.x, 
 ldc2 ldc2 1.1.0-beta2 and LLVM 3.8.1.
 A Linux x64_64 binary built with LLVM 3.9.0rc1 is available, 
 too.

 The OS X binaries are built with LLVM 3.8.1 on OS X 10.10. An 
 additional binary is built with LLVM 3.9.0rc1.

 The FreeBSD binaries are built on PC-BSD 10.3 with gcc 4.8.5, 
 ldc2 1.1.0-beta2 and LLVM 3.8.1.

 The Win32 and Win64 MSVC versions are built with VS2015 (update 
 2) using ldc2 1.1.0-beta2 and LLVM 3.9.0rc1 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

 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
Great news - thanks to everyone from the LDC team for your hard work! When I read the announcement I noticed [1] that building a release seems like a lot of manual work. I have seen that it is already partially automated, but how long does it take you to prepare a new release (in the case nothing goes wrong)? Ideally building the packages for all platforms would be fully automated, so that you can also provide nightlies for the common users. Travis, Circle etc. provide a environment variable and sometimes special settings to distinguish a pull request from a active commit, so I assume that won't be a huge issue for you. Do you know about a good place to dump such nightlies? As you will usually overwrite the latest version space is probably not an issue, but traffic costs might (e. g. with S3). I am happy to offer one of my VPS servers with unlimited traffic for rsyncing and dumping the files to the public, but it comes with zero guarantees ;-) [1] https://github.com/ldc-developers/ldc-scripts/tree/master/ldc2-packaging
Aug 03 2016
parent reply Kai Nacke <kai redstar.de> writes:
Hi Seb!

On Thursday, 4 August 2016 at 00:53:31 UTC, Seb wrote:
 Great news - thanks to everyone from the LDC team for your hard 
 work! When I read the announcement I noticed [1] that building 
 a release seems like a lot of manual work. I have seen that it 
 is already partially automated, but how long does it take you 
 to prepare a new release (in the case nothing goes wrong)? 
 Ideally building the packages for all platforms would be fully 
 automated, so that you can also provide nightlies for the 
 common users.
A release is not too much work. On a Unix system it is - edit the config file - run the 3 build scripts - upload the binary package This process could be better automated but delays have other root causes: - Building on ARM takes a long time. - I currently do not have a development notebook and doing the builds with sub-optimal resources. - The last releases always introduced something new (ARM build, 32bit libraries with win64, FreeBSD build) which must be scripted and tested. - And you can find new bugs while preparing a release. But better automation is welcome. :-)
 Travis, Circle etc. provide a environment variable and 
 sometimes special settings to distinguish a pull request from a 
 active commit, so I assume that won't be a huge issue for you. 
 Do you know about a good place to dump such nightlies? As you 
 will usually overwrite the latest version space is probably not 
 an issue, but traffic costs might (e. g. with S3). I am happy 
 to offer one of my VPS servers with unlimited traffic for 
 rsyncing and dumping the files to the public, but it comes with 
 zero guarantees ;-)
We have a place for it: GitHub. See http://wiki.dlang.org/Latest_LDC_binaries_for_Windows Regards, Kai
Aug 03 2016
next sibling parent Seb <seb wilzba.ch> writes:
On Thursday, 4 August 2016 at 06:19:11 UTC, Kai Nacke wrote:
 Hi Seb!

 On Thursday, 4 August 2016 at 00:53:31 UTC, Seb wrote:
 Great news - thanks to everyone from the LDC team for your 
 hard work! When I read the announcement I noticed [1] that 
 building a release seems like a lot of manual work. I have 
 seen that it is already partially automated, but how long does 
 it take you to prepare a new release (in the case nothing goes 
 wrong)? Ideally building the packages for all platforms would 
 be fully automated, so that you can also provide nightlies for 
 the common users.
A release is not too much work. On a Unix system it is - edit the config file - run the 3 build scripts - upload the binary package This process could be better automated but delays have other root causes: - Building on ARM takes a long time. - I currently do not have a development notebook and doing the builds with sub-optimal resources. - The last releases always introduced something new (ARM build, 32bit libraries with win64, FreeBSD build) which must be scripted and tested. - And you can find new bugs while preparing a release.
Oh okay as said I was just worried when I skimmed through the list of different OSS used for each build. Good to be relieved :)
 But better automation is welcome. :-)
I will continue to observe your good work and maybe help out when you continue to expand to build for every OS possibly imaginable and releasing gets a more annoying job. [...]
 We have a place for it: GitHub.
 See http://wiki.dlang.org/Latest_LDC_binaries_for_Windows
Oh sweet - sorry about the dumb question then (I didn't even notice that because building from source on Unix is trivial).
 Regards,
 Kai
Aug 04 2016
prev sibling next sibling parent Edwin van Leeuwen <edder tkwsping.nl> writes:
On Thursday, 4 August 2016 at 06:19:11 UTC, Kai Nacke wrote:
 But better automation is welcome. :-)
Would the opensuse build service be a good option here? They build for a variety of hardware platforms (ARM included) and distributions (looks like linux only though) https://en.opensuse.org/openSUSE:Build_Service_supported_build_targets
Aug 04 2016
prev sibling parent reply Suliman <evermind live.ru> writes:
I have never tried ldc2 before, not I get next error when compile 
my project:
http://img.ctrlv.in/img/16/08/18/57b5b7f2aeab3.png

is it's bug in LDC2?

I am using this release.
Aug 18 2016
parent David Nadlinger via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
On 18 Aug 2016, at 15:30, Suliman via digitalmars-d-ldc wrote:
 I have never tried ldc2 before, not I get next error when compile my 
 project:
 http://img.ctrlv.in/img/16/08/18/57b5b7f2aeab3.png

 is it's bug in LDC2?
It certainly seems like this is a compiler crash and hence by definition a bug. Could you please open an issue at https://github.com/ldc-developers/ldc with instructions on how to reproduce it? Thanks! — David
Aug 18 2016
prev sibling next sibling parent Michael <michael toohuman.io> writes:
On Wednesday, 3 August 2016 at 20:10:49 UTC, Kai Nacke wrote:
 Hi everyone!

 On behalf of the LDC team I am proud to announce the new 
 1.1.0-beta2 release!
 It is based on the 2.071.1 front-end and supports LLVM 3.5-3.9.

 [...]
I know this isn't specifically about the beta, but the LDC available on Linux Mint via Synaptic lists the latest ubunutu version 1:0.17.1. When will 1.0 be pushed to ubuntu? Thanks.
Aug 06 2016
prev sibling parent Guillaume Piolat <first.last gmail.com> writes:
On Wednesday, 3 August 2016 at 20:10:49 UTC, Kai Nacke wrote:
 Please, try this beta2 release. Every feedback we get can only 
 improve the 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/v1.1.0-beta2
I'm seeing a ~1% speed-up with v1.1.0-b2 relatively to v1.0.0-b2 Very slight changes in binary size in both directions. Haven't tried PGO or fastmath yet. Nice work.
Aug 17 2016