Difference between revisions of "Platform Specific"

(Fedora Core)
(Fedora Core)
Line 25: Line 25:
 
== Fedora Core ==
 
== Fedora Core ==
  
I'm working on installing zimbra-core-4.5.0_RC1_522.RHEL4_64-20061219094121.x86_64.rpm to FC5 x86_64. Once I finish the install, I will update this info.
+
This is an install of zimbra-core-4.5.0_RC1_522.RHEL4_64-20061219094121.x86_64.rpm on FC5 x86_64.
  
Below is the change required to make install.sh happy with the prerequisites.
+
Below is the change required to make install.sh happy with the prerequisites and to allow zmldapinit to complete.
  
 
<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 16:50:12.000000000 -0800
+
+++ zcs/util/utilfunc.sh        2007-01-08 17:47:23.000000000 -0800
@@ -1207,10 +1207,13 @@
+
@@ -1157,6 +1157,7 @@
 +
        pkg=$1
 +
        PKGINSTALLED=""
 +
        if [ $PACKAGEEXT = "rpm" ]; then
 +
+              echo "$PACKAGEQUERY $pkg"
 +
                $PACKAGEQUERY $pkg >/dev/null 2>&1
 +
                if [ $? = 0 ]; then
 +
                        PKGVERSION=`$PACKAGEQUERY $pkg 2> /dev/null | sort -u`
 +
@@ -1207,10 +1208,15 @@
 
                         PREREQ_LIBS="/usr/lib/libstdc++.so.5"
 
                         PREREQ_LIBS="/usr/lib/libstdc++.so.5"
 
                 elif [ $PLATFORM = "MANDRIVA2006" ]; then
 
                 elif [ $PLATFORM = "MANDRIVA2006" ]; then
Line 41: Line 49:
 
       PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron"
 
       PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron"
 
       if [ $PLATFORM = "FC5" ]; then
 
       if [ $PLATFORM = "FC5" ]; then
 +
+                          PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron openssl097a"
 
                           PREREQ_LIBS="/usr/lib/libstdc++.so.6"
 
                           PREREQ_LIBS="/usr/lib/libstdc++.so.6"
 
+      elif [ $PLATFORM = "FC5_64" ]; then
 
+      elif [ $PLATFORM = "FC5_64" ]; then
 +
+                          PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron openssl097a"
 
+                        PREREQ_LIBS="/usr/lib64/libstdc++.so.6"
 
+                        PREREQ_LIBS="/usr/lib64/libstdc++.so.6"
 
       else
 
       else
Line 56: Line 66:
 
libstdc++-4.1.1-1.fc5.x86_64
 
libstdc++-4.1.1-1.fc5.x86_64
 
libstdc++-4.1.1-1.fc5.i386
 
libstdc++-4.1.1-1.fc5.i386
</pre>
 
 
Additional trouble with ldapinit.
 
''/lib64/libssl.so.6'' is present, but .4 is desired.
 
 
<pre>
 
Initializing ldap...
 
*** Running as zimbra user: /opt/zimbra/libexec/zmldapinit
 
 
/opt/zimbra/openldap/sbin/slappasswd: error while loading shared libraries: libssl.so.4: cannot open shared object file: No such file or directory
 
 
</pre>
 
</pre>
  

Revision as of 02:09, 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

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

Below is the change required to make install.sh happy with the prerequisites and to allow zmldapinit to complete.

--- 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
@@ -1157,6 +1157,7 @@
        pkg=$1
        PKGINSTALLED=""
        if [ $PACKAGEEXT = "rpm" ]; then
+               echo "$PACKAGEQUERY $pkg"
                $PACKAGEQUERY $pkg >/dev/null 2>&1
                if [ $? = 0 ]; then
                        PKGVERSION=`$PACKAGEQUERY $pkg 2> /dev/null | sort -u`
@@ -1207,10 +1208,15 @@
                        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
+    elif [ $PLATFORM = "FC4" -o $PLATFORM = "FC5" -o $PLATFORM = "FC3" \
+        -o $PLATFORM = "FC4_64" -o $PLATFORM = "FC5_64" -o $PLATFORM = "FC3_64" ]; then
       PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron"
       if [ $PLATFORM = "FC5" ]; then
+                          PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron openssl097a"
                          PREREQ_LIBS="/usr/lib/libstdc++.so.6"
+      elif [ $PLATFORM = "FC5_64" ]; then
+                          PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron openssl097a"
+                         PREREQ_LIBS="/usr/lib64/libstdc++.so.6"
       else
                          PREREQ_LIBS="/usr/lib/libstdc++.so.5"
       fi

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. 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.

[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

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