There must be a better way. I have battled the build for 2 days. I have read readme_source.txt and the cvs build document. The information required is scattered across those documents and then the forums.
In the docs I see reference to a source tarball with the ThirdParty stuff. I have looked everywhere. One used to exist according to Google.
I battled with a the version from the CVS checkout for quite some time.
(cvs -z6 -d server:anonymous:@cvs.zimbra.com:/usr/local/cvsroot co main
$ host cvs.zimbra.com
cvs.zimbra.com has address 18.104.22.168
so it matched what is build_cvs_howto.txt
Following the cvs build document, I went on the milkrun to grab the ThirdParty items. Searched the forums for all the goodies like the mysql clientlibs caper etc. Things continued to break. I grabbed the versions as in
build_cvs_howto.txt Then found the Makefile had the versions in it, so I edited those, then they weren't passed to the sub Makefiles...
So I went back to the Debian developer build and did finally manage to get the Debian developer build running on Ubuntu Breezy. I did this under VmWare because all of this is too intrusive on a box you are using for other things. Being a minimal install on VmWare I had to work out all the packages.
sudo apt-get install libssl-dev
sudo apt-get install ssl-cert
sudo apt-get install zlib1g zlib1g-dev
sudo apt-get install autoconf
sudo apt-get install libpcre3 libpcre3-dev expat libpopt0 libpopt-dev
sudo apt-get install bison flex
sudo apt-get install libtool libltdl3-dev
sudo apt-get install automake automake1.7
sudo apt-get install libbz2-dev bzip2 libbz2-1.0
sudo apt-get install libgmp3-dev
sudo apt-get install curl libwww-dev libcurl3-dev
sudo apt-get install libsasl2 libgssapi1-heimdal
sudo apt-get install libsasl2-modules-gssapi-heimdal
sudo apt-get install libxml-dev
Thanks to the gentleman who posted the Breezy kludge I got it working
Then back to building from source...
Then I grabbed the tarball from the CVS page and followed the instructions more along the lines of the readme_source.txt Of course, I needed the ThirdParty bits. Sometimes I used the once I downloaded previously, when they didn't work I tarred up the stuff from my successful Debian developer build install...
tarballs in the build_cvs_howto.txt file had .tar.gz but .tgz was required when doing doing make dev-install from ZimbraBuild
I fixed up broken files such as defs/devtargets.def
peter@parker:~/zimbra/zcs_src/ZimbraBuild$ diff defs/devtargets.def.BROKEN defs/devtargets.def
< cp -f -R $(ZIMBRA_BIN_DIR)/zmmon $@
> cp -f -R $(ZIMBRA_LIBEXEC_DIR)/zmmon $@
< (cd $@; tar xzf $(THIRD_PARTY)/mysql/$(BUILD_PLATFORM)/mysql-standard-4.1.10a-clientlibs.tgz)
> (cd $@; tar xzf $(THIRD_PARTY)/mysql/$(BUILD_PLATFORM)/mysql-standard-4.1.16-clientlibs.tgz)
< cp -f -R $(SERVICE_DIR)/build/dist/libexec/zm*init $@
> cp -f -R $(SERVICE_DIR)/src/libexec/zm*init $@
< cp -f $(ZIMBRA_BIN_DIR)/swatch $@
< cp -f $(ZIMBRA_BIN_DIR)/swatch $@/logswatch
> cp -f $(ZIMBRA_LIBEXEC_DIR)/swatch $@
> cp -f $(ZIMBRA_LIBEXEC_DIR)/swatch $@/logswatch
< cp -f $(ZIMBRA_BIN_DIR)/zmlogrotate $@
< cp -f $(ZIMBRA_BIN_DIR)/zmsnmpinit $@
< cp -f $(ZIMBRA_BIN_DIR)/zmgengraphs $@
> cp -f $(SERVICE_DIR)/conf/zmlogrotate $@
> cp -f $(ZIMBRA_LIBEXEC_DIR)/zmsnmpinit $@
> cp -f $(ZIMBRA_LIBEXEC_DIR)/zmgengraphs $@
< cp -f $(ZIMBRA_BIN_DIR)/zmroll_catalina.sh $@
> cp -f $(ZIMBRA_LIBEXEC_DIR)/zmroll_catalina $@
< cp -f $(ZIMBRA_BIN_DIR)/zmfixperms.sh $@
> cp -f $(ZIMBRA_LIBEXEC_DIR)/zmfixperms $@
peter@parker:~/zimbra/zcs_src/ZimbraBuild$ diff defs/destination.def.BROKEN defs/destination.def
> ZIMBRA_LIBEXEC_DIR := $(BUILD_ROOT)/../ZimbraServer/src/libexec
I fixed Makefiles.
Finally *** Installation complete
Now I'm debugging the installation. Stuff isn't in libexec that should be. That is probably due to the targets being wrong as above...
I have built a lot of things over the years from all sorts of instructions with no help .... but I have never had such a struggle.
I must be missing something... some other instructions... the source tarball... some other version of the source....
There must be another way!