Firefox 3.5 kompilieren

GambaJo

GambaJo

Maxi King alraaaight!!!
Versuche gerade FF 3.5 auf meinem debian testing 64Bit zu kompilieren (im Prinzip genau, wie ich es mit den Vorgängerversionen gemacht habe).

Zunächst ein wenig am Code geschraubt.
Danach Konfigurationsdatei erstellt:

.mozconfig
Code:
. $topsrcdir/browser/config/mozconfig

mk_add_options MOZ_CO_PROJECT=browser
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@
ac_add_options --enable-application=browser
ac_add_options --prefix=/usr/
ac_add_options --enable-optimize="-march=k8 -O2 -pipe -m3dnow -msse3 -mmmx -mtune=k8 -freorder-blocks -ftracer -fno-reorder-functions -fno-strict-aliasing -fomit-frame-pointer"
ac_add_options --without-system-nspr
ac_add_options --without-system-nss
ac_add_options --without-system-jpeg
ac_add_options --without-system-zlib
ac_add_options --without-system-png
ac_add_options --with-pthreads
ac_add_options --enable-libxul
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-installer
ac_add_options --enable-xinerama
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --disable-xprint
ac_add_options --disable-strip
ac_add_options --disable-pango
ac_add_options --enable-system-cairo
ac_add_options --enable-svg
ac_add_options --enable-canvas
ac_add_options --enable-xft
ac_add_options --disable-ipv6
ac_add_options --disable-updater
ac_add_options --enable-64bit
ac_add_options --with-java-include-path=/usr/lib/jvm/java-6-sun/include/
ac_add_options --disable-composer
ac_add_options --disable-ldap
ac_add_options --disable-mailnews
ac_add_options --disable-pedantic
ac_add_options --disable-freetype2
ac_add_options --enable-update-packaging
ac_add_options --enable-svg-renderer=cairo
ac_add_options --disable-mochitest
ac_cv_visibility_pragma=no

./configure bringt keine Fehler. Aber nach "make" kommt nach einer Weile:

Code:
make[5]: Entering directory `/home/dk/downloads/mozilla-1.9.1/gfx/thebes/src'   
cairo-xlib-utils.c                                                              
gcc -o cairo-xlib-utils.o -c  -DIMPL_THEBES -DMOZILLA_INTERNAL_API -D_IMPL_NS_COM -DEXPORT_XPT_API -DEXPORT_XPTC_API -D_IMPL_NS_COM_OBSOLETE -D_IMPL_NS_GFX -D_IMPL_NS_WIDGET -DIMPL_XREAPI -DIMPL_NS_NET -DIMPL_THEBES  -DZLIB_INTERNAL -DOSTYPE=\"Linux2.6.29\" -DOSARCH=Linux  -I. -I. -I../../../dist/include/cairo -I../../../dist/include/string -I../../../dist/include/pref -I../../../dist/include/xpcom -I../../../dist/include/unicharutil -I../../../dist/include/qcms -I../../../dist/include/locale -I../../../dist/include   -I../../../dist/include/thebes -I/home/dk/downloads/mozilla-1.9.1/dist/include/nspr    -I/home/dk/downloads/mozilla-1.9.1/dist/sdk/include    -fPIC  -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W -Wno-long-long -fno-strict-aliasing -pthread -pipe  -DNDEBUG -DTRIMMED -march=k8 -O2 -pipe -m3dnow -msse3 -mmmx -mtune=k8 -freorder-blocks -ftracer -fno-reorder-functions -fno-strict-aliasing -fomit-frame-pointer -D_REENTRANT -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12   -D_REENTRANT -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12   -D_REENTRANT -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/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-unix-print-2.0     -include ../../../mozilla-config.h -DMOZILLA_CLIENT -Wp,-MD,.deps/cairo-xlib-utils.pp cairo-xlib-utils.c                                                    
cairo-xlib-utils.c: In Funktion »_draw_with_xlib_direct«:                       
cairo-xlib-utils.c:205: Warnung: »rect_count« könnte in dieser Funktion uninitialisiert verwendet werden                                                        
gfxASurface.cpp                                                                 
c++ -o gfxASurface.o -c  -DIMPL_THEBES -DMOZILLA_INTERNAL_API -D_IMPL_NS_COM -DEXPORT_XPT_API -DEXPORT_XPTC_API -D_IMPL_NS_COM_OBSOLETE -D_IMPL_NS_GFX -D_IMPL_NS_WIDGET -DIMPL_XREAPI -DIMPL_NS_NET -DIMPL_THEBES  -DZLIB_INTERNAL -DOSTYPE=\"Linux2.6.29\" -DOSARCH=Linux  -I. -I. -I../../../dist/include/cairo -I../../../dist/include/string -I../../../dist/include/pref -I../../../dist/include/xpcom -I../../../dist/include/unicharutil -I../../../dist/include/qcms -I../../../dist/include/locale -I../../../dist/include   -I../../../dist/include/thebes -I/home/dk/downloads/mozilla-1.9.1/dist/include/nspr    -I/home/dk/downloads/mozilla-1.9.1/dist/sdk/include    -fPIC   -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-long-long -fno-strict-aliasing -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -march=k8 -O2 -pipe -m3dnow -msse3 -mmmx -mtune=k8 -freorder-blocks -ftracer -fno-reorder-functions -fno-strict-aliasing -fomit-frame-pointer -D_REENTRANT -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12   -D_REENTRANT -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12   -D_REENTRANT -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/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include-I/usr/include/gtk-unix-print-2.0   -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2     -DMOZILLA_CLIENT -include ../../../mozilla-config.h -Wp,-MD,.deps/gfxASurface.pp gfxASurface.cpp
gfxASurface.cpp:59:32: Fehler: gfxDirectFBSurface.h: Datei oder Verzeichnis nicht gefunden
gfxASurface.cpp: In static member function »static already_AddRefed<gfxASurface> gfxASurface::Wrap(cairo_surface_t*)«:
gfxASurface.cpp:176: Fehler: expected type-specifier before »gfxDirectFBSurface«
gfxASurface.cpp:176: Fehler: »int*« kann nicht nach »gfxASurface*« in assignment umgewandelt werden
gfxASurface.cpp:176: Fehler: expected `;' before »gfxDirectFBSurface«
make[5]: *** [gfxASurface.o] Fehler 1
make[5]: Leaving directory `/home/dk/downloads/mozilla-1.9.1/gfx/thebes/src'
make[4]: *** [libs] Fehler 2
make[4]: Leaving directory `/home/dk/downloads/mozilla-1.9.1/gfx/thebes'
make[3]: *** [libs] Fehler 2
make[3]: Leaving directory `/home/dk/downloads/mozilla-1.9.1/gfx'
make[2]: *** [libs_tier_gecko] Fehler 2
make[2]: Leaving directory `/home/dk/downloads/mozilla-1.9.1'
make[1]: *** [tier_gecko] Fehler 2
make[1]: Leaving directory `/home/dk/downloads/mozilla-1.9.1'
make: *** [default] Fehler 2
 
Code:
gfxASurface.cpp:59:32: Fehler: gfxDirectFBSurface.h: Datei oder Verzeichnis nicht gefunden

Da wird offenbar ein Include-Path nicht korrekt gesetzt. Die Datei müsste eigentlich in den Sources enthalten sein.
 
Ja, die Datei ist unter mozilla-1.9.1/gfx/thebes/public vorhanden. Wo muss ich den include-Pfad setzen?
 
Du kannst den Include-Path dem Compiler als Argument übergeben. Also entweder das Makefile entsprechend anpassen oder den Pfad in der include-Anweisung korrigieren.
 
Hab hier eine Lösung gefunden.

Dafür kommt auch schon das nächste Problem:

Code:
gfxFT2Fonts.cpp: In constructor »gfxFT2FontGroup::gfxFT2FontGroup(const nsAString_internal&, const gfxFontStyle*)«:
gfxFT2Fonts.cpp:241: Fehler: keine passende Funktion für Aufruf von »nsStringArray::AppendElement(NS_ConvertUTF8toUTF16)«
../../../dist/include/xpcom/nsVoidArray.h:108: Anmerkung: Kandidaten sind: PRBool nsVoidArray::AppendElement(void*)
gfxFT2Fonts.cpp:255: Fehler: keine passende Funktion für Aufruf von »gfxFT2Font::GetOrMakeFont(nsString*, gfxFontStyle*)«
../../../dist/include/thebes/gfxFT2Fonts.h:127: Anmerkung: Kandidaten sind: static already_AddRefed<gfxFT2Font> gfxFT2Font::GetOrMakeFont(const nsAString_internal&, const gfxFontStyle*)
gfxFT2Fonts.cpp: In member function »gfxFT2Font* gfxFT2FontGroup::FindFontForChar(PRUint32, PRUint32, PRUint32, gfxFT2Font*)«:
gfxFT2Fonts.cpp:397: Warnung: Variable »selectedFont« wird nicht verwendet
gfxFT2Fonts.cpp: At global scope:
gfxFT2Fonts.cpp:278: Warnung: »PRInt32 AppendDirectionalIndicatorUTF8(PRBool, nsACString_internal&)« definiert, aber nicht verwendet
make[5]: *** [gfxFT2Fonts.o] Fehler 1
make[5]: Leaving directory `/home/dk/downloads/mozilla-1.9.1/gfx/thebes/src'
make[4]: *** [libs] Fehler 2
make[4]: Leaving directory `/home/dk/downloads/mozilla-1.9.1/gfx/thebes'
make[3]: *** [libs] Fehler 2
make[3]: Leaving directory `/home/dk/downloads/mozilla-1.9.1/gfx'
make[2]: *** [libs_tier_gecko] Fehler 2
make[2]: Leaving directory `/home/dk/downloads/mozilla-1.9.1'
make[1]: *** [tier_gecko] Fehler 2
make[1]: Leaving directory `/home/dk/downloads/mozilla-1.9.1'
make: *** [default] Fehler 2

Kann hier nicht ganz erkennen, was eigentlich der Fehler ist bzw. wonach ich googlen soll.
 
Mach mal die englischen Fehlermeldungen an (export LC_ALL=C). Bei der Suche nach englischsprachigen Fehlermeldungen hat man im WWW zumeist mehr Erfolg und zumeist sind sie auch aussagekräftiger, weil die Lokalisierung sehr besch...eiden ist.
 
Meldung sieht jetzt so aus:

Code:
gfxFT2Fonts.cpp: In constructor 'gfxFT2FontGroup::gfxFT2FontGroup(const nsAString_internal&, const gfxFontStyle*)':
gfxFT2Fonts.cpp:241: error: no matching function for call to 'nsStringArray::AppendElement(NS_ConvertUTF8toUTF16)'
../../../dist/include/xpcom/nsVoidArray.h:108: note: candidates are: PRBool nsVoidArray::AppendElement(void*)
gfxFT2Fonts.cpp:255: error: no matching function for call to 'gfxFT2Font::GetOrMakeFont(nsString*, gfxFontStyle*)'
../../../dist/include/thebes/gfxFT2Fonts.h:127: note: candidates are: static already_AddRefed<gfxFT2Font> gfxFT2Font::GetOrMakeFont(const nsAString_internal&, const gfxFontStyle*)
gfxFT2Fonts.cpp: In member function 'gfxFT2Font* gfxFT2FontGroup::FindFontForChar(PRUint32, PRUint32, PRUint32, gfxFT2Font*)':
gfxFT2Fonts.cpp:397: warning: unused variable 'selectedFont'
gfxFT2Fonts.cpp: At global scope:
gfxFT2Fonts.cpp:278: warning: 'PRInt32 AppendDirectionalIndicatorUTF8(PRBool, nsACString_internal&)' defined but not used
make[5]: *** [gfxFT2Fonts.o] Error 1
make[5]: Leaving directory `/home/dk/downloads/mozilla-1.9.1/gfx/thebes/src'
make[4]: *** [libs] Error 2
make[4]: Leaving directory `/home/dk/downloads/mozilla-1.9.1/gfx/thebes'
make[3]: *** [libs] Error 2
make[3]: Leaving directory `/home/dk/downloads/mozilla-1.9.1/gfx'
make[2]: *** [libs_tier_gecko] Error 2
make[2]: Leaving directory `/home/dk/downloads/mozilla-1.9.1'
make[1]: *** [tier_gecko] Error 2
make[1]: Leaving directory `/home/dk/downloads/mozilla-1.9.1'
make: *** [default] Error 2

Beim googeln habe ich dann nur das gefunden. Der Fehler scheint och nicht behoben zu sein.

Laut bugzilla scheint es ein Problem mit "--disable-pango" zu geben. Gibt da aber noch mehr ähnliche Einträge. Werde noch etwas recherchieren.
 

Ähnliche Themen

Gnome Classic Desktop: Home-Inhalt Icons ausblenden

Displayport + externer Monitor zeigt bei startx nichts erst bei DVI

Fehler beim Kompilieren von Firefox

tilp lässt sich nicht installieren

XFCE freezes at startup

Zurück
Oben