Hi,
has anyone actually managed to build Zimbra, either using sources from the p4 repository or from Zimbra community builds (FRANKLIN-5010.tar.gz or FRANKLIN-5010_2660.tar.gz)? I'm building Zimbra on CentOS5, which is basically identical to Redhat5.
I've read all these articles:
Franklin README - Zimbra :: Wiki or
Building Zimbra using Perforce - Zimbra :: Wiki
but they are so incomplete that they're almost useless. Before I start listing the problems I encountered and fixed, could somebody share with me
- a revision number of / path to a known-good build
- the correct procedure on how to build Zimbra - no handholding needed
- any other things that might be necessary to complete build
Now on to the problems I encountered... When using the FRANKLIN P4 sources (a week or so old) I had to fix multitude of problems:
- several false program version definitions in ThirdParty build file
- lots undocumented build-time dependencies
- lots of (false) assumptions about the build environment, which I had to hack around with symlinks (/home/public/p4...)
- creating CentOS-specific directories and def-files
- false filename definitions in some of the CPAN perl modules causing the build to fail - these might be a side-effect of several build retries, though
- legacy syntax in RPM spec files, which causes rpm-build to fail
I managed to get as far as building the zimbra-apache RPM. That failed after trying to copy some files from
/root/FRANKLIN/ZimbraBuild/../ZimbraWebClient/build/dist/jetty/work/*
That directory is empty and I have no idea how to fill it with the stuff the build wants.
I also tried the community builds loosely following these instructions:
Ubuntu Hardy - Build Instructions
The FRANKLIN-5010.tar.gz was useless due to Windows linefeeds in buildThirdParty.sh. I didn't try fixing that yet. The FRANKLIN-5010_2660.tar.gz failed me too during cyrus-sasl compilation. It was missing some header files. When I installed the appropriate *-devel packages, the build started but failed, probably due to version mismatch between the *-devel package and the included cyrus-sasl version.
So how do I build Zimbra from source - and why is the process so poorly documented? I'd love to document the build process, but I'd have to finish it first.
Samuli