compiling ezmlm on centos 5.x (tls errors and more)
July 9, 2008
getting killed by:
usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in substdio.a(substdo.o)
/lib/libc.so.6: could not read symbols: Bad value
?
phew…
man…
ok, here’s how to get this crap to compile:
untar it, etc
cd to the dir
then:
echo gcc -O2 -include /usr/include/errno.h > conf-cc
echo cc -m32 -O2 -include /usr/include/errno.h >> conf-cc
echo cc -m32 >conf-ld
(these are just files in the current dir)
add :
#include “log.h”
to :
ezmlm-manage.c
and
ezmlm-return.c
(thanks to: http://lists.freebsd.org/pipermail/freebsd-ports-bugs/2003-August/009785.html for that little tidbit)
make
it should work
This fixes the following errors:
ezmlm-manage.c: In function âmainâ:
ezmlm-manage.c:320: warning: incompatible implicit declaration of built-in function âlogâ
ezmlm-manage.c:320: error: incompatible type for argument 1 of âlogâ
ezmlm-manage.c:320: error: too many arguments to function âlogâ
ezmlm-manage.c:331: warning: incompatible implicit declaration of built-in function âlogâ
ezmlm-manage.c:331: error: incompatible type for argument 1 of âlogâ
ezmlm-manage.c:331: error: too many arguments to function âlogâ
ezmlm-manage.c:135: warning: return type of âmainâ is not âintâ
and
/usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in substdio.a(substdo.o)
/lib/libc.so.6: could not read symbols: Bad value
also see:
http://fixunix.com/plan9/353463-re-9fans-plan9-httpd-pegasus-unix.html