Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PHP на платформе AT91SAM9260 + Linux uclibcgnueabi
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
Dimmy
Есть необходимость поставить Smarty template engine на указанную в топике платформу.
При сборке файловой системы buildroot-ом галки на опциях:
Package selection for the target->pcre
и
Package selection for the target->Interpreter languages / Scripting->PHP->PHP extensions->PCRE
установлены.

Более того, при просмотре makefile в каталоге /buildroot/buildarm/php-5.2.10
в параметры CONFIGURE_OPTIONS и CONFIGURE_COMMANDS включена опция '--with-pcre-regex'
и далее по тексту...

При исполнении php-скрипта в CGI-mode в браузере следующая ошибка:

Fatal error: Call to undefined function preg_match() in /usr/lib/php/Smarty/Smarty.class.php on line 1637

присмотр результатов исполнения ф-ции phpinfo() дал следующий результат:

Configure Command: './configure' '--target=arm-linux' '--host=arm-linux' '--build=i386-pc-linux-gnu' '--prefix=/usr' '--exec-prefix=/usr' '--sysconfdir=/etc' '--disable-gtk-doc' '--disable-nls' '--disable-ipv6' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-all' '--without-pear' '--with-config-file-path=/etc' '--localstatedir=/var' '--enable-cli' '--enable-cgi' '--enable-fastcgi' '--enable-posix' '--enable-spl' '--enable-session' '--with-zlib=/home/xxx/buildroot_09_08/build_arm/staging_dir/usr' '--with-sqlite' '--enable-sqlite-utf8'

Как видно, есть все что угодно:
'--with-sqlite'
'--with-zlib=/home/xxx/buildroot_09_08/build_arm/staging_dir/usr'
но только не
'--with-pcre-regex'

Какой танец станцевать? чтоб заработало?
Damon
Ну, как я понял PHP pcre installation
Цитата
Note: As of PHP 5.3.0 this extension cannot be disabled and is therefore always present.
It is still possible to build against an external PCRE library by using --with-pcre-regex=DIR

т.е. конфигурятор просто не находит либу и отключает сию опцию? Просмотрите внимательнее вывод ./configure. Обычно он пишет, что-то вроде: "checking for <lib/header>... yes", если нашел и "... no", если не нашел. Если проблема в этом, просто добавьте в параметры конфигурятора абсолютный путь к библиотеке (с помощью --with-pcre-regex=DIR). Абсолютный путь, конечно криво указывать (!), но зато способ быстро заставить работать. Если проблема в этом, потом можно и сборочные скрипты поправить.
Dimmy
Проблема решилась более простым способом - создал новый проект и пересобрал ФС наново. Очевидно где-то некорректно отрабатываются зависимости при инкрементной сборке. Странно - разработчики билдрута молитвенно клянутся, что добавление пакетов в конфиге и последующая пересборка ФС работают на-ура...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.