Results 1 to 8 of 8

Thread: Source installation does not work

  1. #1
    Join Date
    Apr 2007
    Location
    Switzerland
    Posts
    8
    Rep Power
    8

    Default Source installation does not work

    The documentation for the source install of Zimbra is spartan. The documentation in ZimbraWebClient/WebRoot/adminhelp/txt/readme_source.txt is not telling the whole truth. If the system where I am trying to compile Zimbra is not one of the supported systems (aka: RedHat, SuSE, Mandriva, OSX, etc) then the installation will not work and complain about not being able to load ZimbraBuild/defs/UNKNOWN.def.

    Is there anywhere a documentation describing how to port the build system to another (unsupported) system?

    I know that I can read the source and look my self to get a unsupported build system being recognized but maybe there is already a document describing what needs to be made to get the job done. Does any one know anything about such a documentation? Or does any one here has already taken the hard road to customize the build system to be able to build Zimbra on Gentoo Linux?

  2. #2
    Join Date
    Oct 2005
    Location
    Thatcher, AZ
    Posts
    5,606
    Rep Power
    21

    Default

    What OS are you attempting to install on? Search the wiki for building using perforce.

    It says you'll need to modify some files. It's different per OS.

  3. #3
    Join Date
    Apr 2007
    Location
    Switzerland
    Posts
    8
    Rep Power
    8

    Default

    Quote Originally Posted by jholder View Post
    What OS are you attempting to install on?
    Like I wrote in my original post: Gentoo Linux

    Quote Originally Posted by jholder View Post
    Search the wiki for building using perforce.
    Thanks for the hint. Will look into that.

    Quote Originally Posted by jholder View Post
    It says you'll need to modify some files. It's different per OS.
    Different per OS (which is Linux) or different per OS and distro (which is Gentoo)?

    // SteveB

  4. #4
    dijichi2 is offline OpenSource Builder & Moderator
    Join Date
    Oct 2005
    Posts
    1,176
    Rep Power
    12

    Default

    Different per OS (which is Linux) or different per OS and distro (which is Gentoo)?
    Linux is not an OS and never has been, it's a kernel.

    The source builds fine, just unfortunately it doesn't have support for your OS. If you look in the platform vote (sticky thread at top of Dev forum) you'll see Gentoo as an oft-requested platform.

    I don't know Gentoo that well but due to its nature getting a Zimbra installer that would run reliably across various people's setups of Gentoo would be challenging. You have to create a new .def and work out the packaging to get it to compile.

  5. #5
    Join Date
    Apr 2007
    Location
    Switzerland
    Posts
    8
    Rep Power
    8

    Default

    Quote Originally Posted by dijichi2 View Post
    Linux is not an OS and never has been, it's a kernel.
    Okay. Sorry for being unclear. Linux is my kernel. GNU my user land tools and SUN my Java 5/6 environment.

    Quote Originally Posted by dijichi2 View Post
    The source builds fine, just unfortunately it doesn't have support for your OS.
    I believe you that the source builds fine. All I asked for was help how to build the source with the build tools included in Zimbra. Or at least a way how to build the source on a unsupported OS.

    Quote Originally Posted by dijichi2 View Post
    If you look in the platform vote (sticky thread at top of Dev forum) you'll see Gentoo as an oft-requested platform.
    Quote Originally Posted by dijichi2 View Post
    I don't know Gentoo that well but due to its nature getting a Zimbra installer that would run reliably across various people's setups of Gentoo would be challenging.
    I know Gentoo very good. As long as people stick with Portage (the Gentoo package system) I have great control over the installation of Zimbra. I can enforce what ever I like. If I need custom OpenLDAP for example, then I can force that the Zimbra build would pull OpenLDAP + all needed patches and compile and install it the way Zimbra needs it. All I need to know for doing that is how to get the build system of Zimbra to not bark about a unsupported OS. That's all I asked.

    Quote Originally Posted by dijichi2 View Post
    You have to create a new .def and work out the packaging to get it to compile.
    I realized that and made the .def some while ago and started to work on a ebuild (something like a RPM spec file). However... it would be very nice if the steps needed would be documented what needs to be followed to get a new OS into the Zimbra build system.

    I don't ask or request Zimbra to support Gentoo. I think that Gentoo is sure one of the less distributed distros in the enterprise sector. So supporting Gentoo officially would probably be to much effort for a very limited user base. But having the basics documented in how to build Zimbra on a unsupported system or how to enable the build system to build a unsupported OS would be a big plus. With such a documentation any one could start to integrate his/her OS to build Zimbra.

    So if you have a link to the basics how to build Zimbra from source and how to trick all the different checks for a supported OS then I would be very happy if you could post a link to such a documentation.

    // SteveB

  6. #6
    dijichi2 is offline OpenSource Builder & Moderator
    Join Date
    Oct 2005
    Posts
    1,176
    Rep Power
    12

    Default

    Try and avoid using any OS-specific tools/systems, such as Gentoo Portage. I know your intentions are honourable, but it's not going to help you here, at least to start with just use the existing ThirdParty build 'system', once you get used to how it all builds then revisit the Portage idea - you may or may not think it's a good idea at that point.

    Taking your example of OpenLDAP, the ThirdParty/openldap/ directory contains the exact source version, patches and Makefile instructions necessary to build it exactly the way Zimbra expects it to be built, both at runtime and buildtime. There are numerous quirks throughout the build system, honestly it will be painful trying to get Portage to work the way of Zimbra.

    The main thing you have to work around is the packaging which is defined in the main platform .def and in each package .def (core, mta, store etc).

    I have basic documentation written for the Solaris port, where I had to go through all this pain from scratch. I did start off by writing up each and every patch and source modification but gave up because the documentation would have ended up as long as the patch. You might take a peek at the patches and this will give you a good hint on what needs to be changed. The build system is very much Linux based so as you are just defining a new distro it should be pretty straight forward, nowhere near as many hacks as needed for Solaris (and BSD, which is turning out to be a real bundle of fun).

    Documentation is here:
    Solaris - Build Instructions

  7. #7
    Join Date
    Apr 2007
    Location
    Switzerland
    Posts
    8
    Rep Power
    8

    Default

    Quote Originally Posted by dijichi2 View Post
    Try and avoid using any OS-specific tools/systems, such as Gentoo Portage. I know your intentions are honourable, but it's not going to help you here, at least to start with just use the existing ThirdParty build 'system', once you get used to how it all builds then revisit the Portage idea - you may or may not think it's a good idea at that point.
    No! The idea is perfect. Exactly what my intention is. I need to understand the ThirdParty build system before I even consider to start to transform/rebuild the whole stuff in and with Gentoo. I consider it stupid to try to automate the build process with Gentoo or rebuild it with Gentoo portage when not even understanding the original/official build system. Would be like trying to write an application for bookkeeping but not knowing what bookkeeping is. I know that it is possible but this is not the approach I am trying to do with Zimbra for Gentoo. I rather go the hard way and after knowing what the hard way is, then I go the other way around and use Gentoo portage.


    Quote Originally Posted by dijichi2 View Post
    Taking your example of OpenLDAP, the ThirdParty/openldap/ directory contains the exact source version, patches and Makefile instructions necessary to build it exactly the way Zimbra expects it to be built, both at runtime and buildtime. There are numerous quirks throughout the build system, honestly it will be painful trying to get Portage to work the way of Zimbra.
    My main goal is to get Zimbra to build by hand. Then I go and mirror that manual process to be done with Gentoo portage. And after that I will try to break up things as much as possible and separate the internal packages to be separate packages for Gentoo. I know that currently much of the internal packages (OpenLDAP, Postfix, etc) are loaded with patches for Zimbra. I know that and to be honest: I don't like that. But Zimbra need probably those patches and that's the way it is. I remember reading that Zimbra as an organization is trying to unwire the quirks/patches for the other used product. I don't know when and if this will happen but I am hoping that this will happen. As long this is not the case, I stick with what Zimbra offers while blocking what Gentoo provides. Simple as that.

    Quote Originally Posted by dijichi2 View Post
    The main thing you have to work around is the packaging which is defined in the main platform .def and in each package .def (core, mta, store etc).
    Yes. I already hit that wall. It is a shame that only RPM, DEB and TAR are supported. But anyway... once I am there that everything is already compiled and ready to be packaged, then I have reached the top of the hill. Then using Gentoo portage to package Zimbra is easy as 1-2-3.

    Quote Originally Posted by dijichi2 View Post
    I have basic documentation written for the Solaris port, where I had to go through all this pain from scratch. I did start off by writing up each and every patch and source modification but gave up because the documentation would have ended up as long as the patch. You might take a peek at the patches and this will give you a good hint on what needs to be changed. The build system is very much Linux based so as you are just defining a new distro it should be pretty straight forward, nowhere near as many hacks as needed for Solaris (and BSD, which is turning out to be a real bundle of fun).
    Well... Unix is not Unix and Linux is defiantly not Unix. It is Unix like but no where as Solaris or BSD or AIX or ....

    Quote Originally Posted by dijichi2 View Post
    Documentation is here:
    Solaris - Build Instructions
    This is perfect! Perfect! This helps me a lot. That's is what I was looking for. Thank you so much for the link.


    You said that getting Zimbra to compile/build under every possible Gentoo installation out there would be hard. I agree. But I am sure that a good and careful build ebuild (Gentoo specific package instruction file. Much like a RPM spec) should be able to handle a lot of conditions. I know that Gentoo portage can do that. It is capable of handling a lot of conditions. And I think having Zimbra on Gentoo will help the whole Zimbra community. I think no other Linux system is so easy to twist around as Gentoo (Okay. LFS is/can be as flexible as Gentoo). And the Gentoo users are mostly reporting issues very fast and very detailed. And I think this could be a great source for quantitative and qualitative feedback for Zimbra.



    Greetings from Zürich

    Steve

  8. #8
    dijichi2 is offline OpenSource Builder & Moderator
    Join Date
    Oct 2005
    Posts
    1,176
    Rep Power
    12

    Default

    Note: perhaps a mod could move this to dev forum please?

    I know that currently much of the internal packages (OpenLDAP, Postfix, etc) are loaded with patches for Zimbra. I know that and to be honest: I don't like that. But Zimbra need probably those patches and that's the way it is. I remember reading that Zimbra as an organization is trying to unwire the quirks/patches for the other used product.
    There's actually surprisingly few zimbra-specific patches! OpenLDAP has recently diverged from the public tarballs a bit with quite a few patches but I think that's mainly because OpenLDAP guru Quanah is on board now and probably tweaking/improving in lots of chocolatey good ways. cyrus-sasl has a zimbra/soap specific auth method, amavisd has some trivial patches and a few others but generally it's pretty stock. the main difference is the way they are installed/packaged and config setup.

    Yes. I already hit that wall. It is a shame that only RPM, DEB and TAR are supported. But anyway... once I am there that everything is already compiled and ready to be packaged, then I have reached the top of the hill. Then using Gentoo portage to package Zimbra is easy as 1-2-3.
    Solaris dstreams are supported with my patch, and I'm just adding BSD pkgs at the moment. Actually the code structure for building the packages is pretty generic, it's easy to add in specific instructions for different packaging types. It's done once in the .defs (once for each def), and then you also have to alter the installer libraries to be aware of the add/query/remove syntax at install time. The ebuild will be constructed on the fly, much like the spec or prototype with stub headers and footers.

    Why not download the solaris patches and source tarball, apply the patches and then compare how they look to the vanilla source? This should give you a good idea of how to adapt the source to a new build system. It's actually not that hard, I can help you where necessary.

    Once you're compiled and ready to be packaged, however, don't go anywhere near portage still. You'll understand once you've built and installed it!

Similar Threads

  1. Sits at loading screen?
    By moshen in forum General Questions
    Replies: 8
    Last Post: 02-19-2008, 02:15 PM
  2. Replies: 8
    Last Post: 12-02-2007, 05:18 AM
  3. Installs but won't start on Linux FC6
    By iain in forum General Questions
    Replies: 6
    Last Post: 03-29-2007, 11:19 AM
  4. M3 problem with shares
    By titangears in forum Users
    Replies: 4
    Last Post: 01-12-2006, 01:01 PM
  5. m2 open source installation does not include servers
    By mcgaffin in forum Installation
    Replies: 5
    Last Post: 11-17-2005, 09:26 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •