[Dovecot] BUG to compile dovecot 2.1.10 on Debian 4.0, using gcc 4.1.2
Hello,
Today I needed to compile dovecot 2.1.10 on Debian 4.0, using gcc 4.1.2. When running 'make' getting the following error:
db-checkpassword.c: In function 'sigchld_handler':
db-checkpassword.c: 426: error: assignment of read-only member '__in'
db-checkpassword.c: 429: error: assignment of read-only member '__in'
db-checkpassword.c: 431: error: assignment of read-only member '__in'
db-checkpassword.c: 432: error: assignment of read-only member '__in'
make [3]: ** [db-checkpassword.o] Error 1
make [3]: ** Waiting for other processes to finish.
mv-f .deps / auth-worker-server.Tpo .deps / auth-worker-server.Po
make [3]: Leaving directory / usr/src/dovecot/dovecot-2.1.7/src/auth ' make [2]: ** [all-recursive] Error 1 make [2]: Leaving directory
/ usr/src/dovecot/dovecot-2.1.7/src '
make [1]: ** [all-recursive] Error 1
make [1]: Leaving directory `/ usr/src/dovecot/dovecot-2.1.7 '
make: ** [all] Error 2
-To work did the following:
417a418
- Int stat = status-> status; 426c427
- If (WIFSIGNALED (status-> status)) {
- If (WIFSIGNALED (stat)) { 429c430
- Dec2str (status-> pid), WTERMSIG (status-> status));
- Dec2str (status-> pid), WTERMSIG (stat)); 431.432 c432, 433 -} Else if (WIFEXITED (status-> status)) {
- Request-> exit_status WEXITSTATUS = (status-> status);
+} Else if (WIFEXITED (stat)) {
- Request-> exit_status WEXITSTATUS = (stat);
With this change worked perfectly ntanto in debian 4 with gcc 4.1.2, as in debian 6 with gcc 4.4.5. -I wonder if I made the change may affect any function of dovecot, or if it is correct.
Thank you for your attention. Fabio Depin
It looks like this might be a bug in glibc 2.3.3
http://sourceware.org/bugzilla/show_bug.cgi?id=1392
Jack
On 10/1/2012 2:20 PM, Fabio Depin wrote:
Hello,
Today I needed to compile dovecot 2.1.10 on Debian 4.0, using gcc 4.1.2. When running 'make' getting the following error:
db-checkpassword.c: In function 'sigchld_handler': db-checkpassword.c: 426: error: assignment of read-only member '__in' db-checkpassword.c: 429: error: assignment of read-only member '__in' db-checkpassword.c: 431: error: assignment of read-only member '__in' db-checkpassword.c: 432: error: assignment of read-only member '__in' make [3]: ** [db-checkpassword.o] Error 1 make [3]: ** Waiting for other processes to finish. mv-f .deps / auth-worker-server.Tpo .deps / auth-worker-server.Po make [3]: Leaving directory
/ usr/src/dovecot/dovecot-2.1.7/src/auth ' make [2]: ** [all-recursive] Error 1 make [2]: Leaving directory
/ usr/src/dovecot/dovecot-2.1.7/src ' make [1]: ** [all-recursive] Error 1 make [1]: Leaving directory `/ usr/src/dovecot/dovecot-2.1.7 ' make: ** [all] Error 2
-To work did the following:
417a418
- Int stat = status-> status; 426c427
- If (WIFSIGNALED (status-> status)) {
- If (WIFSIGNALED (stat)) { 429c430
- Dec2str (status-> pid), WTERMSIG (status-> status));
- Dec2str (status-> pid), WTERMSIG (stat)); 431.432 c432, 433 -} Else if (WIFEXITED (status-> status)) {
- Request-> exit_status WEXITSTATUS = (status-> status);
+} Else if (WIFEXITED (stat)) {
- Request-> exit_status WEXITSTATUS = (stat);
With this change worked perfectly ntanto in debian 4 with gcc 4.1.2, as in debian 6 with gcc 4.4.5. -I wonder if I made the change may affect any function of dovecot, or if it is correct.
Thank you for your attention. Fabio Depin
participants (2)
-
Fabio Depin
-
Jack Bates