Pregunta

Mis especificaciones:

  • Sistema operativo Ubuntu 10.04 LTS AMD64
  • FPC: 2.4.0
  • Lázaro: 0.9.28

Estoy intentando compilar un proyecto WebLaz simplemente mediante la creación de una y luego la compilación. De algún modo el compilador recibe todo perdido cuando determinig bruja httpd y Unidades fpapache a su uso.

He encontrado problemas similares en los foros:

Después de probar algunas de las soluciones siempre que todavía estoy en este punto:

  1. Proyecto compila bien si sólo tengo httpd22 debajo de las unidades compiladas y el origen de los paquetes. Por desgracia falla entonces completamente al enlace.

  2. Con la estructura de carpetas original FPC / Lazarus (Tener todas HTTPD13, HTTPD20 y HTTPD22 sin tocar en ambas ubicaciones, unidades y fuente) el compilador se queja de que la suma de comprobación de httpd ha cambiado y la falla para encontrar la fuente fpapache de.

    • Se encuentra bajo httpd.pas httpd20 pero entonces sólo funciona con las carpetas de 2.2

estoy completamente perdida como la forma de compilar este utilizando el componente WebLaz, lo que me estoy perdiendo?

¿Fue útil?

Solución 2

Por lo que pude investigar desde el, muy prolijo, salida utilizando el botón de prueba en el que ninguno "Opciones del compilador" de estas opciones se definen:

  • FPCAPACHE_1_3
  • FPCAPACHE_2_0

Así que esto significa que, en: /etc/fpc.cfg

#IFDEF FPCAPACHE_1_3
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd13/
#ELSE
#IFDEF FPCAPACHE_2_0
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd20/
#ELSE
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd22/
#ENDIF
#ENDIF

La prueba volverá a httpd22 por defecto.

No obstante, con:

  1. /usr/lib/fpc/2.4.0/units/x86_64-linux/httpd20
  2. /usr/lib/fpc/2.4.0/units/x86_64-linux/httpd22

en el camino del compilador para unidades compiladas que significa que va a encontrar httpd20 primero.

Esto significa que será intenta cargar la versión 2.0 y no la versión 2.2 de las unidades compilados.

Así que la primera solución es borrar / mover la carpeta 1. del sistema.

Esto le permitirá compilar, pero por desgracia no va a enlazar en un sistema de 64 bits (estoy probando en un sistema AMD64, así que no voy a presumir que funciona en otros lugares).

Los extremos de proceso con un toque, para añadir -fPIC a las opciones del compilador.

Si usted va a Proyecto-> Opciones del compilador ...-> Otro en el cuadro de texto inferior puede agregar a él.

Voila, que está funcionando.

Otros consejos

Probablemente es necesario seleccionar la versión que desee y, a continuación, reconstruir las partes pertinentes de Lazarus, de manera que los Pqtes get build con el Apache entonces seleccionado.

AFAIK la selección de los demonios httpd es simplemente cambiando el orden, esto no significa que todas las versiones son compatibles a la vez, como por ejemplo, MySqlConnection hace.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top