I'm running CentOS4 (similar to FC4/RHEL4) and ran into
the same problem.
I fixed it by uninstalling several packages that I
didn't need. I wasn't scientific about the whole thing
so I'm not sure which of these packages are the
offender(s).
I removed (rpm -e {package-name})
cyrus-sals-sql cyrus-sasl-ntlm cyrus-sasl-gssapi
Then I also removed cyrus-sasl-devel which also
required me removing openldap-devel.
Then it compiled fine.
w00t. AAC
Logged In: YES
user_id=77309
The specific package is cyrus-sasl-devel.
NOTE: Removing this package disables MD5 usage in pam_mysql
completely.
So, the question is... what md5.h is pam_mysql _expecting_
to find???
Logged In: YES
user_id=207218
AFAIK it checks for these in the following order:
1. md5.h in openssl. And note that if --with-openssl option
is specified, then sasl is IGNORED.
2. md5.h in sasl, if openssl is not enabled
3. md5.h from system include headers
There are 2 places broken when attempting to use sasl v2:
1. It would still try to use sasl v1 header since it is
placed in /usr/include
2. Since md5.h is available, HAVE_MD5_H will be defined,
thus pam_mysql.c would include these 3 headers in following
order:
#include <md5.h>
#include <md5global.h>
#include <md5.h>
That would cause compile to fail because md5.h is included
BEFORE md5global.h. (md5.h used some typedef which is only
available in md5global.h)
Logged In: NO
I see no any reason for this packages to be offenders.
It even says "present but cannot be compiled" if I *don't* have these packages...