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)