On Sat, May 26, 2001 at 06:38:41PM +0400, Dmitry V. Popkov wrote: > Alexander Bokovoy wrote: > > >> > >>../../shared/libphp_common.so: undefined reference to `xmlNewNode' > >>collect2: ld returned 1 exit status > >>Неверный код возврата из /var/tmp/rpm-tmp.10273 (%build) > >> > >>Возможно, для кого-то это прозрачно, но я зашел в тупик... > >> > >Поскольку мы собираем разделяемую библиотеку libphp_common.so вручную > >(сборочный механизм PHP этого пока не обеспечивает, но движение в этом > >направлении наблюдается), то нужно вручную добавлять недостающие > >библиотеки. > > > >Вы действительно хотели модуль dom вкомпилировать, а не загружать > >динамически? > > > С этим разобрался, спасибо (добавил -lxml2) . Я бы посоветовал Вам все-таки собирать модули динамическими. Концепция сборки PHP и модулей к нему у нас такова: - php.spec содержит основной код и вкомпилированные модули (как правило, то, что не вызывает дополнительных зависимостей) - все остальные модули при сборке опираются на установленный php-devel и берут свой исходный текст из /usr/src/php-devel/extensions/%name Таким образом отпадает необходимость усложнять основной spec-файл, который и без того немаленький. Версия в Spring2001 использует слегка иной способ (nosrc.rpm вместо src.rpm для модулей + зависимость при сборке от php-%version.tar.bz2 вместо установленного php-devel в /usr/src/php-devel), новая версия, которая будет в Сизифе в начале недели, собирается так, как указано абзацем выше. Шаблонный SPEC-файл для модулей из нее (пример для модуля Curl) прикладываю. > Но мне нужна еще поддержка qtdom : > сборка с опцией --with-qtdom выдает следующее > /bin/sh /usr/src/RPM/BUILD/php4/libtool --silent --mode=compile c++ -I. > -I/usr/src/RPM/BUILD/php4/ext/qtdom -I/usr/src/RPM/BUILD/php4/main > -I/usr/src/RPM/BUILD/php4 -I/usr/include/apache > -I/usr/src/RPM/BUILD/php4/Zend -I/include > -I/usr/src/RPM/BUILD/php4/TSRM -DLINUX=22 -DRUSSIAN_APACHE > -DDEV_RANDOM=/dev/random -DEAPI -DEAPI_MM > -DEAPI_MM_CORE_PATH="/var/run/mm" -DUSE_EXPAT -DSUPPORT_UTF8 -pipe -g > -Wall -O2 -fexpensive-optimizations -march=i686 -c qtdom_qt.cpp > qtdom_qt.cpp:20:18: qdom.h: No such file or directory > qtdom_qt.cpp:21:21: qstring.h: No such file or directory > qtdom_qt.cpp:22:21: qglobal.h: No such file or directory > qtdom_qt.cpp:24: `QDomNode' was not declared in this scope > и т.д. > > А здесь что можно сделать? export QTDIR=/usr/lib/qt2 в SPEC-файле перед сборкой. -- Sincerely yours, Alexander Bokovoy The Midgard Project | ALT Linux Team | Minsk Linux Users Group www.midgard-project.org | www.altlinux.ru | www.minsk-lug.net -- You won't skid if you stay in a rut. -- Frank Hubbard