
Я использую CentOS 6.3 64bit и панель управления DirectAdmin. В настоящее время я установил Apache Subversion 1.6.19 без каких-либо проблем.
Я установил expat, expat-devel и neon-devel с помощью yum.
При установке Apache Subversion 1.6.19 эта команда настройки работает нормально:
./configure --prefix=/usr --with-ssl --with-apxs=/usr/sbin/apxs --with-apr=/usr/bin/apr-config
Однако при установке Apache Subversion 1.7.7 с использованием той же команды configure, что и выше, я получаю эту ошибку после выполнения команды «make»:
/etc/httpd/lib/libaprutil-1.so: undefined reference to `XML_StopParser'
collect2: ld returned 1 exit status
make: *** [subversion/svnadmin/svnadmin] Error 1
Однако я обнаружил, что могу решить эту проблему, добавив в команду конфигурации следующее:
--with-expat=includes:lib_search_dirs:libs
Итак, это выглядит так:
./configure --prefix=/usr --with-ssl --with-expat=includes:lib_search_dirs:libs --with-apxs=/usr/sbin/apxs --with-apr=/usr/bin/apr-config
Однако эта команда настройки затем выдает следующее предупреждение:
configure: WARNING: Expat found amongst libraries used by APR-Util, but Subversion libraries might be needlessly linked against additional unused libraries. It can be avoided by specifying exact location of Expat in argument of --with-expat option.
Поэтому я хочу решить эту проблему. Я много экспериментировал, но не смог понять, как «указать точное местоположение Expat» в команде конфигурации, и как узнать, каким должно быть местоположение?
Однако после долгих поисков я нашел вот это:http://subversion.tigris.org/issues/show_bug.cgi?id=3997- это пользователь FreeBSD говорит следующее:
Building Subversion 1.7.x on FreeBSD currently requires a configure flag:
--with-expat=/usr/local/include:/usr/local/lib:expat
As that is the default location of expat on that platform, it would be nice if configure detected it automatically.
Однако я не использую FreeBSD, я использую CentOS 6.3 64bit. Также помните, я сказал, что установил expat, expat-devel и neon-devel с помощью yum.
Однако я попытался использовать путь expat/command, опубликованный пользователем FreeBSD, и, похоже, он работает, не выдает ошибок при запуске команды configure и не выдает ошибок при запуске "make". Вот что я использовал тогда:
./configure --prefix=/usr --with-ssl --with-expat=/usr/local/include:/usr/local/lib:expat --with-apxs=/usr/sbin/apxs --with-apr=/usr/bin/apr-config
Но этот сервер является производственным сервером, и поэтому мне нужна ваша помощь в совете, правильно ли это также запустить на сервере CentOS? Правилен ли следующий путь в команде expat на CentOS?:
--with-expat=/usr/local/include:/usr/local/lib:expat
Если нет, пожалуйста, посоветуйте, на что его следует изменить. Заранее спасибо за любое подтверждение или помощь по этому вопросу!
Я ошибался, expat location из FreeBSD не работает на CentOS. Это:
./configure --prefix=/usr --with-ssl --with-expat=/usr/local/include:/usr/local/lib:expat --with-apxs=/usr/sbin/apxs --with-apr=/usr/bin/apr-config
После выполнения «make» выдается следующая ошибка:
/etc/httpd/lib/libaprutil-1.so: undefined reference to `XML_StopParser'
collect2: ld returned 1 exit status
make: *** [subversion/svnadmin/svnadmin] Error 1
Я сдаюсь. Я не нашел ответа о том, как указать местоположение expat в приведенной выше команде для CentOS, нигде в Интернете (искал решение больше недели), и написал в нескольких местах, чтобы попросить о помощи.
решение1
Тыиметьустановили expat-devel
пакет, да?