Difference between revisions of "Platform Specific"

(Fedora Core)
(Fedora Core)
Line 23: Line 23:
 
The same fix can be used here. eg. "ln -s /usr/lib64/libssl.so.6 /usr/lib/libssl.so.5"  You only need to change this command to work on your install
 
The same fix can be used here. eg. "ln -s /usr/lib64/libssl.so.6 /usr/lib/libssl.so.5"  You only need to change this command to work on your install
  
== Fedora Core ==
+
== Fedora Core 5 x86_64 ==
  
 
This is an install of zimbra-core-4.5.0_RC1_522.RHEL4_64-20061219094121.x86_64.rpm on FC5 x86_64.
 
This is an install of zimbra-core-4.5.0_RC1_522.RHEL4_64-20061219094121.x86_64.rpm on FC5 x86_64.
Line 35: Line 35:
 
* ''snmp''
 
* ''snmp''
  
Below is the change required to make install.sh happy with the prerequisites and to allow zmldapinit to complete.
+
Below is the change required to make install.sh happy with the prerequisites and to allow zmldapinit to complete. I also fixed some indenting issues. This is only tested on FC5.
  
 
<pre>
 
<pre>
 
--- zcs.dist/util/utilfunc.sh  2006-12-19 09:48:18.000000000 -0800
 
--- zcs.dist/util/utilfunc.sh  2006-12-19 09:48:18.000000000 -0800
+++ zcs/util/utilfunc.sh        2007-01-08 17:47:23.000000000 -0800
+
+++ zcs/util/utilfunc.sh        2007-01-09 09:05:42.000000000 -0800
@@ -1157,6 +1157,7 @@
+
@@ -1198,6 +1198,7 @@
        pkg=$1
+
                PACKAGEEXT='ccs'
        PKGINSTALLED=""
+
                PREREQ_PACKAGES="sudo libidn curl fetchmail gmp libxml2 libstdc++ openssl"
         if [ $PACKAGEEXT = "rpm" ]; then
+
         else
+              echo "$PACKAGEQUERY $pkg"
+
+              # RPM based distro
                 $PACKAGEQUERY $pkg >/dev/null 2>&1
+
                 PACKAGEINST='rpm -iv'
                 if [ $? = 0 ]; then
+
                 PACKAGERM='rpm -ev --nodeps --noscripts --allmatches'
                        PKGVERSION=`$PACKAGEQUERY $pkg 2> /dev/null | sort -u`
+
                PACKAGEQUERY='rpm -q'
@@ -1207,10 +1208,15 @@
+
@@ -1207,14 +1208,24 @@
 
                         PREREQ_LIBS="/usr/lib/libstdc++.so.5"
 
                         PREREQ_LIBS="/usr/lib/libstdc++.so.5"
 
                 elif [ $PLATFORM = "MANDRIVA2006" ]; then
 
                 elif [ $PLATFORM = "MANDRIVA2006" ]; then
 
                         PREREQ_PACKAGES="sudo libidn11 curl fetchmail libgmp3 libxml2 libstdc++6 openssl"
 
                         PREREQ_PACKAGES="sudo libidn11 curl fetchmail libgmp3 libxml2 libstdc++6 openssl"
 
-    elif [ $PLATFORM = "FC4" -o $PLATFORM = "FC5" -o $PLATFORM = "FC3" ]; then
 
-    elif [ $PLATFORM = "FC4" -o $PLATFORM = "FC5" -o $PLATFORM = "FC3" ]; then
+    elif [ $PLATFORM = "FC4" -o $PLATFORM = "FC5" -o $PLATFORM = "FC3" \
+
-      PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron"
+       -o $PLATFORM = "FC4_64" -o $PLATFORM = "FC5_64" -o $PLATFORM = "FC3_64" ]; then
+
-     if [ $PLATFORM = "FC5" ]; then
      PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron"
+
-                         PREREQ_LIBS="/usr/lib/libstdc++.so.6"
      if [ $PLATFORM = "FC5" ]; then
+
-      else
+                         PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron openssl097a compat-db"
+
-                        PREREQ_LIBS="/usr/lib/libstdc++.so.5"
                          PREREQ_LIBS="/usr/lib/libstdc++.so.6"
+
-     fi
+     elif [ $PLATFORM = "FC5_64" ]; then
+
-    elif [ $PLATFORM = "RHEL4_64" -o $PLATFORM = "CentOS4_64" ]; then
+                          PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron openssl097a compat-db"
+
+              elif [ "`echo $PLATFORM | cut -c1-2`" = "FC" ]; then
+                        PREREQ_LIBS="/usr/lib64/libstdc++.so.6"
+
+                      # Fedora Core
      else
+
+                      PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron"
                          PREREQ_LIBS="/usr/lib/libstdc++.so.5"
+
+                      if [ "`echo $PLATFORM | cut -c3`" -gt 2 ]; then
      fi
+
+                               # Fedora Core later than 2
 +
+                              PREREQ_PACKAGES="$PREREQ_PACKAGES openssl097a compat-db compat-libstdc++-296"
 +
+                              if [ "`echo $PLATFORM | cut -c3`" -eq 5 ]; then
 +
+                                      # Fedora Core 5
 +
+                                      if [ "`echo $PLATFORM | cut -d_ -f2`" = "64" ]; then
 +
+                                              # Fedora Core 5 x86_64
 +
+                                              PREREQ_LIBS="/usr/lib64/libstdc++.so.6"
 +
+                                      else
 +
+                                              # Fedora Core 5 i386
 +
+                                              PREREQ_LIBS="/usr/lib/libstdc++.so.5"
 +
+                                       fi
 +
+                              fi
 +
+                      fi
 +
+              elif [ $PLATFORM = "RHEL4_64" -o $PLATFORM = "CentOS4_64" ]; then
 +
                        PREREQ_PACKAGES="sudo libidn curl fetchmail gmp compat-libstdc++-296 compat-libstdc++-33"
 +
                        PREREQ_LIBS="/usr/lib64/libstdc++.so.5"
 +
                else
 
</pre>
 
</pre>
  
The goal is to use libstdc++.so.6 instead of .5 in Fedora Core 5, but the platform string "FC5_64" did not match the check for FC5. I don't know that this is appropriate for FC4 and FC3.
+
The goal is to add some package prereqs for Fedora Core later than 2 and to use use libstdc++.so.6 instead of .5 in Fedora Core 5, but the platform string "FC5_64" did not match the check for FC5. I don't know that this is appropriate for FC4 and FC3.
I don't know if it would be adequate/preferred to point to ''/usr/lib/libstdc++.so.6'' instead of ''/usr/lib64/libstdc++.so.6'' if you have both installed.
 
 
 
<pre>
 
[root@localhost tmp]# rpm -q --queryformat="%{name}-%{version}-%{release}.%{ARCH}\n" libstdc++
 
libstdc++-4.1.1-1.fc5.x86_64
 
libstdc++-4.1.1-1.fc5.i386
 
</pre>
 
  
 
== SuSE ==
 
== SuSE ==

Revision as of 17:08, 9 January 2007

64 Bit OS

ZCS will run on RHEL 4 x86_64, with 32bit compat installed. Some work is required to make the Zimbra perl scripts function though. The perl modules included with Zimbra are 32bit. Change the Zimbra users Perl @INC var and make sure all the needed modules are available in the RHEL 64bit Perl install.

Virtual Machine

Red Hat

The install on RHEL4 x86_64 fails while trying to find libstdc++. To get past this, I changed line 947 of the script "utilfunc.sh" in the util directory. The line looked like:

PREREQ_LIBS="/usr/lib/libstdc++.so.5"

I changed it to:

PREREQ_LIBS="/usr/lib64/libstdc++.so.6"

Also you could fix this with a Symbolic Links eg. "ln -s /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.5"

However, once I got things installed, I'm stuck right now on the initialization at the end of the install. slappasswd is upset because it can't find libssl and libcrypto, which are installed in /lib64 on the x86_64 platform. I'll update this when I get past this hurdle.

The same fix can be used here. eg. "ln -s /usr/lib64/libssl.so.6 /usr/lib/libssl.so.5" You only need to change this command to work on your install

Fedora Core 5 x86_64

This is an install of zimbra-core-4.5.0_RC1_522.RHEL4_64-20061219094121.x86_64.rpm on FC5 x86_64.

You need to have the following installed:

  • compat-db for zimbra-spell
  • openssl097a for zimbra-ldap

So far, I'm still failing to start up:

  • logger
  • snmp

Below is the change required to make install.sh happy with the prerequisites and to allow zmldapinit to complete. I also fixed some indenting issues. This is only tested on FC5.

--- zcs.dist/util/utilfunc.sh   2006-12-19 09:48:18.000000000 -0800
+++ zcs/util/utilfunc.sh        2007-01-09 09:05:42.000000000 -0800
@@ -1198,6 +1198,7 @@
                PACKAGEEXT='ccs'
                PREREQ_PACKAGES="sudo libidn curl fetchmail gmp libxml2 libstdc++ openssl"
        else
+               # RPM based distro
                PACKAGEINST='rpm -iv'
                PACKAGERM='rpm -ev --nodeps --noscripts --allmatches'
                PACKAGEQUERY='rpm -q'
@@ -1207,14 +1208,24 @@
                        PREREQ_LIBS="/usr/lib/libstdc++.so.5"
                elif [ $PLATFORM = "MANDRIVA2006" ]; then
                        PREREQ_PACKAGES="sudo libidn11 curl fetchmail libgmp3 libxml2 libstdc++6 openssl"
-    elif [ $PLATFORM = "FC4" -o $PLATFORM = "FC5" -o $PLATFORM = "FC3" ]; then
-      PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron"
-      if [ $PLATFORM = "FC5" ]; then
-                         PREREQ_LIBS="/usr/lib/libstdc++.so.6"
-      else
-                         PREREQ_LIBS="/usr/lib/libstdc++.so.5"
-      fi
-    elif [ $PLATFORM = "RHEL4_64" -o $PLATFORM = "CentOS4_64" ]; then
+               elif [ "`echo $PLATFORM | cut -c1-2`" = "FC" ]; then
+                       # Fedora Core
+                       PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron"
+                       if [ "`echo $PLATFORM | cut -c3`" -gt 2 ]; then
+                               # Fedora Core later than 2
+                               PREREQ_PACKAGES="$PREREQ_PACKAGES openssl097a compat-db compat-libstdc++-296"
+                               if [ "`echo $PLATFORM | cut -c3`" -eq 5 ]; then
+                                       # Fedora Core 5
+                                       if [ "`echo $PLATFORM | cut -d_ -f2`" = "64" ]; then
+                                               # Fedora Core 5 x86_64
+                                               PREREQ_LIBS="/usr/lib64/libstdc++.so.6"
+                                       else
+                                               # Fedora Core 5 i386
+                                               PREREQ_LIBS="/usr/lib/libstdc++.so.5"
+                                       fi
+                               fi
+                       fi
+               elif [ $PLATFORM = "RHEL4_64" -o $PLATFORM = "CentOS4_64" ]; then
                        PREREQ_PACKAGES="sudo libidn curl fetchmail gmp compat-libstdc++-296 compat-libstdc++-33"
                        PREREQ_LIBS="/usr/lib64/libstdc++.so.5"
                else

The goal is to add some package prereqs for Fedora Core later than 2 and to use use libstdc++.so.6 instead of .5 in Fedora Core 5, but the platform string "FC5_64" did not match the check for FC5. I don't know that this is appropriate for FC4 and FC3.

SuSE

General

If the mta won't start, make sure that the libraries are being found:

 postfix start

If you get errors like:

 /opt/zimbra/postfix-2.2.5/sbin/postsuper: error while loading shared libraries: libldap-2.2.so.7: cannot open shared object file: No such file or directory
 /opt/zimbra/postfix-2.2.5/sbin/postalias: error while loading shared libraries: libldap-2.2.so.7: cannot open shared object file: No such file or directory
 /opt/zimbra/postfix-2.2.5/sbin/postfix: error while loading shared libraries: libldap-2.2.so.7: cannot open shared object file: No such file or directory

Verify that /etc/ld.so.conf contains:

 /opt/zimbra/lib
 /opt/zimbra/sleepycat/lib
 /opt/zimbra/openldap/lib
 /opt/zimbra/cyrus-sasl/lib

then run ldconfig (as root).

SuSE ES9

OpenSuse 10

Debian

Mac OS X

Mac OS X ships with Java (so Zimbra does not include it for Mac releases), but the default version - even if 1.5 is installed - is 1.4.

Check the default: ls -l /usr/bin/java.

Check whether 1.5 is installed here: /System/Library/Frameworks/JavaVM.framework/Versions/.

If not, download it from Apple. Once it's installed, you can specify the preferred order of the versions in the Java Application Settings of the Java Preferences utility found in /Applications/Utilities/Java/J2SE 5.0.

You can also make /usr/bin/java a symlink to /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java but this may break any apps using 1.4.

You can verify that java 1.5 is available to zimbra like this:

su - zimbra
java -version

PPC

Intel

Jump to: navigation, search