Gtk

Pozdrav,
krenuo sam instalirati GTK 2.4 , medjutim kad upisem ./configure ispise mi “No package ‘glib-2.0’ found” pa instaliram glib 2.4 i instaliram pkg-config ali kad god upisem ./configure u GTK direktoriju javlja mi No package glib-2.0.Je li problem mozda u tome sto nisam dodao putanju u pkg-config , stalno mi to javlja da trebam uradit i uradio sam to na ovaj nacin pkg-config --libs glib-2.0.pc ali nisam siguran je li to dovoljno.Moze li me neko uputiti samo kako se instalira taj GTK i kako se koristi pkg-config

./configure mora da “pogodi” gdje je na tvom sistemu instaliran glib. Razne distribucije ga instaliraju na razna mjesta. Zato prvo pogledaj gdje je glib:

$ whereis glib
/usr/lib/glib

Na isti način pogledaj gdje je pkg-config.
Zatim pročitaj configure --help u kojem stoji sve potrebno za instalaciju gtk.Najvjerovatnije moraš postaviti PREFIX za glib ili sl.

ok, trebaju ti (redoslijedom)

glib - low level C library
pkgconfig - rukovanje sa development paketima
atk - accesibility toolkit
pango - text layout and rendering
gtk - GUI toolkit (Gimp ToolKit)

pkgconfig instaliraš na PREFIX (sa ./configure --prefix=/usr) i imaš:
/usr/lib/pkgconfig

kad glib instaliras na isti prefix dobices (između ostalog)
’/usr/lib/pkgconfig/glib-2.0.pc’

prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

glib_genmarshal=glib-genmarshal
gobject_query=gobject-query
glib_mkenums=glib-mkenums

Name: GLib
Description: C Utility Library
Version: 2.4.7
Libs: -L${libdir} -lglib-2.0  
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/includ

tj. u ovoj datoteci se nalaze sve potrebne informacije da bi ti mogao iskompajlirati aplikaciju koja koristi glib biblioteku. Sličnog sadržaja su i ostale *.pc datoteke.

Na isti način instaliraš atk, pango i gtk.

Ovo gore se odnosi na situaciju da ti sve gtk aplikacije idu na isti prefix kao i pkg-config. Ukoliko to nije slučaj moraš naštimati PKG_CONFIG_PATH varijablu (‘man pkg-config’)

npr. ako instaliras gtk na ‘/usr/local’, a pkg config je na ‘/usr’ prefixu, moras nekako reci pkg-config programu gdje se nalazi datoteka ‘gtk±2.0.pc’, tj. u kojem direktoriju da je trazi (‘export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig’)

P.S.
pkg-config koristis:

gcc pkg-config --cflags --libs pkg_name myfile.c

` su tzv. backquotes

–cflags prosljedjuje kompajleru -I opcije
–libs (vidi liniju “Libs” u *.pc datoteci)

za pkg_name vidi imena datoteka u ‘/usr/lib/pkgconfig’, ili ‘pkg-config --list-all’

Možda bi jedno ldconfig pomoglo?

Uspio sam instalirati glib i pango , sad sam dosao do gtk i govori da ATK nije instaliran.Glib,pango i atk sam instalirao pod prefixom /usr i kad u gtk dodam taj prefix ne vidi atk.Stavio sam PKG_CONFIG_PATH=/usr/lib/pkgconfig i tu se nalazi atk.pc

Vjerovatno su ti ostale stare verzije *.pc datoteka i gtk biblioteka. Može li kakav log?

btw, redoslijed je jako bitan, onako kako sam naveo u prvom postu.

Aha , evo krenuo sam ponovo to instalirat redoslijedom i zaglavio sam na pango, trazi fontconfig.Kad ukucam make u fontconfig direktoriju dobijem ovo:

In file included from ../fontconfig/fcfreetype.h:27,
                 from ../src/fcint.h:39,
                 from fc-lang.c:25:
/usr/local/include/freetype2/freetype/freetype.h:20:2: #error "`ft2build.h' hasn't been included yet!"
/usr/local/include/freetype2/freetype/freetype.h:21:2: #error "Please always use macros to include FreeType header files."
/usr/local/include/freetype2/freetype/freetype.h:22:2: #error "Example:"
/usr/local/include/freetype2/freetype/freetype.h:23:2: #error "  #include <ft2build.h>"
/usr/local/include/freetype2/freetype/freetype.h:24:2: #error "  #include FT_FREETYPE_H"
make[2]: *** [fc-lang.o] Error 1
make[2]: Leaving directory `/home/skywalker/Util/gtk/fontconfig-2.2.90/fc-lang'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/skywalker/Util/gtk/fontconfig-2.2.90'
make: *** [all-recursive-am] Error 2
[root@localhost fontconfig-2.2.90]#

a skinuo sam i paket fcpackage i tu ima fontconfig.Tu kad upisem make dobijem ovo

cc -g -O2 -DHAVE_CONFIG_H -DFONTCONFIG_PATH="/etc/fonts" -I.. -I.   -o fc-list fc-list.o -L../src -lfontconfig
/usr/bin/ld: cannot find -lfontconfig
collect2: ld returned 1 exit status
make[1]: *** [fc-list] Error 1

medjutim ovdje nakon make install izgleda mi kao da je instalirao mada kad u pango opet upisem make dobijem ovaj zadnji problem.Kod mene je distribucija Mandrake 10.1 Community.Da mi je ovo rijesit , shvatio sam kako ostalo instalirati.

Zašto ti treba gtk ? :rolleyes:

Ili upgrade Xft2 paketa:
http://mail-index.netbsd.org/tech-pkg/2004/09/16/0003.html

Ili da popravis taj freetype.h. (provjereno radi :slight_smile:
Pogledaj kako je to uradjeno na Slackware 10.0 (freetype 2.1.9):

/usr/include/freetype2/freetype/freetype.h

/***************************************************************************/
/*                                                                         */
/* If you think breaking almost 100% of all source that links with         */
/* freetype (anything using a configure file for sure) is a good idea,     */
/* then feel free to uncomment this block.                                 */
/*                                                                         */
/* #ifndef FT_FREETYPE_H                                                   */
/* #error "`ft2build.h' hasn't been included yet!"                         */
/* #error "Please always use macros to include FreeType header files."     */
/* #error "Example:"                                                       */
/* #error "  #include <ft2build.h>"                                        */
/* #error "  #include FT_FREETYPE_H"                                       */
/* #endif                                                                  */
/***************************************************************************/

btw, otkud ti freetype instaliran u /usr/local?
Problem sa instalacijom više verzija istog paketa je što se može desiti da kompajliraš naspram jedne verzije (u /usr/local), a da program prilikom izvođenja koristi druge verzije tih biblioteka (npr. iz /usr/lib, umjesto iz /usr/local/lib)

Što ne reče odmah, evo ti RPM paketi gotovi:
http://wwwra.informatik.uni-rostock.de/~waschk/Mandrake/gnome2.7/
Nemoj da te ono 7 u imenu zbuni :wink: to je ustvari gnome 2.8 za 10.1 community.

Zašto ti treba gtk ? :rolleyes:[/quote]

Treba mi gaim-vv i trazi mi to da instaliram , mada ima jos nekih aplikacija koje mi trazi gtk.

/usr/include/setjmp.h:42: error: syntax error before "__jmp_buf"
/usr/include/setjmp.h:45: error: syntax error before '}' token
/usr/include/setjmp.h:50: error: syntax error before "__env"
make[2]: *** [fc-lang.o] Error 1

popravio sam freetype.h , sad mi se ovo javlja