[Evolution] Running Evolution under Solaris 9 (8/03)



Brian said

Yes, they have a S9 version (and had it from the start).
However, ximian gives an installer error.  I ran truss
on it and they're doing a uname() system call and rejecting it.

The outdated 1.4 binaries from sun? 

No, the gnome 2.0 has been out for quite some time now.
The gnome 2.0 for solaris 9 was available back in March.
For solaris 8 it was out before that...
I've been waiting since March for Evolution to be ready.
I thought that would have happened a long time ago.

You don't say if you're trying with Solaris 9 for X86 or Sparc; but I
can tell you that Evolutions works under the latter (because I'm using
it for this e-mail).

It seems you need to do three things (see below for details).

First, compile a little program to "fiddle" the uname;
then use a sed command to do something similar to the download;
then ignore the installation failure message.

After that (and making sure your colour depth is 24 bit) it all runs.

-- 
Regards
Andy, G8TQH
http://www.rickham.net/


---------------------------------------

To get the Ximian loader to download Evolution onto a Solaris 9 machine
(courtesy of Richard L Hamilton)

First compile the following program (uname.c) from Richard.

This is done twice -- once as per the comment in the source code and the
result placed in /usr/lib. Then (if you're running on 64 bit Sparc) with
the -m64 flag as well; putting that into /usr/lib/sparcv9. If you don't
have /usr/lib/secure and /usr/lib/sparcv9/secure then:

umask 22
mkdir -p /usr/lib/secure
cd /usr/lib/secure; ln -s ../uname.so . case `uname -m` in sun4u*) mkdir
-p /usr/lib/sparcv9/secure
        cd /usr/lib/sparcv9/secure; ln -s ../uname.so . ;;
esac

Here's the source of the program:

--- uname.c -------------------------
#include <stdlib.h>
#include <string.h>
#include <dlfcn.h>
#include <sys/utsname.h>
/* compile as:
 * gcc -fPIC -G -c uname.c
 * ld -G -o uname.so uname.o
 */
int uname(struct utsname *name)
{

   static int (*uname_real)();
   register int rc;
   register char *p;
   if (uname_real==NULL)
     uname_real = (int (*) ()) dlsym(RTLD_NEXT, "uname");

   if ((rc = uname_real(name)) != -1) {

      if ((p=getenv("SYSNAME"))!=NULL) {
         strncpy(name->sysname,p,SYS_NMLN-1);
         name->sysname[SYS_NMLN-1]='\0';
      }
      if ((p=getenv("NODENAME"))!=NULL) {
         strncpy(name->nodename,p,SYS_NMLN-1);
         name->nodename[SYS_NMLN-1]='\0';
      }
      if ((p=getenv("RELEASE"))!=NULL) {
         strncpy(name->release,p,SYS_NMLN-1);
         name->release[SYS_NMLN-1]='\0';
      }
      if ((p=getenv("VERSION"))!=NULL) {
         strncpy(name->version,p,SYS_NMLN-1);
         name->version[SYS_NMLN-1]='\0';
      }
      if ((p=getenv("MACHINE"))!=NULL) {
         strncpy(name->machine,p,SYS_NMLN-1);
         name->machine[SYS_NMLN-1]='\0';
      }
   }
   return rc;
}

--- end source -----------------------------

Then set these environment variables:

RELEASE=5.8
VERSION=Generic
LD_PRELOAD=uname.so
export RELEASE VERSION LD_PRELOAD

and instead of running:

   wget -q -O - http://go-solaris.ximian.com |sh

run:

   wget -q -O - http://go-solaris.ximian.com | \
      sed -e 's/2003\.01\.14\.12\.39/9.4.2003.06.13.16.21/' | \ sh

in order to make it think you've still got the old Gnome libraries.

----- 

As Richard said in his mailing/postings:

"The installer will seem to fail in the end, after downloading and
installing.  Nevertheless, /opt/gnome/bin/evolution will be there, and
seems to work."

It worked for me on my Sparc Station; however, your mileage might vary!






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]