[LONG] Compilation Mozilla-1.3 sur ppc (etat + avance mais n…

Startseite

Nachricht beantworten
Autor: olivier.eribon
Datum:  
To: guilde
Betreff: [LONG] Compilation Mozilla-1.3 sur ppc (etat + avance mais non clos)
Je rencontre encore des problemes pour compiler mozilla-1.3 sur ppc405. J'espere
que vous pourrez m'apporter votre analyse.

J'utilise le noyau linux 2.4.18.

Apres avoir installé Xfree-4.2.0 (et non Xfree-4.3.0 comme recommandé #), et les
libs nécesaires à Mozilla (*), puis quelqu'une de plus, je rencontre toujours le
meme probleme qui est :

- Mozilla fonctionne bien mais aucune icone (de la Navigator Toolbar) ou image
(pages web) ne s'affiche. Mieux encore (ou pire plus exacteemnt), dans le menu
Edit/Preferences.../Navigator par exemple aucune croix dans les boites à cocher
ou point dans les boutons de type radio n'apparaissent.

# concernant Xfree l'essai pc x86 avec les sources de Mozilla-1.3, les mêmes
libs recommandées et XFree-4.2.0 fonctionne tres correctement. Par contre le
filesystem de base est beaucoup plus riche (de très nombreuses librairies sont
installées).

Lib. generales et utilitaires
=============================
* zip           2.3
* pkgconfig     0.15.0
  Glib          1.2.9 (pour show et gdk)
* Glib          2.2.1
* freetype      2.1.3
* Pango         1.2.1
* atk           1.2.0
  Gtk+          1.2.9 (pour show et gdk)
* Gtk+          2.2.1
* libIDL        0.8.3
* which         2.14


Lib. graphiques
===============
* lcms          1.09
* jpegsrc       v6b
* libpng        1.2.5
* libtiff       3.5.7
* libmng        1.0.5
  imlib         1.9.14  (fonctions d'affichage et d'edition de fichiers images)
  aalib         1.4rc4  (aalib est une bibliotheque permettant de transformer
tout graphique en art ascii)
  libungif      4.1.0b1 (utilitaire gestion des fichiers .gif)


Lib. graphiques supplémentaire et utilitaires
=============================================
  show-3.0a             (utilitaire d'affichage d'image)
  gdk-pixbuf-0.22.0     (bibliotheques pixbuf pour le Gimp Tool Kit)


Etc...
======
  expat-1.95.6          (analyser du XML)



Compilation de mozilla
======================
cd mozilla
export MOZILLA_OFFICIAL="1"
export BUILD_OFFICIAL="1"
export MOZ_INTERNAL_LIBART_LGPL="1"
export BUILD_MODULES=all
export BUILD_OPT=1
for p in ../mozilla-1.3-*.patch
do patch -Np1 -i $p
done

commenter #define WALLET_DONT_CACHE_ALL_PASSWORDS du fichier
extensions/wallet/src/wallet.cpp

./configure --prefix=/usr \
            --enable-default-mozilla-five-home \
            --enable-toolkit-gtk2 --enable-default-toolkit=gtk2 \
            --with-x --with-system-zlib \
            --with-system-jpeg --with-system-png --with-system-mng \
            --disable-xft --enable-crypto \
            --enable-java-supplement \
            --disable-accessibility \
            --disable-tests --disable-debug \
            --disable-logging --enable-reorder \
            --enable-strip \
            --enable-cpp-rtti --enable-extensions=all \
            --disable-mailnews --disable-ldap \
            --enable-svg
make
make install


Install mozilla by running the following commands
=================================================
install -d /usr/include/mozilla-1.3/nss
mkdir /usr/include/mozilla-1.3/security
cp dist/private/nss/*.h /usr/include/mozilla-1.3/security/.
cp dist/public/nss/*.h /usr/include/mozilla-1.3/security/.
ln -nsf mozilla-1.3 /usr/include/mozilla
ln -nsf mozilla-1.3 /usr/lib/mozilla
cd /usr/lib/mozilla-1.3
export LD_LIBRARY_PATH="/usr/lib/mozilla-1.3"
export MOZILLA_FIVE_HOME="/usr/lib/mozilla-1.3"
./regxpcom
./regchrome
touch `find /usr/lib/mozilla-1.3 -name *.rdf`

Tests sur mozilla
=================
Enfin si l'on effectue dans mozilla les commandes suivantes :
Help/About Mozilla seulement la page apparait sans l'image du dinausaure (seul
un cadre noir et un point rouge avec le texte "Mozilla" qui correcponds au
Alternate text).

En effet si l'on tente un clic droit sur l'image absente en faisant Properties:
  Image Properties
    Location:       chrome://global/content/logo.gif
    Width:          200px
    Height:         200px
    Size of File:   Unknown (not cached)
    Alternate text: Mozilla


Si maintenant l'on tente un clic droit sur l'image absente en faisant View Image
mozilla plante (cf fin de strace)

[WIFEXITED(s) && WEXITSTATUS(s) == 11], 0, NULL) = 906                          
rt_sigprocmask(SIG_BLOCK, [CHLD TTOU], [CHLD], 8) = 0                           
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0                                
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0                                
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0                                
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0                                    
--- SIGCHLD (Child exited) ---                                                  
wait4(-1, 0x7ffff198, WNOHANG, NULL)    = -1 ECHILD (No child processes)        
rt_sigaction(SIGINT, {SIG_DFL}, {0x1002f710, [], 0}, 8) = 0                     
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0                                     
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0                                    
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0                                     
stat64(0x100b6508, 0x7ffff448)          = -1 ENOENT (No such file or directory) 
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0          
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0                                     
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0                                    
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0                                     
rt_sigprocmask(SIG_BLOCK, [CHLD TTOU], [], 8) = 0                               
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0                                    
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0                                    
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0                                    
read(255, "\nexit $exitcode\n", 8176)   = 16                                    
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0                                     
rt_sigprocmask(SIG_BLOCK, [CHLD TTOU], [], 8) = 0                               
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0                                    
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0                                    
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0                                    
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0                                    
exit(11)                                = ? 



Quelle est l'origine du problème :
==================================

- libs ou autres ressources manquantes ?
- problème dans la base de gestion des objets de mozilla ? (ou se trouve
réellement les icones de mozilla ?, comment tester cette partie ?)
- ...


Test complémentaire pour tester les ressources necessaires à Mozilla
====================================================================

gtk+-2.2.1 :
============
cd /build/gtk+-2.2.1/examples/pixmap/
make
./pixmap => affichage correct du bouton avec la feuille

libpng-1.2.5 :
==============
cd /build/libpng-1.2.5/
./pngtest => libpng passes test

jpeg-6b :
=========
cd /build/jpeg-6b
make test => OK

lcms-1.09 :
===========
cd /build/lcms-1.09/testbed/
make
./testcms => OK

xpcom :
=======
cd /build/mozilla/xpcom/sample/
ajout /usr/lib/mozilla-1.3/ dans /etc/ld.so.conf
ldconfig
export MOZILLA_FIVE_HOME="/usr/lib/mozilla-1.3"
./nsTestSample => Test passed.

show :
======
cd /build/show-3.0a
./show example.jpg => affichage est correct

- Quels autres tests peux t-on effectuer pour affiner notre recherche ?
- libs ou autres ressources manquantes ?

Cordialement

Olivier Eribon