[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

[Sop.Tec.LinuxMX] StarOffice 5.01 funcionando en RedHat 6.0



Advertencia:

 Esto me funciono a mi en mi computadora. No puedo asegurar que funcione
en otro lugar. No hay soporte tecnico. Usenlo bajo su propio riesgo. Hagan
respaldos. 

Antecedente:

 StarOffice (http://www.stardivision.com/) es un software que permite
crear archivos tipo Microsoft Office, tales como documentos con
formato, presentaciones, hojas de calculo, entre otras. La ultima version de
StarOffice, 5.01, esta disponible para Linux (procesador x86) y es
gratuita para uso personal.

Problema:

 StarOffice solamente funciona para RedHat 5.2, ya que utiliza la libreria
de glibc version 2.0.7. Por la forma en que fue creado dicho programa, no
es compatible con la version de glibc 2.1 que utiliza la distribucion
RedHat 6.0, y por el momento, no hay una solucion por parte de
StarDivision al respecto. Por lo cual, al tratar de iniciar StarOffice
marca errores de librerias y simbolos no encontrados, y no ejecuta nada.

Solucion:

 1. Yo empece con StarOffice PREVIAMENTE INSTALADO en RedHat 5.2.
Realice la actualizacion de la distribucion de Linux a 6.0, y dejo
de funcionar. Supongo que se puede aplicar la misma solucion al guion de
instalacion, pero no lo he probado.

 2. Instale los siguientes RPMS de la distribucion de RedHat 6.0

 compat-glibc-5.2-2.0.7.1.i386.rpm
 compat-libs-5.2-1.i386.rpm

 Estos RPMs instalan librerias para ejecutar programas creados para RedHat
5.2 que no funcionan en la version 6.0

 3. En mi caso, instale StarOffice en /usr/Office50. Generalmente se
instala en /opt/Office50, pero esto no debe influir con las modificaciones
hechas. 

 A continuacion incluyo mi archivo modificado /usr/Office50/bin/soffice

--- inicio archivo ---

#!/bin/sh
#
# StarOffice startup script
# (c) 1997,1998 Star Division Corp.

#STAR_PROFILE_LOCKING_DISABLED=1
#export STAR_PROFILE_LOCKING_DISABLED

sd_cwd=`pwd`

# locate StarOffice installation directory and binary name
sd_inst=`ls -l $0 | sed 's/.* //g'`
if [ "X$sd_inst" = "Xsoffice" ] ; then
    sd_inst=$0
fi
cd `dirname $sd_inst`/..
sd_binary=`basename $0`".bin"
sd_inst=`pwd`

# change back directory
cd "$sd_cwd"

sd_fonts=$sd_inst/fonts
sd_platform=`uname -s`

# set java environment variables
THREADS_TYPE=native_threads

# set search path for shared libraries
case $sd_platform in
  SunOS)
    sd_arch=`uname -p`
    JAVA_HOME=$sd_inst/jre1.1.6
    CLASSPATH=$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/i18n.jar
    CLASSPATH=$JAVA_HOME/classes:$JAVA_HOME/lib/classes.zip:$CLASSPATH
    sd_jthr=$JAVA_HOME/lib/$sd_arch/$THREADS_TYPE
    LD_LIBRARY_PATH=$sd_inst/lib:/usr/openwin/lib:/usr/dt/lib:$sd_jthr:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    ;;

  AIX)
    LIBPATH=$sd_inst/lib:$LIBPATH
    export LIBPATH
    ;;

  HP-UX)
    SHLIB_PATH=$sd_inst/lib:/usr/openwin/lib:$SHLIB_PATH
    export SHLIB_PATH
    ;;

  IRIX)
    LD_LIBRARYN32_PATH=:$sd_inst/lib:$LD_LIBRARYN32_PATH
    export LD_LIBRARYN32_PATH
    ;;

  Linux)
    #
    # To enable java please uncomment the following lines and 
    # customize the settings for JAVA_HOME (i.e. JAVA_HOME must 
    # point to your local java installation)
    #
    # sd_arch=`uname -m`
    # JAVA_HOME=/usr/jdk117_v1a
    # CLASSPATH=$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/i18n.jar
    # CLASSPATH=$JAVA_HOME/lib/classes.zip:$CLASSPATH
    # sd_jthr=$JAVA_HOME/lib/$sd_arch/$THREADS_TYPE
    # LD_LIBRARY_PATH=$sd_jthr:$LD_LIBRARY_PATH
    #
    # export JAVA_COMPILER=tya
    #
    LD_LIBRARY_PATH=/usr/i386-glibc20-linux/lib:$sd_inst/lib:$sd_jthr:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    ;;
  *)
    LD_LIBRARY_PATH=$sd_inst/lib:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    ;;
esac

# misc. environment variables
SAL_FONTPATH=$sd_fonts/type1:$sd_fonts/75dpi
XPPATH=$sd_inst/xp3

unset XENVIRONMENT

export THREADS_TYPE JAVA_HOME CLASSPATH SAL_FONTPATH XPPATH

# execute soffice binary
# there is a bug in solaris sh that prevents the use of "$@"
# because it cannot cope with spaces in directory names
exec  /usr/i386-glibc20-linux/lib/ld-linux.so.2 $sd_inst/bin/$sd_binary "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"


--- fin archivo ---

 Si lo comparan contra el archivo original, veran que modifique en la
parte de Linux la siguiente linea:

    LD_LIBRARY_PATH=/usr/i386-glibc20-linux/lib:$sd_inst/lib:$sd_jthr:$LD_LIBRARY_PATH

 Agregue la ruta de las librerias de compatibilidad de RedHat 5.2 a las
librerias que carga StarOffice.

 Tambien modifique la ultima linea:

exec  /usr/i386-glibc20-linux/lib/ld-linux.so.2 $sd_inst/bin/$sd_binary "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"

 Al colocar ld-linux.so.2 forzo a que sean ejecutadas las librerias de
compatibilidad en lugar de las librerias de todo el sistema (que se
encuentran descritas en el archivo /etc/ld.so.conf)

Problemas:

 No lo he probado extensivamente. Al inicio, presenta un error diciendo
que no encuentra algun filtro. Se pueden realizar las operaciones normales
de crear archivos, modificarlos y guardarlos, mas no se puede imprimir.

 Espero que esto les sirva de algo. Comentarios por favor de forma
personal a cfuga en itam mx. Los flamazos a /dev/null.

					Saludos.

-- 
 (o-  Cristian Othon Martinez Vera <cfuga en itam mx>  Pulchrum est paucorum
//\      http://eniac.rhon.itam.mx/~cfuga/          hominum.
v_/_



[Hilos de Discusión] [Fecha] [Tema] [Autor]