On Wed, Jun 02, 2010 at 09:32:44AM +0200, Martin Hochreiter wrote:
Thanks.
I suspect that your installation of vanessa_logger is not the latest
version and that some macros provided by it are causing the problem
that you are seeing. Could you try the following patch for perdition.c ?
It should fix the build-errors that you are seeing, but I'm not sure
that the result will run as expected.
Index: perdition/perdition/perdition.c
===================================================================
--- perdition.orig/perdition/perdition.c 2010-06-02 14:05:21.000000000 +0900
+++ perdition/perdition/perdition.c 2010-06-02 14:06:01.000000000 +0900
@@ -704,15 +704,16 @@ int main (int argc, char **argv, char **
token_flush();
if(status<0){
VANESSA_LOGGER_DEBUG("protocol->in_get_pw");
- if (io_get_err(client_io) == io_err_timeout)
+ if (io_get_err(client_io) == io_err_timeout) {
VANESSA_LOGGER_ERR_UNSAFE("Fatal Error: Timeout reading "
"authentication information from "
"client%s: Exiting child",
from_to_host_str);
- else
+ } else {
VANESSA_LOGGER_ERR_UNSAFE("Fatal Error reading authentication "
"information from client%s: "
"Exiting child", from_to_host_str);
+ }
perdition_exit_cleanly(-1);
}
else if(status == 1){
@@ -944,11 +945,12 @@ int main (int argc, char **argv, char **
}
else if(status<0){
VANESSA_LOGGER_DEBUG_UNSAFE("protocol->out_authenticate %d",
status);
- if (io_get_err(client_io) == io_err_timeout)
+ if (io_get_err(client_io) == io_err_timeout) {
VANESSA_LOGGER_ERR("Fatal error: Timeout authenticating user. "
"Exiting child.");
- else
+ } else {
VANESSA_LOGGER_ERR("Fatal error authenticating user. Exiting
child.");
+ }
perdition_exit_cleanly(-1);
}
@@ -992,11 +994,12 @@ int main (int argc, char **argv, char **
if(io_pipe(server_io, client_io, buffer, BUFFER_SIZE,
&bytes_written,&bytes_read,&auth_log)<0){
VANESSA_LOGGER_DEBUG("vanessa_socket_pipe");
- if (io_get_err(client_io) == io_err_timeout)
+ if (io_get_err(client_io) == io_err_timeout) {
VANESSA_LOGGER_ERR("Fatal error: Timeout piping data. "
"Exiting child.");
- else
+ } else {
VANESSA_LOGGER_ERR("Fatal error piping data. Exiting child.");
+ }
perdition_exit_cleanly(-1);
}
Hello Simon!
Thank you for the patch - as this is a production enviroment with
over 3000 users, I don't
want to try the patch when you are unsure if it is working :)
Fair enough. But it would be interesting to see if it makes
the build problem go away.
To get further into troubleshooting - that are the rpm
libaries of
vanessa - i think the
configure script of perdition will use them and they should be the
most recent versions, or am I wrong?
libvanessa_socket1-0.0.10-2.1
libvanessa_logger0-0.0.8-18.1
libvanessa_adt0-0.0.8-6.1
Those version should be fine.
I assume that you also have:
libvanessa_adt0-devel-0.0.8-6.1
libvanessa_logger0-devel-0.0.8-18.1
libvanessa_socket1-devel-0.0.10-2.1
Actually, I just tested building 1.18 against them on x86_64 CentOS and
it seemed to work out fine.
What I suspect is that there is another (older) version of
libvanessa_logger.h on the system and that this is being
used instead of the version that came with
libvanessa_logger0-devel-0.0.8-18.1 (/usr/include/vanessa_logger.h).
I can compile the vanessa stuff myself (in an
alternative /opt/
directory) but I don't know
how to tell the perdition configure script to use them and not the
rpm ones - so maybe
you can help me here. That would enable me to compile perdition and
vanessa completely from sources.
There isn't an easy way to tell perdition to prefer a particular directory
for those libraries.
So far I compiled logger and adt but the
vanessa_socket also dies with:
[root@mailgw vanessa_socket-0.0.10]# make
make all-recursive
make[1]: Entering directory `/root/perdition-1.18/vanessa_socket-0.0.10'
Making all in libvanessa_socket
make[2]: Entering directory
`/root/perdition-1.18/vanessa_socket-0.0.10/libvanessa_socket'
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I.. -g -O2 -MT vanessa_socket_client.lo -MD -MP -MF
.deps/vanessa_socket_client.Tpo -c -o vanessa_socket_client.lo
vanessa_socket_client.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT
vanessa_socket_client.lo -MD -MP -MF .deps/vanessa_socket_client.Tpo
-c vanessa_socket_client.c -fPIC -DPIC -o
.libs/vanessa_socket_client.o
vanessa_socket_client.c: In function »vanessa_socket_client_src_open«:
vanessa_socket_client.c:200: Fehler: expected expression before »else«
vanessa_socket_client.c:221: Fehler: expected expression before »else«
make[2]: *** [vanessa_socket_client.lo] Fehler 1
make[2]: Leaving directory
`/root/perdition-1.18/vanessa_socket-0.0.10/libvanessa_socket'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/root/perdition-1.18/vanessa_socket-0.0.10'
make: *** [all] Fehler 2
This appears to be the same problem that you're having with compiling perdition.