Fabio Depin
2012-Oct-01 19:20 UTC
[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
Jack Bates
2012-Oct-02 01:42 UTC
[Dovecot] BUG to compile dovecot 2.1.10 on Debian 4.0, using gcc 4.1.2
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 >