Nedari se zkompilovat qt-3.0.5
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Neděle Leden 12 15:59:59 CET 2003
On Sat, 11 Jan 2003, Tomáš Lašťovička wrote:
> in file included from /usr/include/freetype2/freetype/freetype.h:43,
> from /usr/X11R6/include/X11/Xft/XftFreetype.h:29,
> from kernel/qt_x11.h:143,
> from kernel/qinputcontext_p.h:5,
> from kernel/qapplication_x11.cpp:78:
> /usr/include/freetype2/freetype/fterrors.h:95:10: #include expects
> "FILENAME" or <FILENAME>
> make[1]: *** [.obj/release-shared-mt/qapplication_x11.o] Error 1
> make[1]: Leaving directory `/usr/src/redhat/BUILD/qt-x11-free-3.0.5/src'
> make: *** [sub-src] Error 2
> error: Špatný návratový kód z /var/tmp/rpm-tmp.70600 (%build)
>
> nasel jsem si tedy onen soubor (fterrors.h) a zjistil jsem, ze 95. radka
> obsahuje nasledujici text:
>
> #include FT_MODULE_ERRORS_H
To je naprosto spravne. Pri pouziti FreeType 2 by melo probihat tak, ze se
nejprve provede "#include <ft2build.h>", coz (pres jiny soubor) nadefinuje
mj. ruzna makra FT_neco_H udavajici cesty ke konkretnim headerum. Je to
udelano takhle, aby se skutecna jmena souboru mohla v pripade potreby
prizpusobit mistni zvyklostem.
Pokud to zahlasilo tu chybu "#include expects...", pak zjevne doslo
k nejake podivnosti pri zpracovani preprocesorem. doporucuji to prohnat
pres gcc -E (+ dalsi relevantni opsny, se kterymi to bylo kompilovano)
a prostudovat vysledek (jedno varovani: zda se, ze novejsi verze gcc
ci spise cpp urezavaji konce souboru, pokud by vysledkem byly jen same
prazdne radky, coz muze trochu mast).
Jiny k pristup k hledani pricin problemu by mohl spocivat v tom, ze
zkusite zkompilovat nejaky program, co pouziva jen FT2 resp. jen Xft,
a uvidite, jestli to bude fungovat. Pokud ano, pak je asi problem v Qt
nebo zpusobu, jakym je kompilovano, pokud ne, pak je neco shnileho
ve FT2 resp. Xft (nebo ve zpusobu, jak je nainstalovano).
--Pavel Kankovsky aka Peak [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."
Další informace o konferenci Linux