[Dovecot] Solaris 10 Compilation Issue with 2.0.12 (actually post 12690) [WORKAROUND PROVIDED]
Greetings,
Post 12689:7f5735ab7c35 / 12690:02829f7f79c7 dovecot uses the reentrant version of get(password/group)* related functions. There are two variants of these functions on Solaris. To get the variant used by dovecot code based you need to define _POSIX_PTHREAD_SEMANTICS (see attached manual page).
Initially I defined this just for the compilation of lib/src/ipwd.c, and got the code to compile / check / run successfully in my environment.
After this worked I decided to try compiling the whole code base with
CPPFLAGS="-D_POSIX_PTHREAD_SEMANTICS" ./configure ....
This also seems to work fine. My environment uses IMAPS (X86) and Proxying IMAPS (SPARC). All code compiles / checks / runs (only 64-bit versions run tested) with the above CPPFLAGS modification on Oracle Solaris 10 Update 9 (both 32/64 bit on both X86 / SPARC with GCC 4.1.2) systems.
Regards,
Peter Bray Sydney, Australia
PS: I have not investigated an appropriate way to modified configure.in to make this addition automatic.
On 13.4.2011, at 4.33, Peter Bray wrote:
Post 12689:7f5735ab7c35 / 12690:02829f7f79c7 dovecot uses the reentrant version of get(password/group)* related functions. There are two variants of these functions on Solaris. To get the variant used by dovecot code based you need to define _POSIX_PTHREAD_SEMANTICS (see attached manual page).
Oh. I remember looking at the Solaris man page, but I guess I missed the other variant so I didn't bother testing it.
Initially I defined this just for the compilation of lib/src/ipwd.c, and got the code to compile / check / run successfully in my environment.
Yes, I think that's the safest way to fix it. Done: http://hg.dovecot.org/dovecot-2.0/rev/b60d73301c08
After this worked I decided to try compiling the whole code base with
CPPFLAGS="-D_POSIX_PTHREAD_SEMANTICS" ./configure ....
This is a good workaround for v2.0.12, but I don't want to make it permanent. Whenever I add this kind of a define globally it always seems to break something somewhere..
participants (2)
-
Peter Bray
-
Timo Sirainen