Hi all,
on my system ("AIX 6.1" with "xlc -q64") the "configure" script for "dovecot-2.0.2" breaks with:
checking whether fd passing works... no configure: error: fd passing is required for Dovecot to work
in config.log:
configure:19524: ./conftest configure:19524: $? = 1 configure: program exited with status 1
It seems, that the last changes in "src/lib/fdpass.c" are the reason.
109a110
void *cmsg_data;
132c133,134 < *((int *) CMSG_DATA(cmsg)) = send_fd;
cmsg_data = CMSG_DATA(cmsg); *(int *)cmsg_data = send_fd;
166a169
void *cmsg_data;
196,197c199,202 < else < *fd = *((int *) CMSG_DATA(cmsg));
else { cmsg_data = CMSG_DATA(cmsg); *fd = *(int *)cmsg_data; }
Using the old version (from "src/lib/fdpass.c") make no trouble.
-- Kind regards / Mit freundlichen Grüßen A. Kossack
Andreas Kossack Andreas.Kossack@TU-Cottbus.De BTU Cottbus, Brandenburg, Germany, Walther-Pauer-Str.2, 03046 Cottbus http://wwwca.telesec.de/cgi-bin/caservice/Common/InstallRoot/DT-Root-CA-2.de...
Diese Nachricht wurde aus 100% wiederverwerteten Elektronen erstellt.
On Thu, 2010-09-09 at 16:17 +0200, Andreas Kossack wrote:
It seems, that the last changes in "src/lib/fdpass.c" are the reason.
The compiler error message would have been useful to know. What if you change these to:
cmsg_data = CMSG_DATA(cmsg); *(int *)cmsg_data = send_fd;
*((int *)cmsg_data) = send_fd;
cmsg_data = CMSG_DATA(cmsg); *fd = *(int *)cmsg_data;
*fd = *((int *)cmsg_data);
Does that make xlc happy?
Hi Timo, hi all,
It seems, that the last changes in "src/lib/fdpass.c" are the reason.
The compiler error message would have been useful to know. There aren't any compiler error messages, in the "config.log" I can see the return value "1" from "conftest":
configure:19746: xlc -q64 -o conftest -O -I./src/lib ./src/lib/fdpass.c -DBUGGY_ CMSG_MACROS -I/usr/local/include -I/usr/local/openssl/include -I/usr/local/OpenL DAP/include -bexpall -brtl -b64 -L/usr/local/lib64 -L/usr/local/openssl/lib64 -L /usr/local/OpenLDAP/lib64 conftest.c -lldap -llber -lssl -lcrypto -lrt >&5 ./src/lib/fdpass.c: conftest.c: configure:19746: $? = 0 configure:19746: ./conftest configure:19746: $? = 1 configure: program exited with status 1 configure: failed program was: ... configure:19769: result: no configure:19786: error: fd passing is required for Dovecot to work
What if you change these to:
cmsg_data = CMSG_DATA(cmsg); *(int *)cmsg_data = send_fd;
*((int *)cmsg_data) = send_fd;
cmsg_data = CMSG_DATA(cmsg); *fd = *(int *)cmsg_data;
*fd = *((int *)cmsg_data);
Does that make xlc happy? Unfortunately not. :-( The return code is always "1".
-- Mit freundlichen Grüßen A. Kossack
Andreas Kossack Andreas.Kossack@TU-Cottbus.De BTU Cottbus, Brandenburg, Germany, Walther-Pauer-Str.2, 03046 Cottbus http://wwwca.telesec.de/cgi-bin/caservice/Common/InstallRoot/DT-Root-CA-2.de...
Diese Nachricht wurde aus 100% wiederverwerteten Elektronen erstellt.
On Tue, 2010-09-14 at 10:46 +0200, Andreas Kossack wrote:
Hi Timo, hi all,
It seems, that the last changes in "src/lib/fdpass.c" are the reason.
The compiler error message would have been useful to know. There aren't any compiler error messages, in the "config.log" I can see the return value "1" from "conftest":
A better way is to finish the configure, then revert/modify fdpass.c and see what it says when trying to compile with make. It should fail also.
Hi Timo, hi all,
There aren't any compiler error messages, in the "config.log" I can see the return value "1" from "conftest":
A better way is to finish the configure, The "configure"-script breaks with error message "fd passing is required for Dovecot to work"
then revert/modify fdpass.c and see what it says when trying to compile with make. It should fail also. Without changes in "src/lib/fdpass.c" (the "old" version) there aren't any errors:
configure:19672: checking whether fd passing works configure:19746: xlc -q64 -o conftest -O -I./src/lib ./src/lib/fdpass.c -I/usr/local/include -I/usr/local/openssl/include -I/usr/local/OpenLDAP/include -bexpall -brtl -b64 -L/usr/local/lib64 -L/usr/local/openssl/lib64 -L/usr/local/OpenLDAP/lib64 conftest.c -lldap -llber -lssl -lcrypto -lrt >&5 ./src/lib/fdpass.c: conftest.c: configure:19746: $? = 0 configure:19746: ./conftest configure:19746: $? = 0 configure:19769: result: yes
-- Mit freundlichen Grüßen A. Kossack
Andreas Kossack Andreas.Kossack@TU-Cottbus.De BTU Cottbus, Brandenburg, Germany, Walther-Pauer-Str.2, 03046 Cottbus http://wwwca.telesec.de/cgi-bin/caservice/Common/InstallRoot/DT-Root-CA-2.de...
Diese Nachricht wurde aus 100% wiederverwerteten Elektronen erstellt.
On Tue, 2010-09-14 at 13:51 +0200, Andreas Kossack wrote:
Hi Timo, hi all,
There aren't any compiler error messages, in the "config.log" I can see the return value "1" from "conftest":
A better way is to finish the configure, The "configure"-script breaks with error message "fd passing is required for Dovecot to work"
I mean: change fdpass.c so that configure finishes (the way you did it before) and then change fdpass.c back to original. It should break in "make" stage now with a proper error message (fdpass.c is used by configure but it's also compiled separately later).
On Thu, 2010-09-09 at 16:17 +0200, Andreas Kossack wrote:
on my system ("AIX 6.1" with "xlc -q64") the "configure" script for "dovecot-2.0.2" breaks with:
checking whether fd passing works... no configure: error: fd passing is required for Dovecot to work
This is also now fixed: http://hg.dovecot.org/dovecot-2.0/rev/bdf922d26534
I didn't realize it was a runtime error instead of compile error. Still strange though.. Either there's something I don't understand about it or it's a compiler bug.
Hi Timo,
on my system ("AIX 6.1" with "xlc -q64") the "configure" script for "dovecot-2.0.2" breaks with:
checking whether fd passing works... no configure: error: fd passing is required for Dovecot to work
This is also now fixed: http://hg.dovecot.org/dovecot-2.0/rev/bdf922d26534 Many thanks. It works errorless.
I didn't realize it was a runtime error instead of compile error. Still strange though.. Either there's something I don't understand about it or it's a compiler bug. Me too! ;-)
-- Mit freundlichen Grüßen A. Kossack
Andreas Kossack Andreas.Kossack@TU-Cottbus.De BTU Cottbus, Brandenburg, Germany, Walther-Pauer-Str.2, 03046 Cottbus http://wwwca.telesec.de/cgi-bin/caservice/Common/InstallRoot/DT-Root-CA-2.de...
Diese Nachricht wurde aus 100% wiederverwerteten Elektronen erstellt.
participants (2)
-
Andreas Kossack
-
Timo Sirainen