Thought that this might save someone else the trouble of figuring out how to get the IMSPd up on Mac OS X. Patches are against the posted cyrus-imspd-v1.6a3:
I sent out another patch on 7 Jan 2002 to the sasl list describing the tweaks to get SASL up on Mac OS X. This is a prerequisite for IMSP. In addition to one required change, I have included some cosmetic changes and hacks that may be useful. 1. imsp/syncdb.c makes some assumptions on files lengths being representable by 32 bit quantities. This doesn't work on Mac OS X. Because the data is read as one block into memory, I assumed that we can truncate this rather small file size to 32 bits: 418a419 > size_t fileSize; 487c488,489 < data = (char *) malloc(stbuf.st_size + 1); --- > fileSize = stbuf.st_size; > data = (char *) malloc(fileSize + 1); 493c495 < stbuf.st_size+1, c->db); --- > fileSize+1, c->db); 499,500c501,502 < count = read(fd, data, stbuf.st_size); < if (count != stbuf.st_size) { --- > count = read(fd, data, fileSize); > if (count != fileSize) { 502,503c504,505 < fprintf(stderr, "internal consistency error count(%d) != stbuf.st_size (%d)\n", < count, stbuf.st_size); --- > fprintf(stderr, "internal consistency error count(%d) != fileSize (%d)\n", > count, fileSize); 2. The standard install for IMSPd puts things in different places from other Cyrus and SASL installs. I changed this for cleanliness imsp/Makefile.in: 79c79 < $(INSTALL) -s cyrus-imspd $(DESTDIR)/cyrus/usr/cyrus/bin/imspd --- > $(INSTALL) -s cyrus-imspd $(DESTDIR)/usr/cyrus/bin/imspd Makefile.in: < - mkdir ${DESTDIR}/cyrus < - mkdir ${DESTDIR}/cyrus/usr < - mkdir ${DESTDIR}/cyrus/usr/cyrus < - mkdir ${DESTDIR}/cyrus/usr/cyrus/bin --- > - mkdir -p ${DESTDIR}/usr/cyrus/bin 3. I used the Berkeley DB with SASL so I wanted to use it with IMSPd. I had problems linking, so I just hacked configure. Not very nicely. configure: 2136c2136 < LIBS="-lsasl $LIBS" --- > LIBS="-lsasl -ldb $LIBS" 2170c2170 < LIBS="-lsasl $LIBS" --- > LIBS="-lsasl -ldb $LIBS" 2188c2188 < LIB_SASL="-lsasl" --- > LIB_SASL="-lsasl -ldb" 2194c2194 < LIB_SASL="-L$sasldir/lib -lsasl" --- > LIB_SASL="-L$sasldir/lib -lsasl -ldb" 4. With these fixes and the fink installation described in the SASL install, the make can be done as follows: setenv CPPFLAGS "-I/sw/include" setenv LDFLAGS "-L/sw/lib" ./configure make depend make make install That's it. Everything else works the same. Cheers, Mark