Re: can't find acap.h while building imapd-2.1.11
Rob Siemborski wrote: On Tue, 10 Dec 2002, Hack Kampbjorn wrote: This is on a OpenBSD 3.2, so that would be bmake and flex: $ flex --version flex version 2.5.4 Okay, I'm guessing it's more bmake than flex, since the implicit rules supplied by gmake are creating this file like so: flex -t addr-lex.l > addr-lex.c What should I do instead? Use gmake? ;) Seriously though, I highly doubt this is the only place in the code that there's problems with a non-GNU make. (Indeed, the same makefile has that problem with sieve-lex.c/sieve-lex.l). Or was this really the only problem? Yes, that's was the only make problem and only when builddir != srcdir. If you have a complete set of patches, I'm definately willing to look at them. Ok, my private OpenBSD port have these patches: patch-acap_Makefile_in patch-imap_duplicate_c patch-imap_sendmail-map_c patch-imtest_imtest_c patch-lib_auth_krb_c patch-lib_auth_krb_pts_c patch-lib_auth_krb_pts_h patch-lib_cyrusdb_db3_c patch-ptclient_ptloader_c patch-sieve_Makefile_in The acap and sieve are the ones I already sent. patch-imtest_imtest_c explicitly includes as OpenBSD 3.2 comes with OpenSSL 0.9.7-beta3 30 Jul 2002. I suppose this should check if OPENSSL_VERSION_NUMBER >= 0x00907000L --- imtest/imtest.c.origMon Nov 4 17:10:32 2002 +++ imtest/imtest.c Sat Dec 7 15:39:54 2002 @@ -78,6 +78,7 @@ #ifdef HAVE_SSL #include +#include static SSL_CTX *tls_ctx = NULL; static SSL *tls_conn = NULL; The rest changes to as installed by the db3 port. OpenBSD has the original db1 as . The configure script is smart enough to find db3 support with -ldb and but all the cyrus-imapd soruces has hardcoded -Rob -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456 Research Systems Programmer * /usr/contributed Gatekeeper -- Med venlig hilsen / Kind regards Hack Kampbjørn
Re: can't find acap.h while building imapd-2.1.11
On Tue, 10 Dec 2002, Hack Kampbjorn wrote: > This is on a OpenBSD 3.2, so that would be bmake and flex: > $ flex --version > flex version 2.5.4 Okay, I'm guessing it's more bmake than flex, since the implicit rules supplied by gmake are creating this file like so: flex -t addr-lex.l > addr-lex.c > What should I do instead? Use gmake? ;) Seriously though, I highly doubt this is the only place in the code that there's problems with a non-GNU make. (Indeed, the same makefile has that problem with sieve-lex.c/sieve-lex.l). Or was this really the only problem? If you have a complete set of patches, I'm definately willing to look at them. -Rob -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456 Research Systems Programmer * /usr/contributed Gatekeeper
Re: can't find acap.h while building imapd-2.1.11
I've applied patches similar to these (and the acap one, though we're dropping the acap directory in 2.2 anyway, so) to CVS. Thanks, -Rob On Mon, 9 Dec 2002, Matt Selsky wrote: > > I had problems with the sieve and perl part too when trying to build out > > of the source directory. Acap and sieve were fixed with these patches, > > but I couldn't get the perl part to build. Seems I need to patch > > MakeMaker for this 8-( > > > > $ diff -u acap/Makefile.in.orig acap/Makefile.in > > --- acap/Makefile.in.orig Sat May 25 21:57:41 2002 > > +++ acap/Makefile.inSat Dec 7 20:40:04 2002 > > @@ -51,7 +51,7 @@ > > RANLIB = @RANLIB@ > > > > DEFS = @DEFS@ > > -CPPFLAGS = @CPPFLAGS@ @SASLFLAGS@ -I. -I.. -I../lib > > +CPPFLAGS = @CPPFLAGS@ @SASLFLAGS@ -I. -I.. -I$(srcdir) -I../lib > > LIBS = @LIBS@ > > > > CFLAGS = @CFLAGS@ > > > > diff -u sieve/Makefile.in.orig sieve/Makefile.in > > --- sieve/Makefile.in.orig Sat Dec 7 20:31:59 2002 > > +++ sieve/Makefile.in Sat Dec 7 20:32:47 2002 > > @@ -70,6 +70,8 @@ > > mv -f y.tab.h sieve.h > > > > addr-lex.c: addr-lex.l addr.h > > + $(LEX) $(srcdir)/addr-lex.l > > + mv -f lex.addr.c addr-lex.c > > > > addr.c addr.h: addr.y > > $(YACC) $(YFLAGS) -p addr $(srcdir)/addr.y > > I patched acap/Makefile.in and also master/Makefile.in and > imap/Makefile.in > > --- master/Makefile.in.orig 2002/12/09 23:03:36 > +++ master/Makefile.in 2002/12/09 23:07:31 > @@ -53,7 +53,7 @@ > CYRUS_GROUP=@cyrus_group@ > > DEFS = @DEFS@ @LOCALDEFS@ > -CPPFLAGS = -I. -I.. -I../lib -I$(srcdir) @CPPFLAGS@ @COM_ERR_CPPFLAGS@ > +CPPFLAGS = -I. -I.. -I../lib -I$(srcdir) -I$(srcdir)/../lib @CPPFLAGS@ > @COM_ERR_CPPFLAGS@ > DEPLIBS = @DEPLIBS@ > > CFLAGS = @CFLAGS@ > > > --- imap/Makefile.in.orig Mon Nov 4 12:39:36 2002 > +++ imap/Makefile.inMon Dec 9 18:12:24 2002 > @@ -62,7 +62,7 @@ > CYRUS_GROUP=@cyrus_group@ > > DEFS = @DEFS@ @LOCALDEFS@ > -CPPFLAGS = -I. -I.. -I../sieve -I$(srcdir) -I$(srcdir)/../lib -I$(srcdir)/../acap >-I../acap @COM_ERR_CPPFLAGS@ @SIEVE_CPPFLAGS@ @CPPFLAGS@ @SASLFLAGS@ > +CPPFLAGS = -I. -I.. -I../sieve -I$(srcdir) -I$(srcdir)/../lib -I$(srcdir)/../acap >-I../acap -I$(srcdir)/../sieve @COM_ERR_CPPFLAGS@ @SIEVE_CPPFLAGS@ @CPPFLAGS@ >@SASLFLAGS@ > IMAP_LIBS = @IMAP_LIBS@ > SIEVE_LIBS = @SIEVE_LIBS@ > IMAP_COM_ERR_LIBS = @IMAP_COM_ERR_LIBS@ > > I also ran into a problem with perl, but for now, I'm building without > it (--without-perl). > > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456 Research Systems Programmer * /usr/contributed Gatekeeper
Re: can't find acap.h while building imapd-2.1.11
Rob Siemborski wrote: On Tue, 10 Dec 2002, Hack Kampbjorn wrote: diff -u sieve/Makefile.in.orig sieve/Makefile.in --- sieve/Makefile.in.orig Sat Dec 7 20:31:59 2002 +++ sieve/Makefile.in Sat Dec 7 20:32:47 2002 @@ -70,6 +70,8 @@ mv -f y.tab.h sieve.h addr-lex.c: addr-lex.l addr.h + $(LEX) $(srcdir)/addr-lex.l + mv -f lex.addr.c addr-lex.c addr.c addr.h: addr.y $(YACC) $(YFLAGS) -p addr $(srcdir)/addr.y What make and lex are you using that requires this? I don't understand the need for the mv command at all. This is on a OpenBSD 3.2, so that would be bmake and flex: $ flex --version flex version 2.5.4 Without the explicit lex and mv I got this error as flex produced a lex.addr.c file and not lex.yy.c as make expected: $ make -f Makefile.orig flex ../../cyrus-imapd-2.1.11.orig/sieve/addr-lex.l mv lex.yy.c addr-lex.c mv: lex.yy.c: No such file or directory *** Error code 1 Stop in /usr/ports/mystuff/mail/cyrus-imapd/w-cyrus-imapd-2.1.11/build/sieve. What should I do instead? -Rob -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456 Research Systems Programmer * /usr/contributed Gatekeeper -- Med venlig hilsen / Kind regards Hack Kampbjørn
Re: can't find acap.h while building imapd-2.1.11
On Tue, 10 Dec 2002, Hack Kampbjorn wrote: > diff -u sieve/Makefile.in.orig sieve/Makefile.in > --- sieve/Makefile.in.orig Sat Dec 7 20:31:59 2002 > +++ sieve/Makefile.in Sat Dec 7 20:32:47 2002 > @@ -70,6 +70,8 @@ > mv -f y.tab.h sieve.h > > addr-lex.c: addr-lex.l addr.h > + $(LEX) $(srcdir)/addr-lex.l > + mv -f lex.addr.c addr-lex.c > > addr.c addr.h: addr.y > $(YACC) $(YFLAGS) -p addr $(srcdir)/addr.y What make and lex are you using that requires this? I don't understand the need for the mv command at all. -Rob -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456 Research Systems Programmer * /usr/contributed Gatekeeper
Re: can't find acap.h while building imapd-2.1.11
> I had problems with the sieve and perl part too when trying to build out > of the source directory. Acap and sieve were fixed with these patches, > but I couldn't get the perl part to build. Seems I need to patch > MakeMaker for this 8-( > > $ diff -u acap/Makefile.in.orig acap/Makefile.in > --- acap/Makefile.in.orig Sat May 25 21:57:41 2002 > +++ acap/Makefile.inSat Dec 7 20:40:04 2002 > @@ -51,7 +51,7 @@ > RANLIB = @RANLIB@ > > DEFS = @DEFS@ > -CPPFLAGS = @CPPFLAGS@ @SASLFLAGS@ -I. -I.. -I../lib > +CPPFLAGS = @CPPFLAGS@ @SASLFLAGS@ -I. -I.. -I$(srcdir) -I../lib > LIBS = @LIBS@ > > CFLAGS = @CFLAGS@ > > diff -u sieve/Makefile.in.orig sieve/Makefile.in > --- sieve/Makefile.in.orig Sat Dec 7 20:31:59 2002 > +++ sieve/Makefile.in Sat Dec 7 20:32:47 2002 > @@ -70,6 +70,8 @@ > mv -f y.tab.h sieve.h > > addr-lex.c: addr-lex.l addr.h > + $(LEX) $(srcdir)/addr-lex.l > + mv -f lex.addr.c addr-lex.c > > addr.c addr.h: addr.y > $(YACC) $(YFLAGS) -p addr $(srcdir)/addr.y I patched acap/Makefile.in and also master/Makefile.in and imap/Makefile.in --- master/Makefile.in.orig 2002/12/09 23:03:36 +++ master/Makefile.in 2002/12/09 23:07:31 @@ -53,7 +53,7 @@ CYRUS_GROUP=@cyrus_group@ DEFS = @DEFS@ @LOCALDEFS@ -CPPFLAGS = -I. -I.. -I../lib -I$(srcdir) @CPPFLAGS@ @COM_ERR_CPPFLAGS@ +CPPFLAGS = -I. -I.. -I../lib -I$(srcdir) -I$(srcdir)/../lib @CPPFLAGS@ @COM_ERR_CPPFLAGS@ DEPLIBS = @DEPLIBS@ CFLAGS = @CFLAGS@ --- imap/Makefile.in.orig Mon Nov 4 12:39:36 2002 +++ imap/Makefile.inMon Dec 9 18:12:24 2002 @@ -62,7 +62,7 @@ CYRUS_GROUP=@cyrus_group@ DEFS = @DEFS@ @LOCALDEFS@ -CPPFLAGS = -I. -I.. -I../sieve -I$(srcdir) -I$(srcdir)/../lib -I$(srcdir)/../acap -I../acap @COM_ERR_CPPFLAGS@ @SIEVE_CPPFLAGS@ @CPPFLAGS@ @SASLFLAGS@ +CPPFLAGS = -I. -I.. -I../sieve -I$(srcdir) -I$(srcdir)/../lib -I$(srcdir)/../acap +-I../acap -I$(srcdir)/../sieve @COM_ERR_CPPFLAGS@ @SIEVE_CPPFLAGS@ @CPPFLAGS@ +@SASLFLAGS@ IMAP_LIBS = @IMAP_LIBS@ SIEVE_LIBS = @SIEVE_LIBS@ IMAP_COM_ERR_LIBS = @IMAP_COM_ERR_LIBS@ I also ran into a problem with perl, but for now, I'm building without it (--without-perl).
Re: can't find acap.h while building imapd-2.1.11
Matt Selsky wrote: I'm trying to build imapd-2.1.11 I unpacked the source tarball into a direction and then I build from another directory (since I have multiple architectures). I configured like this: $ ../../src/configure \ --prefix=/opt/cyrus-imapd-2.1.11 \ --with-cyrus-prefix=/opt/cyrus-imap-2.1.11 \ --with-cyrus-user=cyrusadm \ --with-cyrus-group=mailer \ --with-dbdir=/opt/BerkeleyDB.3.3 \ --with-auth=unix \ --enable-murder \ --disable-sieve \ --enable-fulldirhash \ --with-openssl \ --with-sasl=/opt/local $ make ### Making all in /src/mail/cyrus/cyrus-imapd-2.1.11/obj/solaris9/acap make[1]: Entering directory `/src/mail/cyrus/cyrus-imapd-2.1.11/obj/solaris9/acap' gcc -c -I/opt/BerkeleyDB.3.3/include -I/usr/local/include -I/opt/local/include -I. -I.. -I../lib -DHAVE_CONFIG_H -Wall -g -O2 \ ../../../src/acap/acapsieve.c ../../../src/acap/acapsieve.c:20: acap.h: No such file or directory make[1]: *** [acapsieve.o] Error 1 make[1]: Leaving directory `/src/mail/cyrus/cyrus-imapd-2.1.11/obj/solaris9/acap' make: *** [all] Error 1 acap.h does exist in ../../../src/acap/acap.h Should configure have added '$srcdir/.' to CPPFLAGS instead of '.' in the acap/Makefile? I had problems with the sieve and perl part too when trying to build out of the source directory. Acap and sieve were fixed with these patches, but I couldn't get the perl part to build. Seems I need to patch MakeMaker for this 8-( $ diff -u acap/Makefile.in.orig acap/Makefile.in --- acap/Makefile.in.orig Sat May 25 21:57:41 2002 +++ acap/Makefile.inSat Dec 7 20:40:04 2002 @@ -51,7 +51,7 @@ RANLIB = @RANLIB@ DEFS = @DEFS@ -CPPFLAGS = @CPPFLAGS@ @SASLFLAGS@ -I. -I.. -I../lib +CPPFLAGS = @CPPFLAGS@ @SASLFLAGS@ -I. -I.. -I$(srcdir) -I../lib LIBS = @LIBS@ CFLAGS = @CFLAGS@ diff -u sieve/Makefile.in.orig sieve/Makefile.in --- sieve/Makefile.in.orig Sat Dec 7 20:31:59 2002 +++ sieve/Makefile.in Sat Dec 7 20:32:47 2002 @@ -70,6 +70,8 @@ mv -f y.tab.h sieve.h addr-lex.c: addr-lex.l addr.h + $(LEX) $(srcdir)/addr-lex.l + mv -f lex.addr.c addr-lex.c addr.c addr.h: addr.y $(YACC) $(YFLAGS) -p addr $(srcdir)/addr.y -- Med venlig hilsen / Kind regards Hack Kampbjørn
Re: can't find acap.h while building imapd-2.1.11
On Mon, Dec 09, 2002 at 04:58:39PM -0500, Matt Selsky wrote: > I'm trying to build imapd-2.1.11 > > I unpacked the source tarball into a direction and then I build from > another directory (since I have multiple architectures). I configured > like this: > > $ ../../src/configure \ > --prefix=/opt/cyrus-imapd-2.1.11 \ > --with-cyrus-prefix=/opt/cyrus-imap-2.1.11 \ > --with-cyrus-user=cyrusadm \ > --with-cyrus-group=mailer \ > --with-dbdir=/opt/BerkeleyDB.3.3 \ > --with-auth=unix \ > --enable-murder \ > --disable-sieve \ > --enable-fulldirhash \ > --with-openssl \ > --with-sasl=/opt/local > > $ make > > ### Making all in > /src/mail/cyrus/cyrus-imapd-2.1.11/obj/solaris9/acap > make[1]: Entering directory `/src/mail/cyrus/cyrus-imapd-2.1.11/obj/solaris9/acap' > gcc -c -I/opt/BerkeleyDB.3.3/include -I/usr/local/include -I/opt/local/include -I. >-I.. -I../lib -DHAVE_CONFIG_H -Wall -g -O2 \ > ../../../src/acap/acapsieve.c > ../../../src/acap/acapsieve.c:20: acap.h: No such file or directory > make[1]: *** [acapsieve.o] Error 1 > make[1]: Leaving directory > `/src/mail/cyrus/cyrus-imapd-2.1.11/obj/solaris9/acap' > make: *** [all] Error 1 > > > acap.h does exist in ../../../src/acap/acap.h Should configure have > added '$srcdir/.' to CPPFLAGS instead of '.' in the acap/Makefile? This change to acap/Makefile.in seems to fix the problem: diff -u -r1.1 Makefile.in --- Makefile.in 2002/12/09 22:20:13 1.1 +++ Makefile.in 2002/12/09 22:30:28 @@ -51,7 +51,7 @@ RANLIB = @RANLIB@ DEFS = @DEFS@ -CPPFLAGS = @CPPFLAGS@ @SASLFLAGS@ -I. -I.. -I../lib +CPPFLAGS = @CPPFLAGS@ @SASLFLAGS@ -I. -I.. -I../lib -I$(srcdir) LIBS = @LIBS@ CFLAGS = @CFLAGS@ Other Makefile.in may need similar fixes.
can't find acap.h while building imapd-2.1.11
I'm trying to build imapd-2.1.11 I unpacked the source tarball into a direction and then I build from another directory (since I have multiple architectures). I configured like this: $ ../../src/configure \ --prefix=/opt/cyrus-imapd-2.1.11 \ --with-cyrus-prefix=/opt/cyrus-imap-2.1.11 \ --with-cyrus-user=cyrusadm \ --with-cyrus-group=mailer \ --with-dbdir=/opt/BerkeleyDB.3.3 \ --with-auth=unix \ --enable-murder \ --disable-sieve \ --enable-fulldirhash \ --with-openssl \ --with-sasl=/opt/local $ make ### Making all in /src/mail/cyrus/cyrus-imapd-2.1.11/obj/solaris9/acap make[1]: Entering directory `/src/mail/cyrus/cyrus-imapd-2.1.11/obj/solaris9/acap' gcc -c -I/opt/BerkeleyDB.3.3/include -I/usr/local/include -I/opt/local/include -I. -I.. -I../lib -DHAVE_CONFIG_H -Wall -g -O2 \ ../../../src/acap/acapsieve.c ../../../src/acap/acapsieve.c:20: acap.h: No such file or directory make[1]: *** [acapsieve.o] Error 1 make[1]: Leaving directory `/src/mail/cyrus/cyrus-imapd-2.1.11/obj/solaris9/acap' make: *** [all] Error 1 acap.h does exist in ../../../src/acap/acap.h Should configure have added '$srcdir/.' to CPPFLAGS instead of '.' in the acap/Makefile?