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
How to modify return-path header in php mail function
March 27, 2007
Normally the return path is set by sendmail (or whatever the server is running, qmail, etc.)
However you can pass a fifth argument to php’s mail function to reset it to what you want. Here’s an example:
$result = mail($to, $subject, $body, “From: $from\n”, “-f$from”);
make sure you do not put a newline in after the fifth argument’s from. php will error out.