Re: evil build problems with cyrus-sasl-2.1.21

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear List,
                  Dan Nicholson asked:

Could you take a look at version 2.1.22 that's been out for a few
months? I'm curious if this hasn't already been fixed.

I'm not quite sure how I missed 2.1.22 when I was looking for sources...
but no, the problem is still there, though it has been disentangled from
a few others. I'm fairly sure that it only affects builds with --enable-static.
Here's my 'configure' invocation:

           ../cyrus-sasl-2.1.22/configure --prefix=/usr \
               --libexecdir=/usr/lib/sasl-2.1.22 \
               --sysconfdir=/etc \
               --infodir=/usr/share/info --mandir=/usr/share/man \
               --enable-sample \
               --enable-static \
               --enable-java \
               --enable-sql \
               --with-gnu-ld \
               --with-dbpath=/var/lib/sasl/sasldb2 \
               --with-devrandom \
               --with-pam \
               --enable-gssapi \
               --with-javabase=/opt/java/jdk/include \
               --with-dblib=berkeley \
               --with-saslauthd=/var/run \
               --with-openssl \
               --with-gss_impl=mit \
               --with-ldap \
               --without-mysql \
               --without-pgsql \
               --with-sqlite \
               --with-plugindir=/usr/lib/sasl-2.1.22 \
               'LDFLAGS=-lsasl2' \
               'CFLAGS=-Wall -pedantic -march=pentium4 -O2' \
               'CXXFLAGS=-Wall -pedantic -march=pentium4 -O2'

A few of the early directory options may be redundant or
without effect: in general, though, options are specified only
when I don't like the default.

For some reason my aclocal set-up seems broken (odd, this is
the first I've heard of it).  All my aclocal copies (1.7.2, 1.7.9,
1.9.6, all freshly built) say

macro `AM_DISABLE_STATIC' not  found in library

Has anyone else seen this?  Is it just me?  Using exactly
automake-1.7.2 allows me to use the existing aclocal
definitions: I can run automake and autoconf to accommodate
the changes I've made with no problems.  However, there is
still the profound ugliness of hacking aclocal.m4, which
ought not to happen.  Help getting this to work properly
would be welcome!

2.1.22 has a problem which I didn't see in 2.1.21, though it
is similar to the other one.  The pluginviewer can't
(always) be built, because there's a missing dependency
on auxprop.o .  The attached patch deals with this too.
I am not sure, however, that the pluginviewer changes are
wholly clean and reliable.  Firstly, the new dependency may
be conditional (I haven't checked).  Also, it has made an
old declared dependency to disappear, though nothing
seems to break.  cyrus-sasl-2.1.22/utils/Makefile.am now has
an explicit line defining

pluginviewer_DEPENDENCIES = ../lib/auxprop.o

which propagates unchanged into Makefile.in .
Formerly it appeared automagically in Makefile.in as

pluginviewer_DEPENDENCIES = ../lib/libsasl2.la

One could not previously start a clean build by diving into
the 'utils' directory and building 'pluginviewer' alone.
I may or may not have broken something which previously
worked.  I don't even know whether libsasl2.la is really
needed here!  Maybe it should simply be added in to the
pluginviewer_DEPENDENCIES line?  I'd rather pick it up
by the same automatic process as before, whatever it
was.

The other differences between the old automake
output and the new automake output are tedious stuff
arising from the use of a different and later autoconf.
They shouldn't matter.

                                      Bernard Leak.

#Output of diff -Nru cyrus-sasl-2.1.22/aclocal.m4{-old,}
--- cyrus-sasl-2.1.22/aclocal.m4-old	2006-08-30 17:36:57.000000000 +0100
+++ cyrus-sasl-2.1.22/aclocal.m4	2006-08-30 17:49:37.000000000 +0100
@@ -1418,7 +1418,7 @@
 
 SASL_DB_BACKEND="db_${dblib}.lo"
 SASL_DB_BACKEND_STATIC="db_${dblib}.o allockey.o"
-SASL_DB_BACKEND_STATIC_SRCS="../sasldb/db_${dblib}.c ../sasldb/allockey.c"
+SASL_DB_BACKEND_STATIC_SRCS="db_${dblib}.c allockey.c"
 SASL_DB_UTILS="saslpasswd2 sasldblistusers2"
 SASL_DB_MANS="saslpasswd2.8 sasldblistusers2.8"
 
@@ -1441,7 +1441,7 @@
     dnl will just fail to load anyway.
     SASL_DB_BACKEND="db_none.lo"
     SASL_DB_BACKEND_STATIC="db_none.o"
-    SASL_DB_BACKEND_STATIC_SRCS="../sasldb/db_none.c"
+    SASL_DB_BACKEND_STATIC_SRCS="db_none.c"
     SASL_DB_UTILS=""
     SASL_DB_MANS=""
     SASL_DB_LIB=""
@@ -1450,7 +1450,7 @@
 
 if test "$enable_static" = yes; then
     if test "$dblib" != "none"; then
-      SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/sasldb.c $SASL_DB_BACKEND_STATIC_SRCS"
+      SASL_STATIC_SRCS="$SASL_STATIC_SRCS sasldb.c $SASL_DB_BACKEND_STATIC_SRCS"
       SASL_STATIC_OBJS="$SASL_STATIC_OBJS sasldb.o $SASL_DB_BACKEND_STATIC"
       AC_DEFINE(STATIC_SASLDB,[],[Link SASLdb Staticly])
     else
@@ -2753,7 +2753,7 @@
   if test "$krb4" != no; then
     AC_MSG_RESULT(enabled)
     SASL_MECHS="$SASL_MECHS libkerberos4.la"
-    SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/kerberos4.c"
+    SASL_STATIC_SRCS="$SASL_STATIC_SRCS kerberos4.c"
     SASL_STATIC_OBJS="$SASL_STATIC_OBJS kerberos4.o"
     AC_DEFINE(STATIC_KERBEROS4,[],[User KERBEROS_V4 Staticly])
     AC_DEFINE(HAVE_KRB,[],[Do we have Kerberos 4 Support?])
@@ -3017,7 +3017,7 @@
   AC_CHECK_LIB(resolv,res_search,GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lresolv")
   SASL_MECHS="$SASL_MECHS libgssapiv2.la"
   SASL_STATIC_OBJS="$SASL_STATIC_OBJS gssapi.o"
-  SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/gssapi.c"
+  SASL_STATIC_SRCS="$SASL_STATIC_SRCS gssapi.c"
 
   cmu_save_LIBS="$LIBS"
   LIBS="$LIBS $GSSAPIBASE_LIBS"
@@ -3260,7 +3260,7 @@
   SASL_MECHS="$SASL_MECHS libplain.la"
   if test "$enable_static" = yes; then
     SASL_STATIC_OBJS="$SASL_STATIC_OBJS plain.o"
-    SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/plain.c"
+    SASL_STATIC_SRCS="$SASL_STATIC_SRCS plain.c"
     AC_DEFINE(STATIC_PLAIN,[],[Link PLAIN Staticly])
   fi
  else

#Output of diff -Nru cyrus-sasl-2.1.22/cmulocal/sasl2.m4{-old,}
--- cyrus-sasl-2.1.22/cmulocal/sasl2.m4-old	2006-05-18 20:25:34.000000000 +0100
+++ cyrus-sasl-2.1.22/cmulocal/sasl2.m4	2006-08-30 17:50:44.000000000 +0100
@@ -253,7 +253,7 @@
   AC_CHECK_LIB(resolv,res_search,GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lresolv")
   SASL_MECHS="$SASL_MECHS libgssapiv2.la"
   SASL_STATIC_OBJS="$SASL_STATIC_OBJS gssapi.o"
-  SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/gssapi.c"
+  SASL_STATIC_SRCS="$SASL_STATIC_SRCS gssapi.c"
 
   cmu_save_LIBS="$LIBS"
   LIBS="$LIBS $GSSAPIBASE_LIBS"

#Output of diff -Nru cyrus-sasl-2.1.22/config/kerberos_v4.m4{-old,}
--- cyrus-sasl-2.1.22/config/kerberos_v4.m4-old	2005-05-07 05:14:55.000000000 +0100
+++ cyrus-sasl-2.1.22/config/kerberos_v4.m4	2006-08-30 17:48:29.000000000 +0100
@@ -140,7 +140,7 @@
   if test "$krb4" != no; then
     AC_MSG_RESULT(enabled)
     SASL_MECHS="$SASL_MECHS libkerberos4.la"
-    SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/kerberos4.c"
+    SASL_STATIC_SRCS="$SASL_STATIC_SRCS kerberos4.c"
     SASL_STATIC_OBJS="$SASL_STATIC_OBJS kerberos4.o"
     AC_DEFINE(STATIC_KERBEROS4,[],[User KERBEROS_V4 Staticly])
     AC_DEFINE(HAVE_KRB,[],[Do we have Kerberos 4 Support?])

#Output of diff -Nru cyrus-sasl-2.1.22/config/plain.m4{-old,}
--- cyrus-sasl-2.1.22/config/plain.m4-old	2005-05-07 05:14:55.000000000 +0100
+++ cyrus-sasl-2.1.22/config/plain.m4	2006-08-30 17:48:15.000000000 +0100
@@ -23,7 +23,7 @@
   SASL_MECHS="$SASL_MECHS libplain.la"
   if test "$enable_static" = yes; then
     SASL_STATIC_OBJS="$SASL_STATIC_OBJS plain.o"
-    SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/plain.c"
+    SASL_STATIC_SRCS="$SASL_STATIC_SRCS plain.c"
     AC_DEFINE(STATIC_PLAIN,[],[Link PLAIN Staticly])
   fi
  else

#Output of diff -Nru cyrus-sasl-2.1.22/config/sasldb.m4{-old,}
--- cyrus-sasl-2.1.22/config/sasldb.m4-old	2006-05-18 20:06:13.000000000 +0100
+++ cyrus-sasl-2.1.22/config/sasldb.m4	2006-08-30 12:45:40.000000000 +0100
@@ -120,7 +120,7 @@
     dnl will just fail to load anyway.
     SASL_DB_BACKEND="db_none.lo"
     SASL_DB_BACKEND_STATIC="db_none.o"
-    SASL_DB_BACKEND_STATIC_SRCS="../sasldb/db_none.c"
+    SASL_DB_BACKEND_STATIC_SRCS="db_none.c"
     SASL_DB_UTILS=""
     SASL_DB_MANS=""
     SASL_DB_LIB=""
@@ -129,7 +129,7 @@
 
 if test "$enable_static" = yes; then
     if test "$dblib" != "none"; then
-      SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/sasldb.c $SASL_DB_BACKEND_STATIC_SRCS"
+      SASL_STATIC_SRCS="$SASL_STATIC_SRCS sasldb.c $SASL_DB_BACKEND_STATIC_SRCS"
       SASL_STATIC_OBJS="$SASL_STATIC_OBJS sasldb.o $SASL_DB_BACKEND_STATIC"
       AC_DEFINE(STATIC_SASLDB,[],[Link SASLdb Staticly])
     else

#Output of diff -Nru cyrus-sasl-2.1.22/configure.in{-old,}
--- cyrus-sasl-2.1.22/configure.in-old	2006-05-18 20:06:13.000000000 +0100
+++ cyrus-sasl-2.1.22/configure.in	2006-08-30 12:45:40.000000000 +0100
@@ -384,7 +384,7 @@
   SASL_MECHS="$SASL_MECHS libcrammd5.la"
   if test "$enable_static" = yes; then
     SASL_STATIC_OBJS="$SASL_STATIC_OBJS cram.o"
-    SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/cram.c"
+    SASL_STATIC_SRCS="$SASL_STATIC_SRCS cram.c"
     AC_DEFINE(STATIC_CRAMMD5, [], [Link CRAM-MD5 Staticly])
   fi
 else
@@ -418,7 +418,7 @@
   AC_MSG_RESULT(enabled)
   SASL_MECHS="$SASL_MECHS libdigestmd5.la"
   if test "$enable_static" = yes; then
-    SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/digestmd5.c"
+    SASL_STATIC_SRCS="$SASL_STATIC_SRCS digestmd5.c"
     SASL_STATIC_OBJS="$SASL_STATIC_OBJS digestmd5.o"
     AC_DEFINE(STATIC_DIGESTMD5, [], [Link DIGEST-MD5 Staticly])
   fi
@@ -443,7 +443,7 @@
 
   SASL_MECHS="$SASL_MECHS libotp.la"
   if test "$enable_static" = yes; then
-    SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/otp.c"
+    SASL_STATIC_SRCS="$SASL_STATIC_SRCS otp.c"
     SASL_STATIC_OBJS="$SASL_STATIC_OBJS otp.o"
     AC_DEFINE(STATIC_OTP, [], [Link OTP Staticly])
   fi
@@ -500,7 +500,7 @@
 
   SASL_MECHS="$SASL_MECHS libsrp.la"
   if test "$enable_static" = yes; then
-    SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/srp.c"
+    SASL_STATIC_SRCS="$SASL_STATIC_SRCS srp.c"
     SASL_STATIC_OBJS="$SASL_STATIC_OBJS srp.o"
     AC_DEFINE(STATIC_SRP, [], [Link SRP Staticly])
   fi
@@ -557,7 +557,7 @@
   SASL_MECHS="$SASL_MECHS libanonymous.la"
   if test "$enable_static" = yes; then
     SASL_STATIC_OBJS="$SASL_STATIC_OBJS anonymous.o"
-    SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/anonymous.c"
+    SASL_STATIC_SRCS="$SASL_STATIC_SRCS anonymous.c"
     AC_DEFINE(STATIC_ANONYMOUS, [], [Link ANONYMOUS Staticly])
   fi
 else
@@ -574,7 +574,7 @@
   AC_MSG_RESULT(enabled)
   SASL_MECHS="$SASL_MECHS liblogin.la"
   if test "$enable_static" = yes; then
-    SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/login.c"
+    SASL_STATIC_SRCS="$SASL_STATIC_SRCS login.c"
     SASL_STATIC_OBJS="$SASL_STATIC_OBJS login.o"
     AC_DEFINE(STATIC_LOGIN,[],[Link LOGIN Staticly])
   fi
@@ -600,7 +600,7 @@
 
   SASL_MECHS="$SASL_MECHS libntlm.la"
   if test "$enable_static" = yes; then
-    SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/ntlm.c"
+    SASL_STATIC_SRCS="$SASL_STATIC_SRCS ntlm.c"
     SASL_STATIC_OBJS="$SASL_STATIC_OBJS ntlm.o"
     AC_DEFINE(STATIC_NTLM,[],[Link NTLM Staticly])
   fi
@@ -627,7 +627,7 @@
   SASL_MECHS="$SASL_MECHS libpassdss.la"
   if test "$enable_static" = yes; then
     SASL_STATIC_OBJS="$SASL_STATIC_OBJS passdss.o"
-    SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/passdss.c"
+    SASL_STATIC_SRCS="$SASL_STATIC_SRCS passdss.c"
     AC_DEFINE(STATIC_PASSDSS,[],[Link PASSDSS Staticly])
   fi
 else
@@ -657,7 +657,7 @@
   AC_MSG_RESULT(enabled)
   SASL_MECHS="$SASL_MECHS libsql.la"
   if test "$enable_static" = yes; then
-    SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/sql.c"
+    SASL_STATIC_SRCS="$SASL_STATIC_SRCS sql.c"
     SASL_STATIC_OBJS="$SASL_STATIC_OBJS sql.o"
     AC_DEFINE(STATIC_SQL,[],[Link SQL plugin staticly])
   fi
@@ -897,7 +897,7 @@
 
             SASL_MECHS="$SASL_MECHS libldapdb.la"
             if test "$enable_static" = yes; then
-                SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/ldapdb.c"
+                SASL_STATIC_SRCS="$SASL_STATIC_SRCS ldapdb.c"
                 SASL_STATIC_OBJS="$SASL_STATIC_OBJS ldapdb.o"
                 AC_DEFINE(STATIC_LDAPDB,[],[Link ldapdb plugin Staticly])
             fi

#Output of diff -Nru cyrus-sasl-2.1.22/lib/Makefile.am{-old,}
--- cyrus-sasl-2.1.22/lib/Makefile.am-old	2006-05-17 17:46:13.000000000 +0100
+++ cyrus-sasl-2.1.22/lib/Makefile.am	2006-08-30 12:45:40.000000000 +0100
@@ -93,8 +93,12 @@
 	rm -f $@
 	ln -s .libs/$@ $@
 
-$(SASL_STATIC_OBJS): linksrcs
+$(SASL_STATIC_OBJS): $(SASL_STATIC_SRCS)
 
-linksrcs:
-	-ln -s $(SASL_STATIC_SRCS) .
+$(SASL_STATIC_SRCS) :
+	-if test -e "$@" ; then true ; \
+	elif test -f $(top_srcdir)/plugins/"$@" ; then ln -s $(top_srcdir)/plugins/"$@" . ; \
+	elif test -f $(top_srcdir)/sasldb/"$@" ; then ln -s $(top_srcdir)/sasldb/"$@" . ; \
+	else false ; \
+	fi
 

#Output of diff -Nru cyrus-sasl-2.1.22/saslauthd/aclocal.m4{-old,}
--- cyrus-sasl-2.1.22/saslauthd/aclocal.m4-old	2006-08-30 17:36:57.000000000 +0100
+++ cyrus-sasl-2.1.22/saslauthd/aclocal.m4	2006-08-30 17:51:29.000000000 +0100
@@ -1162,7 +1162,7 @@
   if test "$krb4" != no; then
     AC_MSG_RESULT(enabled)
     SASL_MECHS="$SASL_MECHS libkerberos4.la"
-    SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/kerberos4.c"
+    SASL_STATIC_SRCS="$SASL_STATIC_SRCS kerberos4.c"
     SASL_STATIC_OBJS="$SASL_STATIC_OBJS kerberos4.o"
     AC_DEFINE(STATIC_KERBEROS4,[],[User KERBEROS_V4 Staticly])
     AC_DEFINE(HAVE_KRB,[],[Do we have Kerberos 4 Support?])
@@ -1426,7 +1426,7 @@
   AC_CHECK_LIB(resolv,res_search,GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lresolv")
   SASL_MECHS="$SASL_MECHS libgssapiv2.la"
   SASL_STATIC_OBJS="$SASL_STATIC_OBJS gssapi.o"
-  SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/gssapi.c"
+  SASL_STATIC_SRCS="$SASL_STATIC_SRCS gssapi.c"
 
   cmu_save_LIBS="$LIBS"
   LIBS="$LIBS $GSSAPIBASE_LIBS"
@@ -1743,7 +1743,7 @@
 
 SASL_DB_BACKEND="db_${dblib}.lo"
 SASL_DB_BACKEND_STATIC="db_${dblib}.o allockey.o"
-SASL_DB_BACKEND_STATIC_SRCS="../sasldb/db_${dblib}.c ../sasldb/allockey.c"
+SASL_DB_BACKEND_STATIC_SRCS="db_${dblib}.c allockey.c"
 SASL_DB_UTILS="saslpasswd2 sasldblistusers2"
 SASL_DB_MANS="saslpasswd2.8 sasldblistusers2.8"
 
@@ -1766,7 +1766,7 @@
     dnl will just fail to load anyway.
     SASL_DB_BACKEND="db_none.lo"
     SASL_DB_BACKEND_STATIC="db_none.o"
-    SASL_DB_BACKEND_STATIC_SRCS="../sasldb/db_none.c"
+    SASL_DB_BACKEND_STATIC_SRCS="db_none.c"
     SASL_DB_UTILS=""
     SASL_DB_MANS=""
     SASL_DB_LIB=""
@@ -1775,7 +1775,7 @@
 
 if test "$enable_static" = yes; then
     if test "$dblib" != "none"; then
-      SASL_STATIC_SRCS="$SASL_STATIC_SRCS ../plugins/sasldb.c $SASL_DB_BACKEND_STATIC_SRCS"
+      SASL_STATIC_SRCS="$SASL_STATIC_SRCS sasldb.c $SASL_DB_BACKEND_STATIC_SRCS"
       SASL_STATIC_OBJS="$SASL_STATIC_OBJS sasldb.o $SASL_DB_BACKEND_STATIC"
       AC_DEFINE(STATIC_SASLDB,[],[Link SASLdb Staticly])
     else

#Output of diff -Nru cyrus-sasl-2.1.22/utils/Makefile.am{-old,}
--- cyrus-sasl-2.1.22/utils/Makefile.am-old	2006-05-18 19:34:26.000000000 +0100
+++ cyrus-sasl-2.1.22/utils/Makefile.am	2006-08-30 11:55:26.000000000 +0100
@@ -61,8 +61,9 @@
 sasldblistusers2_LDADD = ../sasldb/libsasldb.la $(all_sasl_libs)
 sasldblistusers2_SOURCES = sasldblistusers.c
 dbconverter_2_LDADD = ../sasldb/libsasldb.la $(all_sasl_libs)
-pluginviewer_LDADD = $(all_sasl_libs)
+pluginviewer_LDADD = $(all_sasl_libs) ../lib/auxprop.o
 pluginviewer_SOURCES = pluginviewer.c
+pluginviewer_DEPENDENCIES = ../lib/auxprop.o
 
 testsuite_LDADD = $(all_sasl_libs) @DMALLOC_LIBS@
 
@@ -89,7 +90,7 @@
 libsfsasl2_la_LIBADD = sfsasl.lo
 libsfsasl2_la_LDFLAGS = -version-info 1:0:0 -export-dynamic -rpath $(libdir)
 
-INCLUDES=-I$(top_srcdir)/include -I$(top_builddir)/include @SASL_DB_INC@
+INCLUDES=-I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir)/lib @SASL_DB_INC@
 EXTRA_DIST = saslpasswd2.8 sasldblistusers2.8 pluginviewer.8 sfsasl.h sfsasl.c smtptest.c testsuite.c pluginviewer.c NTMakefile
 
 sfsasl.lo: sfsasl.c



[Index of Archives]     [Info Cyrus]     [Squirrel Mail]     [Linux Media]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux