Zach, you have p2k working now, yes?
What distro and version of glibc are you using? 

Trent Piepho <xyzzy at speakeasy.org> writes:
> It is probably glibc compatibility problems.  glibc doesn't support static
> linking, and I've had to go to great trouble to produce a static binary.

Yeah, I remember the glic23 lossage, which hosed not just p2k but tons
of other apps as well. 

So, I was mistaken, it's not a segfault. It's an illegal instruction. 

bressen at armidgeon:~$ strace netrek
execve("/usr/local/bin/netrek", ["netrek"], [/* 20 vars */]) = 0
uname({sys="Linux", node="armidgeon", ...}) = 0
brk(0)                                  = 0x8277000
brk(0x8298000)                          = 0x8298000
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
setrlimit(RLIMIT_STACK, {rlim_cur=2044*1024, rlim_max=RLIM_INFINITY}) = 0
getpid()                                = 22113
rt_sigaction(SIGRTMIN, {0x8109ff0, [], 0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x810a070, [RTMIN], 0}, NULL, 8) = 0
rt_sigaction(SIGRT_2, {0x81099a0, [], 0}, NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [RTMIN], NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RT_1], NULL, 8) = 0
_sysctl({{CTL_KERN, KERN_VERSION}, 2, 0xbffff78c, 30, (nil), 0}) = 0
--- SIGILL (Illegal instruction) @ 0 (0) ---
+++ killed by SIGILL +++
Process 22113 detached
bressen at armidgeon:~$

Could it be a CPU issue? 
Although an x86 box, it uses a VIA C3 (Ezra WinChip C5C core).

System is Debian Etch, using packages glibc-2.3.6-2 and libc6 2.3.6.ds1-13
which provides /lib/libc-2.3.6.so