Dealing with -no-pie

Because clm now adds -no-pie to the linker call, it doesn't work on GCC <6, which doesn't recognise the option. Conversely, cpm fails to build things on GCC >=6 with the default options because it doesn't include -no-pie. Because of this, I am now unable to build Clean with these build scripts on both Debian Jessie (GCC 4) and Stretch (GCC 6). I haven't tried on other distributions, but expect the same issues.

I know that it is possible to make cpm use -no-pie, but it would be really nice if the build scripts worked out of the box on at least one GCC version. My Docker images which are now based on Stretch fail to build the sapl-collector-linker because cpm is used for that, so you cannot run iTasks in them.

I see several possible solutions: making clm recognise the GCC version and add -no-pie only when needed; remove the -no-pie addition from clm because it can be added with -l -no-pie which can be done very easily depending on the GCC version in your makefile (example); change cpm to use -no-pie when needed; add -no-pie to the IDEEnvs for the relevant platforms.

(As a sidenote, I'm curious how today's nightlies were built, because the change in clm happened yesterday.)

(@johnvg)