2010-10-19 7 views
1

Mes spécifications:Problème compilation d'un projet WebLaz sous Lazarus

  • OS: Ubuntu 10.04 LTS amd64
  • fpc: 2.4.0
  • : Lazarus 0.9.28

Je suis essayer de compiler un projet WebLaz juste en en créant un et ensuite compiler. D'une manière ou d'une autre, le compilateur est perdu lorsqu'il détermine les unités httpd et fpapache à utiliser.

que j'ai trouvé des problèmes similaires dans les forums:

Après avoir essayé quelques-unes des solutions proposées là, je suis encore à ce stade:

Le projet compile bien si je n'ai que httpd2
  1. 2 sous les unités compilées et la source pour les paquets. Hélas, il échoue complètement à lier. Avec la structure originale du dossier fpc/lazarus (Tous HTTPD13, HTTPD20 et HTTPD22 étant intacts sur les deux emplacements, unités et sources), le compilateur se plaint que la somme de contrôle de httpd a changé et que la source de fpapache ne soit pas trouvée.

    • Il trouve httpd.pas sous httpd20 mais cela fonctionne uniquement avec les dossiers pour 2,2

Je suis complètement perdu que la façon de compiler ce en utilisant le composant WebLaz, ce que je manque ?

Répondre

0

D'après ce que je pouvais étudier le, très bavard, sortie à l'aide du bouton Test sur le pas de ces options "Options du compilateur" sont définis:

  • FPCAPACHE_1_3
  • FPCAPACHE_2_0

Donc, cela signifie que: /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 

Le test revenir à httpd22 par défaut.

Néanmoins, ayant:

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

dans le chemin du compilateur aux unités compilées, cela signifie qu'il trouvera httpd20 premier. Cela signifie qu'il essaiera de charger la version 2.0 et non la version 2.2 des unités compilées.

La première solution consiste donc à supprimer/déplacer le 1. dossier du système.

Cela vous permettra de compiler, mais hélas, il ne sera pas lié sur un système 64 bits (je suis en train de tester sur un système AMD64 donc je ne vais pas supposer que ça marche ailleurs).

Le processus se termine par un conseil pour ajouter -fPIC aux options du compilateur.

Si vous allez dans Projet-> Options du compilateur ...-> Autre sur la TextBox inférieure, vous pouvez l'ajouter.

Voila, ça marche.

0

Vous devez probablement sélectionner la version souhaitée, puis reconstruire les parties pertinentes de Lazarus, afin que les pkgs soient compilés avec l'apache sélectionné. Si la sélection des démons httpd est simplement changeante, cela ne signifie pas que toutes les versions sont supportées en même temps, comme par ex. mysqlconnection le fait.

+0

après avoir supprimé les dossiers inutiles et en ajoutant -fPIC à mes options, il compile maintenant très bien !! –

Questions connexes