Time has come to stop with /usr/local path pollution!

Ken Murchison ken at oceana.com
Fri Sep 27 10:34:38 EDT 2002


<soap box>

First off, why did you feel the need to send this directly to me?  Cyrus
is not _my_ software, I'm just a contributor.  Secondly, I can
understand your frustration, but your shitty attitude ain't gonna help.

Joe Rhett wrote:
> 
> We really must stop with the path pollution that you guys include into the
> configuration process.  I just lost 2 hours trying to figure out why it
> couldn't find a db3_nosync function... and finally figured out that you
> were looking at a path I never specified ( /usr/local/include ) and reading
> the include files from there, instead of the path I did specify:
>         --with-dbdir=/opt/berkeleydb
> 
> If I want you to read /usr/local, I'll tell you that.  Please stop assuming
> that everything is dumped there.  At the very least, try the specified
> path and only try /usr/local if nothing was specified.  You've had more
> than a dozen complaints about stuff picking up the wrong libraries, when
> the properly library paths were explicitly listed.

A lot of bitching, and no proposed fixes.  It works for me, and I'm sure
it works for CMU, otherwise it would've been fixed already.  Since I
don't have a problem, I'm not going to go through the trouble of trying
to reproduce it just so I can fix it.  Unless you hear differently from
somebody at CMU, I'm going to assume that one of the "dozen" or so
people with this problem are going to have to fix it and hopefully
submit a patch.

Have people forgotten how much they _paid_ for this software?  What is
the ROI and/or price performance of this software for ISPs, freakin'
infinity?  Why is it assumed that each user is _entitled_ to some level
of technical support?

Stuff like this makes me really happy that I added virtdomains support
for FREE!!!, so that the ISPs can make even more money with less admin
overhead.

</soap box>


> 
> On Thu, Sep 26, 2002 at 03:30:54PM -0700, Joe Rhett wrote:
> > This problem continues to exist in CVS.  The problem is that you aren't
> > including the include path specified by --with-sasl when you compile and
> > run the test program.
> >
> > SASL is installed in /opt/sasl.  I'm using the configuration options listed
> > below.  I get the output listed below.
> >
> > If I go into /usr/lib/include and type "ln -s /opt/sasl/include/sasl" then
> > the configure runs perfectly fine.  The relevant line is at 5348 in the
> > configure generated on my system.
> >
> >       ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
> >
> > There's no use of $CPPFLAGS to pick up the --with-sasl includes or libs.
> >
> > Again, you don't notice this because you pollute the includes and libs with
> > /usr/local automatically, even when it isn't relevant and can be harmful.
> > Please fix the autoconf to use the --with-sasl options when building
> > conftest.
> >
> > On Tue, Aug 20, 2002 at 09:12:16PM -0700, Joe Rhett wrote:
> > > Configure problem with cyrus-imapd CVS version -- it's not seeing --with-sasl
> > > at all.
> > >
> > > ./configure --prefix=/opt/imapd --with-cyrus-prefix=/opt/imapd
> > >     --with-sasl=/opt/sasl --with-openssl=/opt/openssl
> > >     --with-dbdir=/opt/berkeleydb
> > > ...etc...
> > > checking for sasl/sasl.h... yes
> > > checking for sasl/saslutil.h... yes
> > > checking for prop_get in -lsasl2... yes
> > > configure: error: Incorrect SASL headers found.  This package requires SASL 2.1.7 or newer.
> > >
> > > However, the only sasl.h on the system is in /opt/sasl/include/sasl/ ...
> > > Commenting out the "rm conftest*" in 'configure' and then checking the
> > > output of the test program shows...
> > >
> > > cyclops 151% cat conftest.out
> > > configure:5278: sasl/sasl.h: No such file or directory
> > > configure:5281: #error SASL_VERSION_MAJOR not defined
> > > configure:5284: #error SASL_VERSION_MINOR not defined
> > > configure:5287: #error SASL_VERSION_STEP not defined
> > > configure:5291: #error SASL version is less than 2.1.7
> > >
> > >
> > > I can't quite figure out why this isn't working, but the sasl.h and libsasl2
> > > tests are -- maybe you have a clue?
> > >
> > > On Wed, Aug 14, 2002 at 10:38:35AM -0700, Joe Rhett wrote:
> > > > Nope. We had to downgrade so that I could work with your CVS stuff. Most
> > > > annoying.
> > > >
> > > > On Mon, Aug 12, 2002 at 06:52:40PM -0400, Ken Murchison wrote:
> > > > > Did you upgrade to a new version of autoconf?  Only v2.13 will work
> > > > > (currently).
> > > > >
> > > > >
> > > > >
> > > > > Joe Rhett wrote:
> > > > > > On Fri, Aug 09, 2002 at 09:46:42PM -0400, Ken Murchison wrote:
> > > > > >
> > > > > >>Joe Rhett wrote:
> > > > > >>
> > > > > >>>Well, that's part 2 --- sasl won't compile for me any more.
> > > > > >>
> > > > > >>Whoa!  Did you try:
> > > > > >>
> > > > > >>make distclean
> > > > > >>rm configure aclocal.m4
> > > > > >>sh SMakefile
> > > > > >
> > > > > >
> > > > > > aclocal.m4 doesn't exist for me, and configure never got far enough to make
> > > > > > a real Makefile so make distclean doesn't work -- but yeah, that's exactly
> > > > > > what I've done.
> > > > > >
> > > > > >
> > > > > >>>cyclops% sh SMakefile
> > > > > >>>aclocal -I cmulocal -I config
> > > > > >>>aclocal: configure.in: 80: macro `AM_DISABLE_STATIC' not found in library
> > > > > >>>aclocal: configure.in: 82: macro `AM_PROG_LIBTOOL' not found in library
> > > > > >>>autoheader
> > > > > >>>autoconf
> > > > > >>>autoconf: Undefined macros:
> > > > > >>>configure.in:192:       AC_DEFINE(DLSYM_NEEDS_UNDERSCORE),
> > > > > >>>configure.in:224:  AC_DEFINE(HAVE_PAM)
> > > > > >>>configure.in:236:  AC_DEFINE(HAVE_SASLAUTHD)
> > > > > >>>configure.in:237:  AC_DEFINE_UNQUOTED(PATH_SASLAUTHD_RUNDIR,
> > > > > >>>"$with_saslauthd")
> > > > > >>>configure.in:251:   AC_DEFINE(HAVE_PWCHECK)
> > > > > >>>configure.in:252:   AC_DEFINE_UNQUOTED(PWCHECKDIR, "$with_pwcheck")
> > > > > >>>configure.in:267:   AC_DEFINE(USE_DOORS)
> > > > > >>>configure.in:274:  AC_DEFINE(HAVE_ALWAYSTRUE)
> > > > > >>>configure.in:287:  AC_DEFINE(DO_SASL_CHECKAPOP)
> > > > > >>>configure.in:302:  AC_DEFINE(STATIC_CRAMMD5)
> > > > > >>>configure.in:330:  AC_DEFINE(STATIC_DIGESTMD5)
> > > > > >>>configure.in:385:  AC_DEFINE(STATIC_OTP)
> > > > > >>>configure.in:412:    AC_DEFINE(HAVE_OPIE)
> > > > > >>>configure.in:441:  AC_DEFINE(STATIC_SRP)
> > > > > >>>configure.in:451:    AC_DEFINE(DO_SRP_SETPASS)
> > > > > >>>configure.in:467:  AC_DEFINE(STATIC_GSSAPIV2)
> > > > > >>>configure.in:480:  AC_DEFINE(STATIC_ANONYMOUS)
> > > > > >>>configure.in:495:  AC_DEFINE(STATIC_LOGIN)
> > > > > >>>configure.in:561:           AC_DEFINE(STATIC_MYSQL)],
> > > > > >>>configure.in:580:AC_DEFINE_UNQUOTED(PLUGINDIR, "$plugindir")
> > > > > >>>configure.in:589:    AC_DEFINE(WITH_RC4)
> > > > > >>>configure.in:615:       AC_DEFINE(WITH_DMALLOC)
> > > > > >>>configure.in:619:       AC_DEFINE(WITH_DMALLOC)
> > > > > >>>configure.in:695:AC_CHECK_FUNC(getsubopt, [AC_DEFINE(HAVE_GETSUBOPT)],
> > > > > >>>[sasl_cv_getsubopt=yes])
> > > > > >>>configure.in:705:AC_CHECK_FUNC(snprintf, [AC_DEFINE(HAVE_SNPRINTF)],
> > > > > >>>[sasl_cv_snprintf=yes])
> > > > > >>>configure.in:706:AC_CHECK_FUNC(vsnprintf, [AC_DEFINE(HAVE_VSNPRINTF)],
> > > > > >>>[sasl_cv_snprintf=yes])
> > > > > >>>configure.in:722:               [AC_DEFINE(HAVE_GETADDRINFO)],
> > > > > >>>[sasl_cv_getaddrinfo=yes])
> > > > > >>>configure.in:735:               [AC_DEFINE(HAVE_GETNAMEINFO)],
> > > > > >>>[sasl_cv_getnameinfo=yes])
> > > > > >>>configure.in:770:    AC_DEFINE(KRB4_IGNORE_IP_ADDRESS)
> > > > > >>>configure.in:771:    AC_DEFINE_UNQUOTED(PREFER_MECH, "KERBEROS_V4")
> > > > > >>>configure.in:775:               AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE))
> > > > > >>>automake --add-missing --include-deps
> > > > > >>>automake: configure.in: installing `config/install-sh'
> > > > > >>>automake: configure.in: installing `config/mkinstalldirs'
> > > > > >>>automake: configure.in: installing `config/missing'
> > > > > >>>sasldb/Makefile.am:62: variable `SASL_DB_BACKEND_STATIC' not defined
> > > > > >>>sasldb/Makefile.am:50: library used but `LIBTOOL' not defined in `configure.in'
> > > > > >>>sasldb/Makefile.am:55: variable `SASL_DB_BACKEND' not defined
> > > > > >>>plugins/Makefile.am:84: variable `PLAIN_LIBS' not defined
> > > > > >>>plugins/Makefile.am:94: variable `SASL_KRB_LIB' not defined
> > > > > >>>plugins/Makefile.am:94: variable `LIB_SOCKET' not defined
> > > > > >>>plugins/Makefile.am:99: variable `GSSAPIBASE_LIBS' not defined
> > > > > >>>plugins/Makefile.am:99: variable `GSSAPI_LIBS' not defined
> > > > > >>>plugins/Makefile.am:99: variable `LIB_SOCKET' not defined
> > > > > >>>plugins/Makefile.am:109: variable `LIB_DES' not defined
> > > > > >>>plugins/Makefile.am:109: variable `LIB_SOCKET' not defined
> > > > > >>>plugins/Makefile.am:114: variable `PLAIN_LIBS' not defined
> > > > > >>>plugins/Makefile.am:130: variable `SASL_DB_LIB' not defined
> > > > > >>>lib/Makefile.am:65: variable `SASL_DB_BACKEND_STATIC' not defined
> > > > > >>>lib/Makefile.am:58: variable `LIB_SOCKET' not defined
> > > > > >>>utils/Makefile.am:45: variable `SASL_DB_LIB' not defined
> > > > > >>>utils/Makefile.am:45: variable `LIB_SOCKET' not defined
> > > > > >>>utils/Makefile.am:45: variable `SASL_DB_LIB' not defined
> > > > > >>>utils/Makefile.am:45: variable `LIB_SOCKET' not defined
> > > > > >>>utils/Makefile.am:45: variable `SASL_DB_LIB' not defined
> > > > > >>>utils/Makefile.am:45: variable `LIB_SOCKET' not defined
> > > > > >>>utils/Makefile.am:46: variable `SASL_DB_LIB' not defined
> > > > > >>>utils/Makefile.am:46: variable `LIB_SOCKET' not defined
> > > > > >>>utils/Makefile.am:46: variable `GSSAPIBASE_LIBS' not defined
> > > > > >>>utils/Makefile.am:46: variable `GSSAPI_LIBS' not defined
> > > > > >>>utils/Makefile.am:46: variable `SASL_KRB_LIB' not defined
> > > > > >>>utils/Makefile.am:46: variable `LIB_DES' not defined
> > > > > >>>utils/Makefile.am:46: variable `PLAIN_LIBS' not defined
> > > > > >>>utils/Makefile.am:45: variable `SASL_DB_LIB' not defined
> > > > > >>>utils/Makefile.am:45: variable `LIB_SOCKET' not defined
> > > > > >>>utils/Makefile.am:45: variable `SASL_DB_LIB' not defined
> > > > > >>>utils/Makefile.am:45: variable `LIB_SOCKET' not defined
> > > > > >>>sample/Makefile.am:60: variable `LIB_SOCKET' not defined
> > > > > >>>sample/Makefile.am:61: variable `LIB_SOCKET' not defined
> > > > > >>>sample/Makefile.am:58: variable `LIB_SOCKET' not defined
> > > > > >>>sample/Makefile.am:57: variable `LIB_SOCKET' not defined
> > > > > >>>cd saslauthd
> > > > > >>>aclocal -I ../cmulocal -I config
> > > > > >>>autoheader
> > > > > >>>!autoconf
> > > > > >>>automake --add-missing --include-deps
> > > > > >>>cyclops 56% ./configure --prefix=/opt/sasl --disable-gssapi --disable-krb4 --enable-plain --enable-login --with-bdb-libdir=/opt/berkeleydb/lib --with-bdb-incdir=/opt/berkeleydb/include --with-mysql=/opt/mysql
> > > > > >>>creating cache ./config.cache
> > > > > >>>./configure: syntax error at line 600: `AM_CONFIG_HEADER' unexpected
> > > > > >>>
> > > > > >>>On Fri, Aug 09, 2002 at 09:15:18AM -0400, Ken Murchison wrote:
> > > > > >>>
> > > > > >>>
> > > > > >>>>Joe Rhett wrote:
> > > > > >>>>
> > > > > >>>>
> > > > > >>>>>I thought I saw this on the mailing list, but it's been a while with no
> > > > > >>>>>response so:
> > > > > >>>>>
> > > > > >>>>>AWK=gawk ./xversion.sh
> > > > > >>>>>gcc -c -I. -I.. -I../sieve -I. -I./../lib -I./../acap -I../acap -I./../et
> > > > > >>>>>-I./../sieve -I/opt/berkeleydb/include  -I/usr/local/include
> > > > > >>>>>-I/opt/openssl/include -I/opt/sasl/include -DHAVE_CONFIG_H  -Wall -g -O2 \
> > > > > >>>>>backend.c
> > > > > >>>>>backend.c: In function `backend_authenticate':
> > > > > >>>>>backend.c:261: `SASL_NEED_PROXY' undeclared (first use in this function)
> > > > > >>>>>backend.c:261: (Each undeclared identifier is reported only once
> > > > > >>>>>backend.c:261: for each function it appears in.)
> > > > > >>>>>make[1]: *** [backend.o] Error 1
> > > > > >>>>>
> > > > > >>>>>Do I need to rerun autoconf?  If so, what's the best way to clean up enough
> > > > > >>>>>that it will run correctly?
> > > > > >>>>>
> > > > > >>>>
> > > > > >>>>You need to grab the latest SASL from CVS (Cyrus 2.2 will depend on SASL
> > > > > >>>>2.1.7+)
> > > > > >>>>
> > > > > >>>>BTW, I'm about to commit changes to CVS which will allow the admin to
> > > > > >>>>use mbox at domain syntax for specifying mailboxes, ie:
> > > > > >>>>
> > > > > >>>>cm user.test at example.net
> > > > > >>>>
> > > > > >>>>As you already pointed out, this seems more intuitive.  If there were
> > > > > >>>>any good reasons for me not doing this originally, they don't appear to
> > > > > >>>>be a problem any more.
> > > > > >>>>
> > > > > >>>>Ken
> > > > > >>>>--
> > > > > >>>>Kenneth Murchison     Oceana Matrix Ltd.
> > > > > >>>>Software Engineer     21 Princeton Place
> > > > > >>>>716-662-8973 x26      Orchard Park, NY 14127
> > > > > >>>>--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp
> > > > > >>>
> > > > > >>>
> > > > > >>
> > > > > >>
> > > > > >>--
> > > > > >>Kenneth Murchison     Oceana Matrix Ltd.
> > > > > >>Software Engineer     21 Princeton Place
> > > > > >>716-662-8973 x26      Orchard Park, NY 14127
> > > > > >>--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Kenneth Murchison     Oceana Matrix Ltd.
> > > > > Software Engineer     21 Princeton Place
> > > > > 716-662-8973 x26      Orchard Park, NY 14127
> > > > > --PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp
> > > >
> > > > --
> > > > Joe Rhett                                                      Chief Geek
> > > > JRhett at ISite.Net                                      ISite Services, Inc.
> > >
> > > --
> > > Joe Rhett                                                      Chief Geek
> > > JRhett at ISite.Net                                      ISite Services, Inc.
> >
> > --
> > Joe Rhett                                                      Chief Geek
> > JRhett at ISite.Net                                      ISite Services, Inc.
> 
> --
> Joe Rhett                                                      Chief Geek
> JRhett at ISite.Net                                      ISite Services, Inc.

-- 
Kenneth Murchison     Oceana Matrix Ltd.
Software Engineer     21 Princeton Place
716-662-8973 x26      Orchard Park, NY 14127
--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp




More information about the Info-cyrus mailing list