ghc places -lrt after -lpthread, causing pthread.a symbols to be missing when linking with -static
and just for kicks it generates a .o in /tmp that it deletes on exit, so i cant relink. i think whoever added that owes me a beer.
so in one shell i did a
while true; do cp /tmp/*/*.o .; done
and in another shell i ran the make command to grab that tmp file, then i was able to stick into the collect command i can grab from -optl--verbose and fully link the exe.