Instalar Xojo en CentOS 7

Hola,

Estoy evaluando Xojo como herramienta para desarrollo. Actualmente lo he probado en Windows 10, prximamente podr probarlo en MacOS X y no consigo hacerlo funcionar en CentOS 7.2.

He seguido las instrucciones que encontr en http://developer.xojo.com/system-requirements , he instalado todo lo que pone que se necesita para CentOS 7:
sudo yum install glib2.i686 libgcc.i686 libstdc++.i686 gtk3.i686 webkitgtk3.i686

pero an as, hay dependencias que no encuentra:
—> Paquete xojo2017r3.x86_64 0:2017.03-2 debe ser instalado
–> Procesando dependencias: ld-linux-armhf.so.3 para el paquete: xojo2017r3-2017.03-2.x86_64
–> Procesando dependencias: ld-linux-armhf.so.3(GLIBC_2.4) para el paquete: xojo2017r3-2017.03-2.x86_64
–> Procesando dependencias: libdl.so.2(GLIBC_2.4) para el paquete: xojo2017r3-2017.03-2.x86_64
–> Procesando dependencias: libgcc_s.so.1(GCC_3.5) para el paquete: xojo2017r3-2017.03-2.x86_64
–> Procesando dependencias: libutil.so.1(GLIBC_2.4) para el paquete: xojo2017r3-2017.03-2.x86_64

He de decir que soy un usuario, ms bien normalillo de Linux, vamos que no soy ningn gur ni mucho menos.

La verdad, es que esperaba ms informacin sobre la instalacin en Linux. La informacin que hay es de hace tiempo y el paquete es para versiones bastante viejas de GCC y GLIB. Ante esto tengo dudas de si el soporte para aplicaciones Linux es solo para dar contenido y realmente luego no hay ningn soporte. Hay alguien que tenga instalado Xojo sobre CentOS 7?, funcionando. La versin que trato de instalar es xojo2017r3.rpm y el sistema de de 64 bits. No he comprado la licencia, si compro la licencia, desapareceran estos problemas de instalacin?.

Mis esperanzas son encontrar una herramienta que me permita realizar desarrollos tanto para PC, Mac y Linux. Provengo de hacer desarrollos con FileMaker y aunque la conversin a Xojo no es sencilla, asumira el esfuerzo. Pero si finalmente solo me quedo en PC y Mac, quizs es mejor quedar con lo conocido.

Un saludo

No soy usuario de Linux por lo que no te puedo ayudar en ese punto. Pero si te puedo decir que no creo que tener la licencia te solucione problemas de instalacin.

Espero que encuentres solucin a la instalacin. Suerte.

Hola Csar,

El soporte de Linux es activo.

Personalmente he de decirte que hago desarrollos empresariales para OpenSUSE desde macOS (y a veces tambin directamente sobre el propio OpenSUSE). Imagina

Por supuesto, tanto desarrollos propios como para terceros, tambin multiplataforma macOS, Windows y Linux.

CentOS es, de hecho, la distribucin Linux ms recomendada por la propia Xojo, de modo que imagino que “algo” raro estar ocurriendo en este caso.

En cuanto tenga una vuelta le doy un vistazo ms a fondo instandome un CentOS para ver si te puedo dar una gua paso a paso.

Por lo dems, la confianza en el soporte y funcionalidad sobre Linux ya te digo yo que puedes confiar en ello!

Para hacerte ms sencillo el paso desde FileMaker a Xojo, te recomiendo que eches un vistazo a los recursos en Espaol:

Documentacin y Guas del Usuario.
Canal en YouTube
Blog en AprendeXojo
eBook de programacin multiplataforma Xojo
Curso gratuito sobre fundamentos SQLite en Xojo
Curso gratuito sobre uso de Timers

Javier

Hola Cesar,

Si hablamos del IDE per se de Xojo, no ests estrictamente obligado a instalarlo en cada plataforma: yo hago mis desarrollos en Mac y pruebo los resultados en varias mquinas virtuales instalando sus respectivos Remote Debugger Stub en cada una.

En mi caso, encuentro ms fluidez en el IDE de Mac, ademas me permite programar para iOS, y asi la mayor parte de cadena de mi produccin est alejado de posibles virus.

De todos modos, an si finalmente eliges poner el IDE en cada plataforma, espero esto del remote debugger te sea de provecho en tu evaluacin en los que atiendes aquello de las dependencias. Suerte!

Vaughn

Hola @CsarRodrguez

He instalado una mquina virtual CentOS 7 con Plasma KDE desde cero
He descargado la versin RedHat del instalador de Xojo
He descomprimido Xojo con Ark a la carpeta de documentos
Y he ejecutado el IDE sin instalar absolutamente nada y funcionando a la primera

Durante la instalacin de CentOS, has seleccionado tambin las herramientas de desarrollo como parte de la instalacin?

Los archivos RPM de Xojo estn completamente rotos para RedHat/CentOS hace muchas versiones.

Lo que ha hecho Javier es descomprimir el RPM y ejecutar el binario que contiene. Las dependencias (como por ejemplo ld-linux-armhf) no se cumplen con esta instalacin y no se como funcionar esto por ejemplo con compilacin para Raspberry Pi.

Lo que deberas hacer es descargar el tar.gz y descomprimirlo en algn sitio y ejecutar el binario que contiene (sigues teniendo el problema de que hay dependencias no instaladas) (yo lo descomprimo en /opt (como root, luego solo necesitas permiso de lectura para ejecutarlo ya que todas las configuraciones se almacenan en $HOME)).

[quote=378135:@JosMaraTerryJimnez]Los archivos RPM de Xojo estn completamente rotos para RedHat/CentOS hace muchas versiones.

Lo que ha hecho Javier es descomprimir el RPM y ejecutar el binario que contiene. Las dependencias (como por ejemplo ld-linux-armhf) no se cumplen con esta instalacin y no se como funcionar esto por ejemplo con compilacin para Raspberry Pi.

Lo que deberas hacer es descargar el tar.gz y descomprimirlo en algn sitio y ejecutar el binario que contiene (sigues teniendo el problema de que hay dependencias no instaladas) (yo lo descomprimo en /opt (como root, luego solo necesitas permiso de lectura para ejecutarlo ya que todas las configuraciones se almacenan en $HOME)).[/quote]

Si, eso es lo que hizo Javier Menndez. Pero la pregunta es de esa forma podra realizar desarrollos? Yo entiendo que al faltar dependencias, hay cosas que podran no funcionar.

El tema de instalar en Linux, es para quitarme de encima las necesidades de antivirus, as como otros peuqeos problemas que aparecen aveces con Windows. Y no, MacOS no est exento de virus, puede que tenga menos pero tiene.

Hola Javier,

Ante todo, gracias por tu tiempo.

No entiendo lo de las herramientas de desarrollo, he instalado las dependencias que decían y he instalado el rpm.

Siguiendo los consejos, he extrado el contenido del archivo rpm y lo he movido a las posiciones donde se debera de haber instalado. Lgicamente, esto no soluciona el problema de las dependencias, pero la verdad es que no se como comprobar si eso le afecta.

Yo creo que es mejor que extraigas el tar.gz que el .rpm. Este ltimo es un sistema empaquetado para los instaladores de este formato, contienen scripts, dependencias, etc…

En principio podras tener problemas con target Raspberry Pi pero no se porque an no he probado esa plataforma

Que rpm te pida un paquete dependiente, no quiere decir que se necesite para funcionar, si no que las dependencias definidas en el rpm lo piden. Se puede pedir y no usar, pero esto no debera ser lo normal.

Con ldd puedes ver las libreras que necesita un binario y si las tiene disponibles (si salen con la versin es que las encuentra). Lo que pego abajo es Xojo 2017r3 (extrado de tgz en CentOS 7). Como ves, para Xojo estn cumplidas todas, pero podra ser que para otros binarios no. Ya puedes probarlo con los que quieras.

Espero te sea de ayuda.

ldd /opt/xojo2017r3/Xojo linux-vdso.so.1 => (0x00007fffed162000) XojoGUIFramework64.so => /opt/xojo2017r3/Xojo Libs/XojoGUIFramework64.so (0x00007f873d4bf000) libc.so.6 => /lib64/libc.so.6 (0x00007f873d0e6000) libgtk-3.so.0 => /lib64/libgtk-3.so.0 (0x00007f873c7dc000) libgdk-3.so.0 => /lib64/libgdk-3.so.0 (0x00007f873c524000) libatk-1.0.so.0 => /lib64/libatk-1.0.so.0 (0x00007f873c2fd000) libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007f873bf69000) libpangocairo-1.0.so.0 => /lib64/libpangocairo-1.0.so.0 (0x00007f873bd5c000) libgdk_pixbuf-2.0.so.0 => /lib64/libgdk_pixbuf-2.0.so.0 (0x00007f873bb33000) libcairo-gobject.so.2 => /lib64/libcairo-gobject.so.2 (0x00007f873b92a000) libpango-1.0.so.0 => /lib64/libpango-1.0.so.0 (0x00007f873b6df000) libcairo.so.2 => /lib64/libcairo.so.2 (0x00007f873b3b6000) libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f873b166000) libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f873ae54000) libX11.so.6 => /lib64/libX11.so.6 (0x00007f873ab15000) libm.so.6 => /lib64/libm.so.6 (0x00007f873a813000) librt.so.1 => /lib64/librt.so.1 (0x00007f873a60b000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f873a406000) libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007f873a204000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f8739fe8000) libc++.so.1 => /opt/xojo2017r3/Xojo Libs/libc++.so.1 (0x00007f8739c36000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f8739a20000) /lib64/ld-linux-x86-64.so.2 (0x000055ea126ce000) libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f873981c000) libXi.so.6 => /lib64/libXi.so.6 (0x00007f873960b000) libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f8739405000) libatk-bridge-2.0.so.0 => /lib64/libatk-bridge-2.0.so.0 (0x00007f87391d6000) libepoxy.so.0 => /lib64/libepoxy.so.0 (0x00007f8738ee0000) libpangoft2-1.0.so.0 => /lib64/libpangoft2-1.0.so.0 (0x00007f8738cca000) libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f8738a8d000) libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00007f8738889000) libXrandr.so.2 => /lib64/libXrandr.so.2 (0x00007f873867e000) libXcursor.so.1 => /lib64/libXcursor.so.1 (0x00007f8738473000) libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x00007f873826f000) libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007f873806c000) libXext.so.6 => /lib64/libXext.so.6 (0x00007f8737e5a000) libffi.so.6 => /lib64/libffi.so.6 (0x00007f8737c51000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f87379ef000) libz.so.1 => /lib64/libz.so.1 (0x00007f87377d9000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f87375b1000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f8737397000) libmount.so.1 => /lib64/libmount.so.1 (0x00007f8737155000) libthai.so.0 => /lib64/libthai.so.0 (0x00007f8736f48000) libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007f8736ce5000) libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f8736a3f000) libpng15.so.15 => /lib64/libpng15.so.15 (0x00007f8736813000) libpixman-1.so.0 => /lib64/libpixman-1.so.0 (0x00007f873656a000) libEGL.so.1 => /lib64/libEGL.so.1 (0x00007f873633d000) libxcb-shm.so.0 => /lib64/libxcb-shm.so.0 (0x00007f8736138000) libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f8735f10000) libxcb-render.so.0 => /lib64/libxcb-render.so.0 (0x00007f8735d02000) libXrender.so.1 => /lib64/libXrender.so.1 (0x00007f8735af6000) libGL.so.1 => /lib64/libGL.so.1 (0x00007f8735884000) libatspi.so.0 => /lib64/libatspi.so.0 (0x00007f8735653000) libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f873540b000) libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f87351e0000) libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f8734fa1000) libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f8734d9b000) libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007f8734b6d000) libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f873496a000) libxcb-dri2.so.0 => /lib64/libxcb-dri2.so.0 (0x00007f8734765000) libxcb-xfixes.so.0 => /lib64/libxcb-xfixes.so.0 (0x00007f873455d000) libxcb-dri3.so.0 => /lib64/libxcb-dri3.so.0 (0x00007f873435a000) libxcb-present.so.0 => /lib64/libxcb-present.so.0 (0x00007f8734156000) libxcb-sync.so.1 => /lib64/libxcb-sync.so.1 (0x00007f8733f4f000) libxshmfence.so.1 => /lib64/libxshmfence.so.1 (0x00007f8733d4c000) libgbm.so.1 => /lib64/libgbm.so.1 (0x00007f8733b3f000) libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f8733930000) libXau.so.6 => /lib64/libXau.so.6 (0x00007f873372c000) libglapi.so.0 => /lib64/libglapi.so.0 (0x00007f87334fc000) libxcb-glx.so.0 => /lib64/libxcb-glx.so.0 (0x00007f87332e1000) libXxf86vm.so.1 => /lib64/libXxf86vm.so.1 (0x00007f87330db000)

Ok, cuando descargu el programa, lo hice en formato rpm. Ahora lo bajo en tgz. Los que haba hecho es simular la instalacin en un directorio y luego mover los archivos al destino, de esta forma es menos lio.

Gracias

De nada

Puedes hacerlo sencillamente desde terminal con

su - (o sudo su - ) cd /opt tar xvfz /ruta/a/xojo-descargado.tgz

Ya est, lo tendrs descomprimido en /opt/xojo-version-que-sea y podrs tener varias versiones de este modo.

Para eliminar una versin haz (necesitas ser root). Ojo que esto no pide confirmacin para borrar. (ASEGURATE DE ESTAR EN /opt Y QUE LO QUE PONES TRAS rm -rf ES LO QUE DESEAS BORRAR)

su - (o sudo su - ) cd /opt rm -rf xojo-version-a-desinstalar (el nombre del directorio