| |
 | Posted by Seb in reply to H. S. Teoh | Permalink Reply |
|
Seb 
Posted in reply to H. S. Teoh
| On Friday, 9 June 2017 at 22:14:30 UTC, H. S. Teoh wrote:
> I'm trying to track down an autotester failure in a DMD PR, and getting very frustrated that the DMD test suite does not run on Debian/Linux because of the whole PIE-by-default fiasco that necessitates compiling everything with -fPIC.
>
> (1) Currently, there is no way to customize how test/Makefile compiles d_do_tests.d, so there is no way to insert -fPIC into the offending compile line.
Once this PR is merged, it will at least use the default conf file:
https://github.com/dlang/dmd/pull/6870
(the config file is now in generated and this lead to nice errors on my machine)
> (2) d_do_tests itself runs compile commands with `-conf=`, so putting -fPIC inside dmd.conf has no effect (where otherwise it does the right thing when dmd is invoked "normally"). There's no obvious way to make customize the compile command used for each test: I tried setting the environment variable ARGS but that just messed up the test runner's expected outputs. Tried to add -fPIC to the DMD environment variable but that blew up in a different way.
Do you mean DFLAGS with DMD environment variable?
> So basically, I'm stuck up PIE creek without a paddle, and have no way to locally test DMD changes without hogging more load on the autotester.
Don't worry about that. It's just a computer. As a temporary workaround, docker might be worth considering.
> Why is something so simple so hard to do?!
I think it's simply because not many people use the DMD test suite and those who do are used to the pain or have their custom-built tricks.
Also I guess that there are two groups of people:
A) wow that's complicated and frustrating -> move on to the next great thing in life
B) eh what the heck. I have seen worse...
(And not many in-between).
|