Dependencies na Linuxie, zabawa w kotka i myszkę podczas kompilacji…

26-cze-2012

Linux jest fajny. Linux bywa trudny. Linux daje dużo satysfakcji, gdy uda się pokonać wszystkie problemy. Ot np na mojej Fedorce instaluję PHP. PHP ma być w konkretnej wersji, więc nie obędzie się bez kompilacji. I zaczyna się:

configure: error: Please reinstall the libcurl distribution -
    easy.h should be in <curl-dir>/include/curl/

Bardzo często taki błąd oznacza, że brakuje pakietu libcurl-devel. Zauważ, że binarny pakiet libcurl może być zainstalowany, brak jednak źródeł! Problemy tego rodzaju rozwiążesz instalując pakiet rozszerzony o -dev lub -devel:

yum install libcurl-devel


Zawartość takiego pakietu możesz sprawdzić poleceniem repoquery (Przy okazji repoquery to element pakietu yum-utils – zainstalujesz go komendą yum install yum-utils):

repoquery –list libcurl-devel

Oto wynik tego polecenia

/usr/bin/curl-config
/usr/include/curl
/usr/include/curl/curl.h
/usr/include/curl/curlbuild-32.h
/usr/include/curl/curlbuild.h
/usr/include/curl/curlrules.h
/usr/include/curl/curlver.h
/usr/include/curl/easy.h
/usr/include/curl/mprintf.h
/usr/include/curl/multi.h
/usr/include/curl/stdcheaders.h
/usr/include/curl/typecheck-gcc.h
/usr/include/curl/types.h
/usr/lib/libcurl.so
/usr/lib/pkgconfig/libcurl.pc
/usr/share/aclocal/libcurl.m4
...

Jak brakujący plik powinien już teraz być na dysku. Podobnie można postępować, jeżeli configure zwraca błedy takie jak poniżej:

configure: error: libjpeg.(a|so) not found.
yum install libjpeg-devel
configure: error: libpng.(a|so) not found.

yum install libpng-devel
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
yum install libmcrypt-devel

miło w końcu zobaczyć komunikat:

Thank you for using PHP.

Komentarze są wyłączone

Autor: Rafał Kraik