Thread overview
Updated LDC snap package with improved Ubuntu 14.04 support
Feb 19, 2017
visitor
February 19, 2017
Revision 4 of the ldc2 snap package is now available in the 'edge' channel of the snap store.  This still provides LDC 1.1.0 with an LLVM 3.9.1 backend, but has been rebuilt in a clean build using the latest `snapcraft` release, which has improved support for classic snaps across different distributions.

This package should therefore now work on Ubuntu 14.04 LTS as well as on 16.04 or later.

Link-time optimization (the `-flto={full,thin}` flag) is however still limited to Ubuntu 16.04 or later: on 14.04 it will fail with a linker error.

As always, I'd be very happy if people could try this out and let me know how it works for you.


-- to install --

This package should be possible to install on Ubuntu 16.04 or later, or Ubuntu 14.04, as well as any other distro making available a recent version of snapd (2.21 or later):
https://snapcraft.io/docs/core/install

Once snapd is installed (on Ubuntu or Debian, `sudo apt install snapd`), the ldc2 snap can be installed with:

    sudo snap install --classic --edge ldc2

If you already have a version installed, you can upgrade it with:

    sudo snap refresh --classic --edge ldc2

Note, if this version breaks something for you, you can downgrade to revision 3 with:

    sudo snap refresh --classic --edge --revision=3 ldc2

February 19, 2017
On Sunday, 19 February 2017 at 11:24:17 UTC, Joseph Rushton Wakeling wrote:
> Revision 4 of the ldc2 snap package is now available in the 'edge' channel of the snap store.

Works for me on ubuntu 16.04 (llvm-3.8), Thanks :-)
Not heavily tested, just to let you know for some feedback on your work, again Thanks


February 19, 2017
On Sunday, 19 February 2017 at 16:18:48 UTC, visitor wrote:
> Works for me on ubuntu 16.04 (llvm-3.8), Thanks :-)
> Not heavily tested, just to let you know for some feedback on your work, again Thanks

Great to know that it works for you, thanks for trying it out :-)

Note the snap package doesn't use the distro-packaged LLVM; it's based on a fresh build of LLVM 3.9.1.  You can verify this by using

    which ldc2      # just to verify you are using the snap packaged version
    ldc2 --version  # should tell you all about the LDC, LLVM and D frontend versions

The latter should read:

  LDC - the LLVM D compiler (1.1.0):
    based on DMD v2.071.2 and LLVM 3.9.1
    built with LDC - the LLVM D compiler (0.17.3)

Out of curiosity, have you tried using the link-time optimization feature?  (-flto=full)