Bugfix: when using symlink($target, $link) fails, use the alternative exec("ln -s $target $link")