I'm fairly new at mud coding, and I'm hoping someone can lend me a hand here. I'm getting this same error when compiling any mud source based on the FUSS fixes (swfote13fuss, swrfuss, swfote2.1.5 from sourceforge.net), although I've successfully compiled swfote sources pre-2.0, circle-3.5, havokMUD from 2004 (based on DaleMUD/SillyMUD), as well as the most recent non-FUSS smaug1.8b. I have googled this error ad nauseam, with only a few results. The same error appears on other distros (Redhat, Debian) when compiling QMail. They have a fix (comment out any lines with 'extern int errno' and add #include <errno.h> in the file) but it doesn't apply here.
The FUSS sources compile without warnings, without changes to the Makefile, until the linker attempts to build the swr binary:
make -s swr
/usr/lib/gcc/i486-slackware-linux/4.1.2/../../../../i486-slackware-linux/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in /usr/lib/gcc/i486-slackware-linux/4.1.2/../../../libz.so
/lib/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [swr] Error 1
make: *** [all] Error 2
This is Linux Slackware 12.0, kernel 18.104.22.168-smp, gcc-4.1.2, glibc-2.5. The strange thing is, I have compiled these sources with a previous Slackware distro (kernel 2.4.x, gcc-3.3.4, glibc-2.3.4). This makes me think it's a kernel 2.6 problem. I compiled gcc-3.3.4 alongside my most recent, and got the same error. Something wrong with the libs, right? I start to compile glibc-2.3.4 and get the same errno: TLS blah blah error.
I'm debating whether to upgrade (downgrade?) my kernel, compiler and libs, but I don't think that will necessarily fix the problem, since this primarily affects FUSS sources. I'm hoping there's an easy fix, and I'd hate to lose the features that came with this Linux kernel.
I'm at my wit's end, and I'd really appreciate any advice. Thanks, and feel free to ask me about anything I might have left out.