Решаване на проблеми при инсталиране от сорс

За конфигуриране на основни компоненти в системата.

Модератори: Freya, Kulu Ngile

Решаване на проблеми при инсталиране от сорс

Мнениеот Kulu Ngile » Пон 19, Фев, 2007 21:08

Инсталирането от сорс си е трудоемка работа и основните стъпки са ./configure,make и make install. Проблемите при ./configure са лесни за решение, т.е. с apt-cache search something намираме нужният пакет и го инсталираме с apt-get install something, но проблемите при make са доста сложни. В Debian, както и в Ubuntu има много лесен начин за справянето с този проблем и той е apt-file.

Пример:
debian:~$make
make all-recursive
make[1]: Entering directory `/root/avant-window-navigator-0.1.1'
Making all in src
make[2]: Entering directory `/root/avant-window-navigator-0.1.1/src'
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -DORBIT2=1 -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/libwnck-1.0 -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -DDATADIR=\""/usr/local/share"\" -DGNOMELOCALEDIR=\""/usr/local/share/locale"\" -g -O2 -Wall -pedantic -std=c99 -fno-strict-aliasing -fmessage-length=0 -D_FORTIFY_SOURCE=2 -MT main.o -MD -MP -MF ".deps/main.Tpo" -c -o main.o main.c; \
then mv -f ".deps/main.Tpo" ".deps/main.Po"; else rm -f ".deps/main.Tpo"; exit 1; fi
main.c:21:21: error: gtk/gtk.h: No such file or directory
.........................................................


Както се вижда ни липсва gtk/gtk.h, но как да разберем кой пакет ни трябва? Точно тук се намесва apt-file

1. Инсталираме apt-file
Код за потвърждение: Избери целия код
debian:~$su
debian:~#apt-get install apt-file


2. Подновяваме информацията
Код за потвърждение: Избери целия код
debian:~#apt-file update


Забележка: При всяка промяна на /etc/apt/sources.list трябва да подновяваме и информацията на apt-file

3. Търсиме нужният пакет
Код за потвърждение: Избери целия код
debian:~#apt-file search gtk/gtk.h


Резултата от горната команда е
Код за потвърждение: Избери целия код
debian:~#apt-file search gtk/gtk.h
libgfcui-dev: usr/include/gfc-2.0/gfc/gtk/gtk.hh
libgtk+2.0-directfb-dev: usr/include/directfb/gtk-2.0/gtk/gtk.h
libgtk1.2-dev: usr/include/gtk-1.2/gtk/gtk.h
libgtk2.0-dev: usr/include/gtk-2.0/gtk/gtk.h
libgtk2.0-doc: usr/share/doc/libgtk2.0-doc/gtk/gtk.html
debian:~#

Ако не знаеме точно кой пакет ни трябва ...инсталираме всичко или един по един. В нашият случай пакета, който ни трябва е libgtk2.0-dev.

4. Инсталираме нужният пакет
Код за потвърждение: Избери целия код
debian:~#apt-get install libgtk2.0-dev


5. Продължаваме с make
debian:~#make
make all-recursive
make[1]: Entering directory `/root/avant-window-navigator-0.1.1'
Making all in src
make[2]: Entering directory `/root/avant-window-navigator-0.1.1/src'
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -DORBIT2=1 -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/libwnck-1.0 -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -DDATADIR=\""/usr/local/share"\" -DGNOMELOCALEDIR=\""/usr/local/share/locale"\" -g -O2 -Wall -pedantic -std=c99 -fno-strict-aliasing -fmessage-length=0 -D_FORTIFY_SOURCE=2 -MT main.o -MD -MP -MF ".deps/main.Tpo" -c -o main.o main.c; \
then mv -f ".deps/main.Tpo" ".deps/main.Po"; else rm -f ".deps/main.Tpo"; exit 1; fi
In file included from /usr/include/gtk-2.0/gtk/gtk.h:170,
from main.c:21:
/usr/include/gtk-2.0/gtk/gtktextbuffer.h:52: warning: ISO C restricts enumerator values to range of âintâ
/usr/include/gtk-2.0/gtk/gtktextbuffer.h:53: warning: ISO C restricts enumerator values to range of âintâ
/usr/include/gtk-2.0/gtk/gtktextbuffer.h:55: warning: ISO C restricts enumerator values to range of âintâ
In file included from main.c:28:
awn-app.h:30:29: error: libwnck/libwnck.h: No such file or directory
In file included from main.c:28:
.........................................................................


След това по описаният начин търсиме и този пакет и всеки следващ, който евентуално няма да имаме, т.е.
Код за потвърждение: Избери целия код
debian:~#apt-file search libwnck/libwnck.h
libwnck-dev: usr/include/libwnck-1.0/libwnck/libwnck.h
debian:~#apt-get install libwnck-dev




Източник:Основен
Ако съдбата е срещу теб, толкова по-зле за нея.

Изображение
APT HOWTO
Kulu Ngile
Унуфри
 
Мнения: 1233
Регистриран на: Съб 04, Мар, 2006 1:04
Местоположение: София

Назад към Системни настройки

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта

cron