Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2010
Avatar de arturom
arturom arturom is offline
Miembro
 
Registrado: dic 2003
Ubicación: Alicante
Posts: 91
Poder: 21
arturom Va por buen camino
Convivencia fpc-32 + fpc-64

Hola,
he evolucionado y me he pasado a los 64 bits, pero ahora tengo una problema.

He instalado sin problemas Lazarus + fpc de 64 sobre un sistema Luinux/Ubuntu pero, como es lógico, todavía tengo que seguir desarrollando y, sobre todo, manteniendo las aplicaciones de 32.

¿Hay algún problema en instalar fpc-32 y fpc-64 juntos en el mismo ordenador?

Saludos
__________________
"No guardes nunca en la cabeza aquello que te quepa en un bolsillo."

Albert Einstein
Responder Con Cita
  #2  
Antiguo 28-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Me parece recordar que no existe un fpc32 y otro fpc64, sino que existe un fpc que crea código 32 ó 64 según un parámetro que le pasas.

De todas formas, esto te lo confirmará nuestro compañero ÑuÑo Martínez, que es un gran conocedor del fpc
Responder Con Cita
  #3  
Antiguo 28-04-2010
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Me pitan los oídos. ¿Alguien me ha mentado?

Lo cierto es que no tengo muy claro cómo generar ejecutables de 64 bit. He revisado las opciones de fpc y tenemos dos:

Código:
-A<x>  Output format:
      -Adefault  Use default assembler
      -Aas       Assemble using GNU AS
      -Anasmcoff COFF (Go32v2) file using Nasm
      -Anasmelf  ELF32 (Linux) file using Nasm
      -Anasmwin32Win32 object file using Nasm
      -AnasmwdosxWin32/WDOSX object file using Nasm
      -Awasm     Obj file using Wasm (Watcom)
      -Anasmobj  Obj file using Nasm
      -Amasm     Obj file using Masm (Microsoft)
      -Atasm     Obj file using Tasm (Borland)
      -Aelf      ELF (Linux) using internal writer
      -Acoff     COFF (Go32v2) using internal writer
      -Apecoff   PE-COFF (Win32) using internal writer
  -T<x>  Target operating system:
      -Temx      OS/2 via EMX (including EMX/RSX extender)
      -Tfreebsd  FreeBSD
      -Tgo32v2   Version 2 of DJ Delorie DOS extender
      -Tlinux    Linux
      -Tnetbsd   NetBSD
      -Tnetware  Novell Netware Module (clib)
      -Tnetwlibc Novell Netware Module (libc)
      -Topenbsd  OpenBSD
      -Tos2      OS/2 / eComStation
      -Tsunos    SunOS/Solaris
      -Tsymbian  Symbian OS
      -Twatcom   Watcom compatible DOS extender
      -Twdosx    WDOSX DOS extender
      -Twin32    Windows 32 Bit
      -Twince    Windows CE
También tenemos alguna más adicional, como -C<x>, que permiten apurar algo más los tamaños de algunos datos, cómo manejar las pilas, los montones, etc. Sin embargo no veo nada que haga referencia a procesadores de 64 bit.

De todas formas, el programa "fpc" es un cargador: el verdadero compilador es otro, en mi caso llamado ppc386. Supongo que para generar ejecutables de 64 bit habrá que utilizar otro compilador distinto. No creo que haya problemas en instalar varios compiladores, cada uno para un procesador diferente, ya que cada uno busca las bibliotecas en diferentes directorios. Por ejemplo, en mi Linux los busca en "/usr/lib/fpc/2.2.4/units/i386-linux", mientras que un compilador para mac clásico los buscaría en "/usr/lib/fpc/2.2.4/units/ppc-mac", para windows de 64 bit en "/usr/lib/fpc/2.2.4/units/i64-windows", etc. En este aspecto FPC es más "inteligente" que GCC.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine

Última edición por Ñuño Martínez fecha: 28-04-2010 a las 14:06:42.
Responder Con Cita
  #4  
Antiguo 29-04-2010
Avatar de arturom
arturom arturom is offline
Miembro
 
Registrado: dic 2003
Ubicación: Alicante
Posts: 91
Poder: 21
arturom Va por buen camino
Hola,
gracias Ñuño, igual no me he explicado bien.

Ya tengo instalada, funcional y operativa la versión del sistema y la de Lazarus de 64 bits.

Lo hago desde el snapshot, descargando el fichero rpm y convirtiéndolo a deb a través del programa alien.

El problema es que al abrir los proyectos que tengo en producción o acabando, lazarus me avisa de que no encuentra el ppc386 ya que la versión instalada es la ppcx64.

Lazarus permite el crosscompiling sin problemas, pero no se puede hacer una compilación multi-procesador. No puedes compilar para 64 desde ppc386, ni para 32 desde ppcx64, debes tener instalados cada uno de ellos, de forma que lazarus, al compilar, elige el correspondiente según el destino del ejecutable.

La pregunta es como instalar fpc32 en un sistema de 64 bits.

Seguiré investigando y mientras usaré el portátil que tiene ppc386.
__________________
"No guardes nunca en la cabeza aquello que te quepa en un bolsillo."

Albert Einstein
Responder Con Cita
  #5  
Antiguo 29-04-2010
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por arturom Ver Mensaje
Lo hago desde el snapshot, descargando el fichero rpm y convirtiéndolo a deb a través del programa alien.
¿Y por qué no utilizas directamente paquetes deb? Tanto Debian como (K/X)Ubuntu los incluyen, e incluso la página de Lazarus tiene su propio distribuidor de paquetes.

Cita:
Empezado por arturom Ver Mensaje
Lazarus permite el crosscompiling sin problemas, pero no se puede hacer una compilación multi-procesador. No puedes compilar para 64 desde ppc386, ni para 32 desde ppcx64, debes tener instalados cada uno de ellos, de forma que lazarus, al compilar, elige el correspondiente según el destino del ejecutable.
Evidentemente. Es como intentar compilar para PowerPC desde ppc386.

Cita:
Empezado por arturom Ver Mensaje
La pregunta es como instalar fpc32 en un sistema de 64 bits.
Pues aunque parezca una prerugrollada, te bajas el paquete correspondiente del compilador y lo instalas. Vamos, digo yo, que no lo he probado pero debería funcionar o algo.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #6  
Antiguo 04-05-2010
Avatar de arturom
arturom arturom is offline
Miembro
 
Registrado: dic 2003
Ubicación: Alicante
Posts: 91
Poder: 21
arturom Va por buen camino
Hola,
perdón por la tardanza en contestar.

Gracias de nuevo Ñuño pero no, el problema es que ya está instalada la versión de 64 y por lo tanto, no me deja instalar ningún paquete de 32.

De forma obvia, tampoco me deja compilar el paquete de código fuente de 32 por que no tengo las librerías necesarias.

Creía que una posible opción sería compilar el paquete de 32 en un ordenador con el sistema de 32 y posteriormente trasladar todo el directorio fpcsrc ya compilado al ordenador con 64, pero tampoco funciona, dado que para compilar en 32 me pide librerías que no tengo.

Seguiré investigando...

Saludos
__________________
"No guardes nunca en la cabeza aquello que te quepa en un bolsillo."

Albert Einstein
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
convivencia Interbase6 - Firebird1.5.3 mguixot Firebird e Interbase 4 30-01-2006 08:52:11


La franja horaria es GMT +2. Ahora son las 07:14:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi