2010-10-19 5 views
1

Мои данные:Проблема составления проекта WebLaz под Lazarus

  • ОС: Ubuntu 10.04 LTS amd64
  • FPC: 2.4.0
  • Лазаря 0.9.28

Я пытаясь скомпилировать проект WebLaz, просто создав его, а затем скомпилировав. Каким-то образом компилятор получает все потерянные, когда детерминированные узлы httpd и fpapache используются.

Я нашел подобные проблемы в форумах:

Попробовав некоторые из решений, предусмотренных там я до сих пор в этой точке:

  1. Проект компилируется отлично, если у меня есть только httpd2 2 в разделе «Скомпилированные элементы» и «Источник для пакетов». Увы, он тогда полностью не связывает.

  2. С исходной структурой папок fpc/lazarus (имея все HTTPD13, HTTPD20 и HTTPD22, не затронутые в обоих местоположениях, единицах и источнике), компилятор жалуется, что контрольная сумма httpd была изменена и не удалось найти источник fpapache.

    • Он находит httpd.pas под httpd20 но он работает только с папками 2,2

Я полностью потерял о том, как компилировать это с помощью компонента WebLaz, что мне не хватает ?

ответ

0

Из того, что я мог бы исследовать с, очень многословным, выхода с помощью кнопки Test на "Compiler Options" ни для этих опций определены:

  • FPCAPACHE_1_3
  • FPCAPACHE_2_0

Таким образом, это означает, что в: /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 

Испытание будет Вернитесь к httpd22 по умолчанию. не

Тем не менее, имея:

  1. /usr/lib/fpc/2.4.0/ЕД/x86_64-линукс/httpd20
  2. /usr/lib/fpc/2.4.0/units/x86_64-linux/httpd22

в пути компилятора в единицах компиляции это означает, что он найдет httpd20 первый.

Это означает, что он попытается загрузить версию 2.0, а не версию скомпилированных единиц версии 2.2.

Итак, первое решение - удалить/переместить папку 1. из системы.

Это позволит вам скомпилировать, но, увы, он не будет ссылаться на 64-битную систему (я тестирую систему AMD64, поэтому я не собираюсь предполагать, что она работает в другом месте).

Процесс заканчивается подсказкой, чтобы добавить -fPIC в параметры компилятора.

Если вы перейдете в Project-> Параметры компилятора ...-> Другое в нижнем TextBox вы можете его добавить.

Voila, он работает.

0

Возможно, вам нужно выбрать нужную версию, а затем перестроить соответствующие части лазаря, чтобы pkgs построили с выбранным апачем.

Afaik Выбор демонов httpd - это просто изменение порядка, это не означает, что все версии поддерживаются сразу, например, например. mysqlconnection делает.

+0

после удаления ненужных папок и добавления -fpIC к моим параметрам теперь он компилируется довольно хорошо !! –