Portál AbcLinuxu, 29. října 2025 03:41
Dnes len krátky zápis o kompilácii Qt 5 a Webkitu2 + Makefile súbor, ktorý možno bude fungovať ;)
Potreba pomaly portovať softvér na novšei verzie knižníc ma dohnala k tak strašnému činu akým je ručná kompilácia knižníc. S blížiacou sa alfa verziou prestáva byť Qt 5 pohyblivým cieľom, takže portovaniu starých a vývoju nových aplikácií už nič okrem bugov nestojí v ceste ;)
Pri písaní Makefile som využíval ako zdroj informácií qt-project.org/wiki/Building_Qt_5_from_Git, README súbor z repozitára git://gitorious.org/qt/qt5.git
.PHONY: all reset
PATH := $(shell pwd)/qt5-source/qtbase/bin:$(PATH)
all: compile
# Stiahnutie zdrojových kódov
qt5-source:
git clone --depth 1 git://gitorious.org/qt/qt5.git qt5-source
# Inicializácia submodulov
qt5-source/qtbase/src: qt5-source
cd qt5-source; perl init-repository
# Konfigurácia Qt
qt5-source/qtbase/bin/qmake:qt5-source/qtbase/src
# Pridanie linku na chýbajúc mkspecs
ln -sf $(shell pwd)/qt5-source/qtbase/mkspecs $(shell pwd)/qt5-source/mkspecs
# Spustenie configure skriptu - možné selektívne vypnúť niektoré moduly
cd qt5-source; PATH="$(PATH)" \
./configure -prefix $(shell pwd)/qtbase -nomake tests -opensource \
-release -confirm-license -no-phonon-backend -no-sql-mysql -no-sql-psql
# Kompilácia submodulov
compile: qt5-source/qtbase/bin/qmake
cd qt5-source; PATH="$(PATH)" \
./build -j 3 qtlocation qtwebkit qtpim qtimageformats qtdeclarative \
qlalr qtquick1 qttranslations qtbase qtqa qtscript qtfeedback \
qtwebkit-examples-and-demos qtconnectivity qtxmlpatterns qtsensors \
qtdoc qtmultimedia qtdocgallery qtgraphicaleffects qtsvg qt3d \
qtjsbackend qtphonon qttools qtsystems
webkit: qt5-source/qtbase/bin/qmake
# Odstránenie -Werror inak by kompilácia padla pri prvom varovaní
sed -i 's/[ ]*!contains(QT, declarative): QMAKE_CXXFLAGS += -Werror//g' \
qt5-source/qtwebkit/Tools/qmake/mkspecs/features/unix/default_post.prf
cd qt5-source/qtwebkit; PATH="$(PATH)" WEBKITOUTPUTDIR="$(shell pwd)/WebKitBuild" \
perl Tools/Scripts/build-webkit --install-libs=$(shell pwd)/qtbase --release
Pred kompiláciou musia byť nainštalované závislosti. Okrem štandardných ako g++ budeme potrebovať nástroje perl, python a git. Novou závislosťou Qt 5 je knižnica xcb (samozrejme je potrebné nainštalovať aj príslušné *-dev balíky).
Po inštalácií závislosti stačí už len vytvoriť pracovný adresár, umiestniť Makefile a spustiť make.
Webkit2 sa kompiluje samostatne príkazom make webkit. Pri kompilácii vyžaduje bison vo verzii >= 2.5.
Výsledkom kompilácii budú samozrejme knižnice zopár demo programov.
Moje prvé pocity z Qt 5 sú tak trochu zmiešané. Backend xcb ešte nie je celkom odladený a aplikácie často padajú. Pre beh nie je potrebné OpenGL / EGL. Rýchlosť je pri zaťaženom notebooku postačujúca (pri resize okien vidieť pomalšiu odozvu oproti Qt 4). Bez záťaže som nepostrehol žiaden zásadný rozdiel vo výkone oproti Qt 4.
WebKit 2 je oproti staršiemu WebKit-u milým prekvapením. Nemýľte si prosím WebKit 2 s doteraz používaným WebKit-om 2.x. WebKit 2 je totiž forkom WebKit-u s podporou multiprocesového režimu.
Demo prehlaidač ma prekvapil výkonom renderovania. Žiaľ ostatné benchmarky napriek integrácii V8 neboli nijako oslnivé. Pre zvedavcov pridávam odkaz na výsledky testov QtWebkit-u(1111 bodov) a chromia 18 (1651) na tom istom stroji.
Qt 5 samozrejme ešte nie je hotovým produktom, ale už v tomto pre-alfa štádiu začína byť reálne použiteľné.
Tiskni
Sdílej:
starší sem rpm nenašel.
?
Sorry za rýpnutie, ale toto mi nedalo ...
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.