Paweł K.

Paweł K. Administrator
Systemów
Informatycznych

Temat: upgrade serwera apache

hej wszystkim,

nie mogę poradzić z jednym problemem dot. serwera apache.
Po reinstalacji/upgradzie występuje u mnie problem dot.


/usr/sbin/httpd2-prefork: symbol lookup error: /usr/sbin/httpd2-prefork: undefined symbol: apr_pool_join
Starting httpd2 (prefork) /usr/sbin/httpd2-prefork: symbol lookup error: /usr/sbin/httpd2-prefork: undefined symbol: apr_pool_join

The command line was:
/usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DSSL -Dphp -Dssl -Dphp5
failed


Prosze o poradę, w którym miejscu szukać powstania problemu i możliwych rozwiązań ...

Biblioteki libapr1, libapr-util1, apache2-utils mam aktualne.

Pozdrawiam, Paweł
Adrian Czerniak

Adrian Czerniak Administrator
Systemów Uniksowych

Temat: upgrade serwera apache

A jak aktualizowałeś? Pakiety czy źródła? Jeśli źródła to najpierw apr czy apache?

konto usunięte

Temat: upgrade serwera apache

Paweł K.:
Po reinstalacji/upgradzie występuje u mnie problem dot.

A czym updatowałeś? Między jakimi wersjami?

/usr/sbin/httpd2-prefork: symbol lookup error: /usr/sbin/httpd2-prefork: undefined symbol: apr_pool_join
Starting httpd2 (prefork) /usr/sbin/httpd2-prefork: symbol lookup error: /usr/sbin/httpd2-prefork: undefined symbol: apr_pool_join

Sprawdź czy pomoże odpalenie ldconfig
Paweł K.

Paweł K. Administrator
Systemów
Informatycznych

Temat: upgrade serwera apache

apache2 Version: 2.2.14-5.1 (z wczesniejszej 2.13)
libapr1 Version: 1.3.8-3.12
libapr-util1 Version: 1.3.9-3.2
apache2-utils Version: 2.2.14-5.1

aktualizacja poprzez pakiety rpm

polecenie ldconfig nie rozwiazalo problemu,

wczesniej mialem ten problem:
Starting httpd2 (prefork) /usr/sbin/httpd2-prefork: symbol lookup error: /usr/sbin/httpd2-prefork: undefined symbol: apr_atomic_xchgptr

ale wystarczył update libapr1, libapr-utils1, apache2-utils.

Pamiętam, że kiedyś ten problem już rozwiązywałem samodzielnie, ale niestety zaginęły mi gdzieś kartki z zapisanym rozwiązaniem.

Może macie jeszcze jakieś sugestie?
Michał Panasiewicz

Michał Panasiewicz Administrator
systemów, sieci i
aplikacji.

Temat: upgrade serwera apache

a co ldd mówi???
Paweł K.

Paweł K. Administrator
Systemów
Informatycznych

Temat: upgrade serwera apache

linux:/var/log # ldd /usr/sbin/httpd2
linux-gate.so.1 => (0xffffe000)
libm.so.6 => /lib/libm.so.6 (0xb7690000)
libpcre.so.0 => /usr/lib/libpcre.so.0 (0xb7666000)
libaprutil-1.so.0 => /usr/lib/libaprutil-1.so.0 (0xb7643000)
libdb-4.5.so => /usr/lib/libdb-4.5.so (0xb7520000)
libexpat.so.1 => /lib/libexpat.so.1 (0xb74f8000)
libapr-1.so.0 => /usr/lib/libapr-1.so.0 (0xb74ca000)
librt.so.1 => /lib/librt.so.1 (0xb74c0000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xb748a000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7470000)
libdl.so.2 => /lib/libdl.so.2 (0xb746b000)
libc.so.6 => /lib/libc.so.6 (0xb730a000)
/lib/ld-linux.so.2 (0xb76cc000)Paweł K. edytował(a) ten post dnia 27.12.09 o godzinie 17:13

konto usunięte

Temat: upgrade serwera apache

Paweł K.:
linux:/var/log # ldd /usr/sbin/httpd2

ldd /usr/sbin/httpd2-prefork podobnie?
Paweł K.

Paweł K. Administrator
Systemów
Informatycznych

Temat: upgrade serwera apache

Wojtek Bojdoł:
Paweł K.:
linux:/var/log # ldd /usr/sbin/httpd2

ldd /usr/sbin/httpd2-prefork podobnie?

linux:/ # ldd /usr/sbin/httpd2-prefork
linux-gate.so.1 => (0xffffe000)
libm.so.6 => /lib/libm.so.6 (0xb76c7000)
libpcre.so.0 => /usr/lib/libpcre.so.0 (0xb769d000)
libaprutil-1.so.0 => /usr/lib/libaprutil-1.so.0 (0xb7679000)
libdb-4.5.so => /usr/lib/libdb-4.5.so (0xb7556000)
libexpat.so.1 => /lib/libexpat.so.1 (0xb752e000)
libapr-1.so.0 => /usr/lib/libapr-1.so.0 (0xb7500000)
librt.so.1 => /lib/librt.so.1 (0xb74f6000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xb74c0000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb74a6000)
libdl.so.2 => /lib/libdl.so.2 (0xb74a1000)
libc.so.6 => /lib/libc.so.6 (0xb7340000)
/lib/ld-linux.so.2 (0xb7703000)
linux:/ #
Paweł K.

Paweł K. Administrator
Systemów
Informatycznych

Temat: upgrade serwera apache

apache2-event

linux:/ # ldd `which httpd2-event`
linux-gate.so.1 => (0xffffe000)
libm.so.6 => /lib/libm.so.6 (0xb7698000)
libpcre.so.0 => /usr/lib/libpcre.so.0 (0xb766e000)
libaprutil-1.so.0 => /usr/lib/libaprutil-1.so.0 (0xb764a000)
libdb-4.5.so => /usr/lib/libdb-4.5.so (0xb7527000)
libexpat.so.1 => /lib/libexpat.so.1 (0xb74ff000)
libapr-1.so.0 => /usr/lib/libapr-1.so.0 (0xb74d1000)
librt.so.1 => /lib/librt.so.1 (0xb74c7000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7491000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7477000)
libdl.so.2 => /lib/libdl.so.2 (0xb7472000)
libc.so.6 => /lib/libc.so.6 (0xb7311000)
/lib/ld-linux.so.2 (0xb76d4000)
linux:/ #

Problem polega na niezidentyfikowanym symbolu: apr_pool_join.

Pozdrawiam, Paweł
Janusz Skudrzyk

Janusz Skudrzyk Członek zarządu,
weblabs.pl

Temat: upgrade serwera apache

To jeszcze coś w rodzaju:

strace -e open httpd2-prefork start >> apache.txt
Michał Panasiewicz

Michał Panasiewicz Administrator
systemów, sieci i
aplikacji.

Temat: upgrade serwera apache

IMHO coś masz chyba nie tak z libapr* (APR/APR-Utils), poszukaj czy masz dobrze podlinkowane, może jakieś pozostałości po upgradzie.

Jaka dystrybucja?Michał Panasiewicz edytował(a) ten post dnia 27.12.09 o godzinie 18:10
Paweł K.

Paweł K. Administrator
Systemów
Informatycznych

Temat: upgrade serwera apache

Michał Panasiewicz:
IMHO coś masz chyba nie tak z libapr* (APR/APR-Utils), poszukaj czy masz dobrze podlinkowane, może jakieś pozostałości po upgradzie.

Jaka dystrybucja?Michał Panasiewicz edytował(a) ten post dnia 27.12.09 o godzinie 18:10

distro OpenSUSE 11.2

konto usunięte

Temat: upgrade serwera apache

Paweł K.:
apache2-event

linux:/ # ldd `which httpd2-event`
libaprutil-1.so.0 => /usr/lib/libaprutil-1.so.0 (0xb764a000)
libapr-1.so.0 => /usr/lib/libapr-1.so.0 (0xb74d1000)

Sprawdź czy w /usr/lib nie masz kilku wersji libapr-1.so.0 (pewnie ten plik jest linkiem do konkretnej wersji biblioteki). Może wystarczy zaktualizować symlinka by wskazywał na najnowszą wersję (a potem dla pewności ldconfig).
Adam Tomasz K.

Adam Tomasz K. Zaawansowana
modyfikacja
rzeczywistości.

Temat: upgrade serwera apache

Twój Apache albo jedna z bibliotek z jakich korzysta, został skompilowany z symbolami, których nie eksportuje jedna z bibliotek w twoim systemie.

Zrób aktualizację pakietów, menadżerem pakietów - coś się w wersjach rozjechało albo update wszystkich bibliotek nie został załadowany na mirror.

Zwróć uwagę, że libapr1 jest w wersji niższej niż libapr-util1 - a ta druga jest zależna od pierwszej i nie powinna być w wersji nowszej od libapr1. Ldd, ldconfig nic to nie da i nie znajdzie żadnego błędu. Te polecenia nie sprawdzają czy biblioteki i zależne od nich programy mają wszystkie potrzebne symbole do uruchomienia.

Tak na szybko - prawdopodobnie wystarczy zrobić downgrade libapr-util1 do wersji odpowiadającej libapr1 - jak to nie pomoże to również pakiet z Apache.

Good lack - i 0 zwalonych updatów. Nie dodałeś sobie jakiś "fajnych" repozytoriów do systemu? :-)
Paweł K.

Paweł K. Administrator
Systemów
Informatycznych

Temat: upgrade serwera apache

Adam Tomasz Kajer:
Twój Apache albo jedna z bibliotek z jakich korzysta, został skompilowany z symbolami, których nie eksportuje jedna z bibliotek w twoim systemie.

Zrób aktualizację pakietów, menadżerem pakietów - coś się w wersjach rozjechało albo update wszystkich bibliotek nie został załadowany na mirror.

Zwróć uwagę, że libapr1 jest w wersji niższej niż libapr-util1 - a ta druga jest zależna od pierwszej i nie powinna być w wersji nowszej od libapr1. Ldd, ldconfig nic to nie da i nie znajdzie żadnego błędu. Te polecenia nie sprawdzają czy biblioteki i zależne od nich programy mają wszystkie potrzebne symbole do uruchomienia.

Tak na szybko - prawdopodobnie wystarczy zrobić downgrade libapr-util1 do wersji odpowiadającej libapr1 - jak to nie pomoże to również pakiet z Apache.

Good lack - i 0 zwalonych updatów. Nie dodałeś sobie jakiś "fajnych" repozytoriów do systemu? :-)

Adam, jako jeden z niewielu podszedłeś profesjonalnie do problemu.
O tyle, o ile różnice w wersjach libapr i libapr-utils nie maja wiekszego znaczenia, jesli nie przekraczaja obrębu 1-2 revision.

http://download.opensuse.org/repositories/Apache/openSUSE_11.2/x86_64/

Natomiast głównym problemem był brak dowiązania symbolu apr.
Problem odnalazłem natomiast gdzieś indziej ...

Wcześniej zaauktualizowałem jądro do najnowszej wersji. Jednakże zapomniałem o aktualizacji linux-kernel-headers i stąd wynikła większość problemów.

Janusz,

Dziękuje serdecznie za poradę ze:
strace -e open apache2ctl strart

Doskonale pomaga, przy zidentyfikowaniu problemu.

Panowie dziękuje wszystkim za udział w dyskusji, problem został rozwiązany.

Pozdrawiam, Paweł

Następna dyskusja:

PHP, Linux, Apache i MS SQL




Wyślij zaproszenie do