GDC on Travis-CI
Matthias Klumpp
matthias at tenstral.net
Sat Jun 2 19:48:36 UTC 2018
On Saturday, 2 June 2018 at 16:27:38 UTC, Seb wrote:
> On Saturday, 2 June 2018 at 16:04:09 UTC, Matthias Klumpp wrote:
>> On Saturday, 2 June 2018 at 03:15:56 UTC, crimaniak wrote:
>>> I started to work with Travis-CI, building packages using all
>>> three main compilers, and noticed that I have problems with
>>> gdc every time and need to tweak code because of many things
>>> missing. For example:
>>> https://travis-ci.org/crimaniak/json-patch/jobs/386963340
>>> Why this situation with gdc and how best to deal with it?
>>
>> The build log seems to indicate it uses gdc 4.8, while the
>> current version of GDC is 8.1 which is based on the 2.076
>> frontend.
>>
>> Maybe just updating GDC on Travis will fix this.
>
> Sadly that's not so easy as
>
> 1) the GDC download path changed and we are still waiting on
> feedback from Ian on this (since more than, see
> https://github.com/dlang/installer/pull/251)
>
> 2) AFAICT there are no public binaries that use anything later
> than 2.068.2 could be used (see
> https://gdcproject.org/downloads)
That's unfortunate. I hope Iain comments on this soon, because it
means GDC will receive much less testing by other projects. For
getting up-to-date binaries, in theory those could be extracted
from GDC's Debian packages, which are usually very up-to-date
(even Git snapshots are occasionally packaged) - problem there is
that I am not sure whether they will work standalone and with the
older GLibc on Travis.
@crimaniak: If you really want to build with all compilers, there
is a workaround for this issue that does not involve you
supporting ancient D versions, and that is to actually use
Debian's GDC on Travis. I use this excessively for my own
projects, mostly though because I need newer system libraries and
because I explicitly want to build with the packaged compilers as
well.
You can use a similar approach and limit it to GDC only, I
created a PR for that:
https://github.com/crimaniak/json-patch/pull/1
As you can see on
https://travis-ci.org/crimaniak/json-patch/jobs/387197216 , your
code builds fine with the latest GDC.
So, if you want that workaround, please take it, if not it may
serve as a reference for others facing the same problem.
More information about the Digitalmars-d-learn
mailing list