Portál AbcLinuxu, 10. května 2025 08:59

Dotaz: Nelze přeložit GTK+ 2.8.6

21.8.2006 13:14 Jan Odvárko | skóre: 10
Nelze přeložit GTK+ 2.8.6
Přečteno: 107×
Odpovědět | Admin
Slackware 10.0
Jádro 2.4.26
gcc version 4.0.1

Snažím se zprovoznit GTK+ 2.8.6... 20 min se kompiluje bez jediné chybičky, a potom skončí na něčem prapodivném (viz níže). Vážně bych už to GTK+ rád zkompiloval, snažím se o to pěkně dlouho. Ale nechápu to... výstup tvrdí, že je chyba v syntaxi. Syntaktická chyba v oficiálním zdroji? A když není, co se tomu nelíbí? Předem díky
 gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../.. -I../../../gdk -I../../../gdk 
-DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED 
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 
-I/usr/include/cairo -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/include/libpng12 
-I/usr/include/atk-1.0 -g -O2 -Wall -MT pixbuf-draw.lo -MD -MP -MF .deps/pixbuf-draw.Tpo -c pixbuf-draw.c 
 -fPIC -DPIC -o .libs/pixbuf-draw.o
In file included from ../../../gtk/gtk.h:60,
                 from pixbuf.h:23,
                 from pixbuf-draw.c:28:
../../../gtk/gtkclist.h:155: error: syntax error before ‘GMemChunk’
../../../gtk/gtkclist.h:155: warning: no semicolon at end of struct or union
../../../gtk/gtkclist.h:156: warning: type defaults to ‘int’ in declaration of ‘cell_mem_chunk’
../../../gtk/gtkclist.h:156: warning: data definition has no type or storage class
../../../gtk/gtkclist.h:245: error: syntax error before ‘}’ token
In file included from ../../../gtk/gtk.h:68,
                 from pixbuf.h:23,
                 from pixbuf-draw.c:28:
../../../gtk/gtkctree.h:110: error: field ‘clist’ has incomplete type
In file included from ../../../gtk/gtk.h:152,
                 from pixbuf.h:23,
                 from pixbuf-draw.c:28:
../../../gtk/gtkstatusbar.h:68: error: syntax error before ‘GMemChunk’
../../../gtk/gtkstatusbar.h:68: warning: no semicolon at end of struct or union
../../../gtk/gtkstatusbar.h:82: error: syntax error before ‘}’ token
make[4]: *** [pixbuf-draw.lo] Error 1
make[4]: Leaving directory `/root/gtk+-2.8.6/gtk+-2.8.6/modules/engines/pixbuf'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/root/gtk+-2.8.6/gtk+-2.8.6/modules/engines'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/gtk+-2.8.6/gtk+-2.8.6/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/gtk+-2.8.6/gtk+-2.8.6'
make: *** [all] Error 2
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

21.8.2006 13:43 kilinux | skóre: 15 | blog: KILinux
Rozbalit Rozbalit vše Re: Nelze přeložit GTK+ 2.8.6
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vypada to,ze vyvojari GTK+ (zase) zmenili definici funkci...Zkuste pouzit nejnovejsi verze vseho od GTK+, tzn. glib, pango, atk, gtk+ a zkuste to zkompilovat v uvedenem poradi. Me se to povedlo, mam Slackware-mix pripominajici nejvic verzi current.
21.8.2006 14:01 Jan Odvárko | skóre: 10
Rozbalit Rozbalit vše Re: Nelze přeložit GTK+ 2.8.6
Až na to ATK mám od všeho nejnovější verzi... Ale proč to píše, že je chyba v syntaxi? To by přece nemělo ani kdyby byla změněná definice funkcí.
Ještě doplním, že konfigurace byla: ./configure --with-xinput=yes --prefix=/usr
21.8.2006 16:05 kilinux | skóre: 15 | blog: KILinux
Rozbalit Rozbalit vše Re: Nelze přeložit GTK+ 2.8.6
Pokud máte vše nejnovější, jde mi hlavně o glib, tak vám asi nepůjde přeložit už obstarožní verze gtk+ proti nejnovějším verzím ostatních knihoven. Stáhněte si opravdu nejnovější verzi gtk+, v pátek vyšla verze 2.10.2, a zkuste zkompilovat ji.
21.8.2006 17:13 Jan Odvárko | skóre: 10
Rozbalit Rozbalit vše Re: Nelze přeložit GTK+ 2.8.6
Fungujeee! :-D Takže opravdu to chtělo nejnovější GTK+ (a tomu potom ještě bylo potřeba podstrčit nejnovější ATK). Jen pořád nechápu jak nekompatibilitou zdrojů může vzniknout syntax error. No ale běží to... Díky!
unknown_ avatar 21.8.2006 13:49 unknown_ | skóre: 30 | blog: blog
Rozbalit Rozbalit vše Re: Nelze přeložit GTK+ 2.8.6
Odpovědět | | Sbalit | Link | Blokovat | Admin
To vypadá na to, že někde je špatně napsanej kod.
../../../gtk/gtkstatusbar.h:82: error: syntax error before ‘}’ token
Skuste otevřít ten kod gtkstatusbar.h a na radku 82 tam mozna chybi strednik.
Mozna skuste jinou verzi
Hodně štěstí
21.8.2006 14:21 Jan Odvárko | skóre: 10
Rozbalit Rozbalit vše Re: Nelze přeložit GTK+ 2.8.6
V syntaxi chyba není. Tak třeba ta první chyba:
../../../gtk/gtkclist.h:155: error: syntax error before ‘GMemChunk’
Řádek 155 je ale naprosto v pořádku a kód okolo taky:
148: struct _GtkCList
149: {
150:   GtkContainer container;
151:   
152:   guint16 flags;
153:   
154:   /* mem chunks */
155:   GMemChunk *row_mem_chunk;
156:   GMemChunk *cell_mem_chunk;
157: 
158:   guint freeze_count;
159:   
160:   /* allocation rectangle after the conatiner_border_width
161:    * and the width of the shadow border */
162:   GdkRectangle internal_allocation;

...
21.8.2006 16:20 kilinux | skóre: 15 | blog: KILinux
Rozbalit Rozbalit vše Re: Nelze přeložit GTK+ 2.8.6
Porovnejte si obsah souboru gmem.h (obsahuje definici funkce GMemChunk) ve vaší (=poslední) verzi glib a ve verzi 2.8.6, která odpovídá verzi gtk+, kterou se snažíte přeložit.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.