[Création] sunbird 1.0 beta

Mise à jour / Création /debug de paquetages
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Création] sunbbird 1.0 beta

Message par FoolEcho »

mélodie a écrit :MrMen : n'aies crainte, j'ai demandé un programme, j'assume pour les tests. Et merci encore à tous deux.
Je pense que tu pourras utiliser la version de Mr_Men sans problèmes.
En ce qui me concerne et éventuellement pour Aur par la suite, maintenant que j'arrive à avoir un configure pour mercurial (bizarre comme avec les bons outils ça va mieux :bouletdujour: ), je vais regarder un peu mieux... ce qui est assez drôle car j'arrive à des erreurs de compilation différentes. Aucune idée si je vais en tirer quelque chose, cependant, je verrais ça un peu mieux ce week-end j'espère (si Mr_Men est intéressé, je pourrais lui communiquer mon début de PKGBUILD -- par MP par exemple, vu qu'il y a encore des parties dont je ne suis pas certain et que je ne sais pas à quoi, ou même si, on peut aboutir à ce qu'on veut). :mrgreen:

Ah oui, d'ailleurs, vu que tu pars d'une version compilée, regarde si tu ne peux pas nettoyer certaines des dépendances à l'exécution, puisque déjà présentes dans le paquet (nss par exemple).
mélodie a écrit :et j'ai adopté Sylpheed.
... ce fut mon premier client de messagerie. :)
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
MrMen
Chu Ko Nu
Messages : 479
Inscription : sam. 11 juil. 2009, 14:33
Localisation : (33)

Re: [Création] sunbbird 1.0 beta

Message par MrMen »

@FoolEcho : oui je suis pas mal intéressé par ce PKGBUILD :D je vais regarder aussi de mon côté si j'arrive au même erreur.
Petite question : tu télécharges environ combien pour le dépôt mercurial ? (les sources sunbird font à peu près 80Mo)

Pour le nettoyage, j'ai mis les dépendances pour être en accord avec namcap…

Et si vous vous ennuyer dans la vie, passer à mutt :D c'est juste génial et ultra léger (surtout l'interface graphique :lol: )
Arch 64 | Awesome | Zsh | Bépo
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Création] sunbbird 1.0 beta

Message par FoolEcho »

PKGBUILD incomplet (qui donc ne compile pas entièrement, bien sûr), seul y figure le code de base pour récupérer ce qu'il faut avec les dépendances de compilation qui vont bien (dans le détail, on récupère la branche de Sunbird 1.0 via mercurial / y a un machin qui est fait par rapport à la branche principale en cvs via le client.py, pas compris / on construit le .mozconfig pour ne compiler que le calendar, c'est-à-dire Sunbird, enfin j'espère, c'est ce qu'indique la doc en tous cas :mrgreen: et enfin le make qui fabrique le configure, etc.):

Code : Tout sélectionner

pkgname=sunbird-hg
pkgver=0
pkgrel=1
pkgdesc=""
arch=('i686' 'x86_64')
url=""
license=()
makedepends=('mercurial' 'python2' 'cvs' 'autoconf2.13')
source=('gcc4.7.patch')
md5sums=('.........') #work in progress

_hgroot="http://hg.mozilla.org/releases/comm-1.9.1/"
_hgrepo='Sunbird' #impropre bien sûr... on récupère plus que ça

build() {
  cd "$srcdir"
  msg "Connecting to Mercurial server...."

  if [[ -d "$_hgrepo" ]]; then
    cd "$_hgrepo"
    hg pull -u
    msg "The local files are updated."
  else
    hg clone "$_hgroot" "$_hgrepo"
  fi

  msg "Mercurial checkout done or server timeout"
  msg "Starting build..."

  rm -rf "$srcdir/$_hgrepo-build"
  cp -r "$srcdir/$_hgrepo" "$srcdir/$_hgrepo-build"
  cd "$srcdir/$_hgrepo-build"

  python2 client.py checkout
# Setup a basic .mozconfig file
  echo ". $PWD/calendar/sunbird/config/mozconfig" > .mozconfig   # let's build Sunbird...
  echo 'mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-sb-release' >> .mozconfig   # ...in this directory...

  #use the appropriate python2 version
  export PYTHON="/usr/bin/python2"

  #fix compilation for gcc 4.7
# cf. http://gcc.gnu.org/gcc-4.7/porting_to.html
  patch -Np1 -i ${srcdir}/gcc4.7.patch
  
#TODO: à adapter pour détecter la version de noyau courante..
  cp mozilla/security/coreconf/Linux2.6.mk mozilla/security/coreconf/Linux3.3.mk
  #
  # BUILD HERE
  #
  make -f client.mk
}

package() {
  cd "$srcdir/$_hgrepo-build"
  make -f client.mk DESTDIR="$pkgdir/" install
}
Pour la taille... c'est du lourd. Rapatrier depuis le premier dépôt demande un peu plus de 100 Mo... après le coup du client.py, ça monte à 900 Mo (je n'ai pas vérifié mais ça doit télécharger moins que ça par contre... toute la suite mozilla, quoi... et non je ne suis pas dingue, juste le premier dépôt ne suffit pas sinon il manque des fichiers ... ou alors il y a eu une astuce mais je ne l'ai pas vu :( ). On travaille sur une copie, ne pas oublier (c'est plus propre, d'autant qu'il y a des choses à fixer). En ce qui me concerne, ayant un i7, pour la compilation elle-même, ça devrait aller assez vite (ça compile pas mal de trucs avant de se vautrer).
Pour compiler à part, travailler sur une copie bien sûr (ne pas oublier l'export de python pour reprendre de plus loin...), le temps de fixer proprement la compilation (si on y arrive)...

Les premières erreurs à la compilation, comme tu l'as vu quand tu as compilé par toi-même les autres sources, sont liés au passage à gcc 4.7 (mais différentes des tiennes, puisque la version est différente // n° de version que je n'ai pas vérifié d'ailleurs... :| ).
En premier lieu, voir "Name lookup changes" http://gcc.gnu.org/gcc-4.7/porting_to.html (donc à tester avec -fpermissive déjà avant de tenter un patch):

Code : Tout sélectionner

In file included from /home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsDataHashtable.h:42:0,
                 from /home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsCategoryCache.h:49,
                 from /home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsCategoryCache.cpp:43:
/home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsBaseHashtable.h: In instantiation of ‘PRBool nsBaseHashtable<KeyClass, DataType, UserDataType>::Put(nsBaseHashtable<KeyClass, DataType, UserDataType>::KeyType, UserDataType) [with KeyClass = nsCStringHashKey; DataType = nsCString_external; UserDataType = nsCString_external; PRBool = int; nsBaseHashtable<KeyClass, DataType, UserDataType>::KeyType = const nsACString&]’:
/home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsCategoryCache.cpp:82:44:   required from here
/home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsBaseHashtable.h:145:35: erreur: ‘PutEntry’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
/home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsBaseHashtable.h:145:35: note: declarations in dependent base ‘nsTHashtable<nsBaseHashtableET<nsCStringHashKey, nsCString_external> >’ are not found by unqualified lookup
/home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsBaseHashtable.h:145:35: note: use ‘this->PutEntry’ instead
/home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsBaseHashtable.h: In instantiation of ‘PRBool nsBaseHashtable<KeyClass, DataType, UserDataType>::Get(nsBaseHashtable<KeyClass, DataType, UserDataType>::KeyType, UserDataType*) const [with KeyClass = nsCStringHashKey; DataType = nsCString_external; UserDataType = nsCString_external; PRBool = int; nsBaseHashtable<KeyClass, DataType, UserDataType>::KeyType = const nsACString&]’:
/home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsCategoryCache.cpp:158:28:   required from here
/home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsBaseHashtable.h:126:35: erreur: ‘GetEntry’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
/home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsBaseHashtable.h:126:35: note: declarations in dependent base ‘nsTHashtable<nsBaseHashtableET<nsCStringHashKey, nsCString_external> >’ are not found by unqualified lookup
/home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsBaseHashtable.h:126:35: note: use ‘this->GetEntry’ instead
/home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsBaseHashtable.h: In instantiation of ‘void nsBaseHashtable<KeyClass, DataType, UserDataType>::Remove(nsBaseHashtable<KeyClass, DataType, UserDataType>::KeyType) [with KeyClass = nsCStringHashKey; DataType = nsCString_external; UserDataType = nsCString_external; nsBaseHashtable<KeyClass, DataType, UserDataType>::KeyType = const nsACString&]’:
/home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsCategoryCache.cpp:159:23:   required from here
/home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsBaseHashtable.h:159:31: erreur: ‘RemoveEntry’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
/home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsBaseHashtable.h:159:31: note: declarations in dependent base ‘nsTHashtable<nsBaseHashtableET<nsCStringHashKey, nsCString_external> >’ are not found by unqualified lookup
/home/ylange/abs/sunbird-hg/src/Sunbird-build/mozilla/xpcom/glue/nsBaseHashtable.h:159:31: note: use ‘this->RemoveEntry’ instead
make[6]: *** [nsCategoryCache.o] Erreur 1
make[6] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/Sunbird-build/objdir-sb-release/mozilla/xpcom/glue »
make[5]: *** [libs] Erreur 2
make[5] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/Sunbird-build/objdir-sb-release/mozilla/xpcom »
make[4]: *** [libs_tier_xpcom] Erreur 2
make[4] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/Sunbird-build/objdir-sb-release/mozilla »
make[3]: *** [tier_xpcom] Erreur 2
make[3] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/Sunbird-build/objdir-sb-release/mozilla »
make[2]: *** [default] Erreur 2
make[2] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/Sunbird-build/objdir-sb-release/mozilla »
make[1]: *** [default] Erreur 2
make[1] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/Sunbird-build/objdir-sb-release »
make: *** [build] Erreur 2
Pour avoir jeté un oeil rapide sur le web, Debian a relevé la même erreur pour un autre paquet mais ils n'ont pas l'air de se sentir concerné (on peut effectivement penser que mozilla mettra son code à niveau à terme) http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=667206 (dommage, ça faisait ça de moins à faire, c'est pourquoi je propose de passer par -fpermissive si c'est suffisant... crade, mais suffisant...).
J'ai songé à regarder aussi les branches firefox-hg et thunderbird-hg depuis Aur... puisque tout ça est commun, il aurait pu avoir ce qu'on cherche, côté patch... mais non, car ces paquets sont basés sur les branches de développement principales (comm-central et pas comm-1.9.1 ici pour sunbird 1.0).

C'est à cet instant que je me dois de préciser que je n'aime pas programmer en C/C++, raison pour laquelle je ne me suis pas précipité quand mélodie a lancé le sujet ? :lol: (m'enfin, c++ ça peut encore aller, j'ai une aversion pour le bas-niveau, donc le c me gène davantage... et ça me fera du bien de m'y replonger)

EDIT (important): ... ça avance, à voir jusqu'où ça peut mener. :D Pour info, voilà le genre de patch à appliquer, je vais essayer de l'avancer mais en ce qui me concerne, faute de temps, ce sera plutôt ce week-end s'il y a 36000 erreurs (à caser avant le make, donc, via la commande patch, Patching_in_ABS).

Bon, voilà le patch provisoire pour gcc au moins (j'ai édité le PKGBUILD en cours),
gcc4.7.patch:

Code : Tout sélectionner

--- Sunbird-build/mozilla/xpcom/glue/nsBaseHashtable.h  2012-05-24 11:38:31.256918139 +0200
+++ test/mozilla/xpcom/glue/nsBaseHashtable.h   2012-05-24 13:00:49.672999339 +0200
@@ -123,7 +123,7 @@
    */
   PRBool Get(KeyType aKey, UserDataType* pData) const
   {
-    EntryType* ent = GetEntry(aKey);
+    EntryType* ent = this->GetEntry(aKey);
 
     if (!ent)
       return PR_FALSE;
@@ -142,7 +142,7 @@
    */
   PRBool Put(KeyType aKey, UserDataType aData)
   {
-    EntryType* ent = PutEntry(aKey);
+    EntryType* ent = this->PutEntry(aKey);
 
     if (!ent)
       return PR_FALSE;
@@ -156,7 +156,7 @@
    * remove the data for the associated key
    * @param aKey the key to remove from the hashtable
    */
-  void Remove(KeyType aKey) { RemoveEntry(aKey); }
+  void Remove(KeyType aKey) { this->RemoveEntry(aKey); }
 
   /**
    * function type provided by the application for enumeration.
--- Sunbird-build/mozilla/xpcom/glue/nsClassHashtable.h 2012-05-24 11:38:31.260251494 +0200
+++ test/mozilla/xpcom/glue/nsClassHashtable.h  2012-05-24 13:14:55.541986607 +0200
@@ -98,7 +98,7 @@
 nsClassHashtable<KeyClass,T>::Get(KeyType aKey, T** retVal) const
 {
   typename nsBaseHashtable<KeyClass,nsAutoPtr<T>,T*>::EntryType* ent =
-    GetEntry(aKey);
+    this->GetEntry(aKey);
 
   if (ent)
   {
@@ -126,7 +126,7 @@
   PR_Lock(this->mLock);
 
   typename nsBaseHashtableMT<KeyClass,nsAutoPtr<T>,T*>::EntryType* ent =
-    GetEntry(aKey);
+    this->GetEntry(aKey);
 
   if (ent)
   {
--- Sunbird-build/mozilla/xpcom/glue/nsInterfaceHashtable.h     2012-05-24 11:38:31.270251560 +0200
+++ test/mozilla/xpcom/glue/nsInterfaceHashtable.h      2012-05-24 13:20:34.634257319 +0200
@@ -111,7 +111,7 @@
   (KeyType aKey, UserDataType* pInterface) const
 {
   typename nsBaseHashtable<KeyClass, nsCOMPtr<Interface>, Interface*>::EntryType* ent =
-    GetEntry(aKey);
+    this->GetEntry(aKey);
 
   if (ent)
   {
@@ -139,7 +139,7 @@
   (KeyType aKey, PRBool* aFound) const
 {
   typename nsBaseHashtable<KeyClass, nsCOMPtr<Interface>, Interface*>::EntryType* ent =
-    GetEntry(aKey);
+    this->GetEntry(aKey);
 
   if (ent)
   {
@@ -167,7 +167,7 @@
   PR_Lock(this->mLock);
 
   typename nsBaseHashtableMT<KeyClass, nsCOMPtr<Interface>, Interface*>::EntryType* ent =
-    GetEntry(aKey);
+    this->GetEntry(aKey);
 
   if (ent)
   {
--- Sunbird-build/mozilla/xpcom/glue/nsRefPtrHashtable.h        2012-05-24 11:38:31.273584915 +0200
+++ test/mozilla/xpcom/glue/nsRefPtrHashtable.h 2012-05-24 13:28:25.620747719 +0200
@@ -112,7 +112,7 @@
   (KeyType aKey, UserDataType* pRefPtr) const
 {
   typename nsBaseHashtable<KeyClass, nsRefPtr<RefPtr>, RefPtr*>::EntryType* ent =
-    GetEntry(aKey);
+    this->GetEntry(aKey);
 
   if (ent)
   {
@@ -140,7 +140,7 @@
   (KeyType aKey, PRBool* aFound) const
 {
   typename nsBaseHashtable<KeyClass, nsRefPtr<RefPtr>, RefPtr*>::EntryType* ent =
-    GetEntry(aKey);
+    this->GetEntry(aKey);
 
   if (ent)
   {
@@ -168,7 +168,7 @@
   PR_Lock(this->mLock);
 
   typename nsBaseHashtableMT<KeyClass, nsRefPtr<RefPtr>, RefPtr*>::EntryType* ent =
-    GetEntry(aKey);
+    this->GetEntry(aKey);
 
   if (ent)
   {

(ahahah, le c++ deviendrait-il un langage rigoureux ? :mrgreen: )

EDIT2: ce n'est qu'un répit, bien sûr. Erreur suivante:

Code : Tout sélectionner

c++ -o os2.o -c  -DMOZILLA_INTERNAL_API -DMOZ_SUNBIRD=1 -DOSTYPE=\"Linux3.3\" -DOSARCH=Linux -DPACKAGE_VERSION="\"moz\"" -DPACKAGE_BUGREPORT="\"http://bugzilla.mozilla.org/\"" -I/home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src  -I/home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src -I.  -I../../../dist/include   -I../../../dist/include/ots -I/home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla/dist/include/nspr    -I/home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla/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 -pedantic -fno-strict-aliasing -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -Os -freorder-blocks -fno-reorder-functions    -DMOZILLA_CLIENT -include ../../../mozilla-config.h -Wp,-MD,.deps/os2.pp /home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src/os2.cc
In file included from /home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src/os2.h:8:0,
                 from /home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src/os2.cc:5:
/home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src/ots.h:35:33: attention : ISO C ne permet pas les macros nommées à nombre variable d'arguments [-Wvariadic-macros]
/home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src/os2.cc:129:47: attention : ISO C99 requiert que tous les arguments soient utilisés [enabled by default]
/home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src/os2.cc:134:51: attention : ISO C99 requiert que tous les arguments soient utilisés [enabled by default]
/home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src/os2.cc:142:48: attention : ISO C99 requiert que tous les arguments soient utilisés [enabled by default]
/home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src/os2.cc: In function ‘bool ots::ots_os2_parse(ots::OpenTypeFile*, const uint8_t*, size_t)’:
/home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src/os2.cc:168:36: erreur: expected primary-expression before ‘,’ token
/home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src/os2.cc:168:38: erreur: ‘code_page_range_2’ was not declared in this scope
/home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src/os2.cc:168:55: erreur: ‘offsetof’ was not declared in this scope
/home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src/os2.cc:186:36: erreur: expected primary-expression before ‘,’ token
/home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src/os2.cc:186:38: erreur: ‘max_context’ was not declared in this scope
/home/ylange/abs/sunbird-hg/src/test/mozilla/gfx/ots/src/os2.cc:186:49: erreur: ‘offsetof’ was not declared in this scope
make[6]: *** [os2.o] Erreur 1
make[6] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla/gfx/ots/src »
make[5]: *** [libs] Erreur 2
make[5] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla/gfx »
make[4]: *** [libs_tier_gecko] Erreur 2
make[4] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla »
make[3]: *** [tier_gecko] Erreur 2
make[3] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla »
make[2]: *** [default] Erreur 2
make[2] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla »
make[1]: *** [default] Erreur 2
make[1] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/objdir-sb-release »
make: *** [build] Erreur 2
Là, je ne suis pas sûr... On dirait une régression...
Apparemment résolu par addition au patch précédent de:

Code : Tout sélectionner

--- Sunbird-build/mozilla/gfx/ots/src/os2.cc    2012-05-24 13:45:11.214046807 +0200
+++ test/mozilla/gfx/ots/src/os2.cc     2012-05-24 18:09:11.646809706 +0200
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <cstddef>
 #include "os2.h"
 
 #include "head.h"
La compilation se poursuit, et on retombe sur des erreurs similaires à mon premier EDIT, apparemment.

EDIT3:
À rajouter au patch:

Code : Tout sélectionner

--- Sunbird-build/mozilla/xpcom/base/nsAutoRef.h        2012-05-24 13:45:27.564154941 +0200
+++ test/mozilla/xpcom/base/nsAutoRef.h 2012-05-24 18:47:36.935733408 +0200
@@ -323,7 +323,7 @@
     void SafeAddRef()
     {
         if (this->HaveResource())
-            AddRef(this->get());
+            this->AddRef(this->get());
     }
 };
 
@@ -690,7 +690,7 @@
     void SafeRelease()
     {
         if (this->HaveResource())
-            Release(this->get());
+            this->Release(this->get());
     }
 };
 
--- Sunbird-build/mozilla/xpcom/glue/nsTPtrArray.h      2012-05-24 13:45:27.664155601 +0200
+++ test/mozilla/xpcom/glue/nsTPtrArray.h       2012-05-24 19:36:14.108771124 +0200
@@ -64,7 +64,7 @@
 
     // Initialize this array and pre-allocate some number of elements.
     explicit nsTPtrArray(size_type capacity) {
-      SetCapacity(capacity);
+      this->SetCapacity(capacity);
     }
     
     // The array's copy-constructor performs a 'deep' copy of the given array.
Maintenant ça bute sur:

Code : Tout sélectionner

touch /home/ylange/abs/sunbird-hg/src/test/mozilla/security/manager/.nss.checkout
/usr/bin/make -C /home/ylange/abs/sunbird-hg/src/test/mozilla/security/coreconf MAKE="/usr/bin/make -j1" -j1 CC="gcc" SOURCE_MD_DIR=/home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla/dist DIST=/home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla/dist NSPR_INCLUDE_DIR=/home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla/dist/include/nspr NSPR_LIB_DIR=/home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla/dist/lib MOZILLA_CLIENT=1 NO_MDUPDATE=1 NSS_ENABLE_ECC=1 SQLITE_INCLUDE_DIR=/home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla/dist/include/sqlite3 BUILD_TREE=/home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla BUILD_OPT=1 OPT_CODE_SIZE=1 NS_USE_GCC=1 NS_USE_NATIVE= USE_64=1 NSS_ENABLE_ZLIB= PROGRAMS= clean
make[6] : on entre dans le répertoire « /home/ylange/abs/sunbird-hg/src/test/mozilla/security/coreconf »
../coreconf/config.mk:71: ../coreconf/Linux3.3.mk: Aucun fichier ou dossier de ce type
/usr/bin/make -j1: *** No rule to make target ../coreconf/Linux3.3.mk.  Stop.
make[6]: *** [../coreconf/Linux3.3.mk] Erreur 1
make[6] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/mozilla/security/coreconf »
make[5]: *** [.nss.cleaned] Erreur 2
make[5] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla/security/manager »
make[4]: *** [export_tier_toolkit] Erreur 2
make[4] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla »
make[3]: *** [tier_toolkit] Erreur 2
make[3] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla »
make[2]: *** [default] Erreur 2
make[2] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/objdir-sb-release/mozilla »
make[1]: *** [default] Erreur 2
make[1] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/objdir-sb-release »
make: *** [build] Erreur 2
Là je ne sais pas, faudra faire le tour du web, il n'y a effectivement pas de Linux3.3.mk, pas même en 3.x quelque chose... tout est en 2.x. :?
(to be continued... ? :marche: )

EDIT3: apparemment résolu avec: :|

Code : Tout sélectionner

cp mozilla/security/coreconf/Linux2.6.mk mozilla/security/coreconf/Linux3.3.mk
(faudra arranger ça dans le PKGBUILD selon la version du noyau...)

... et la compilation va jusqu'au bout, si, si... Bon par contre, ça ne fonctionne pas encore (dépendances manquantes, organisation du paquet...)

... 'tain, c'est pas possible de compiler ce truc sans tout se farcir... De plus, j'ai la désagréable sensation que ça ne changera pas grand-chose au final... :|
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Re: [Création] sunbbird 1.0 beta

Message par mélodie »

Mr_Men a écrit :Et si vous vous ennuyer dans la vie, passer à mutt :D c'est juste génial et ultra léger (surtout l'interface graphique :lol: )
mutt, muhahaha ! pourquoi pas, si tu peux pointer vers un tuto en français de 10 à 15 lignes maximum ? :D

/docs saturation again
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Création] sunbbird 1.0 beta

Message par FoolEcho »

Je poste surtout à l'intention de Mr_Men car s'il veut prendre le relai à un moment ou à un autre (je continue tant que je peux, quand j'ai 5 minutes), qu'il ait déjà le truc dégrossi.

Pour éviter de tout disperser, j'ai continué l'édition de mon message précédent sur la version mercurial (et je continuerai tant qu'il n'y aura pas une version peaufinée).

Tout ça pour dire que j'arrive à un machin qui compile jusqu'au bout, si, si, en tous cas pour le premier make (l'installation foire ^^) ! :D (mais qui met une nouvelle fois à mal la ridicule théorie d'une vieille connaissance, dont j'ai oublié le nom -- ne vous sentez pas visé c'est pas un Archer, enfin je ne crois pas, dans le cas contraire il se rappelera probablement :mrgreen: , disant que si «si ça compile, c'est que ça marche» ... n'importe quoi... :roll: )
Pour info, une vingtaine de minutes quand même pour compiler sur i7 (ça cadre avec ce qui était indiqué sur le site, c'est du lourd). :|

Il faut encore que je regarde les différentes options de compilation/installation (via le .mozconfig), chemins, dépendances et autres bibliothèques, puis l'empaquetage... :chinois:
Mais déjà:

Code : Tout sélectionner

$ ldd sunbird-bin
        linux-vdso.so.1 =>  (0x00007fffda352000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f0a3e2c7000)
        libxul.so => not found
        libmozjs.so => not found
        libxpcom.so => not found
        libxpcom_core.so => not found
        libplds4.so => /usr/lib/libplds4.so (0x00007f0a3e0c3000)
        libplc4.so => /usr/lib/libplc4.so (0x00007f0a3debe000)
        libnspr4.so => /usr/lib/libnspr4.so (0x00007f0a3dc81000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f0a3da7d000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00007f0a3d44e000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007f0a3d22b000)
        libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007f0a3cede000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00007f0a3ccb1000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f0a3ca12000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f0a3c7dc000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00007f0a3c529000)
        libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x00007f0a3c31c000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007f0a3c0fa000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007f0a3beaf000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007f0a3bbba000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f0a3b96c000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f0a3b678000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f0a3b33e000)
        libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2 (0x00007f0a3b117000)
        libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007f0a3aed3000)
        librt.so.1 => /lib/librt.so.1 (0x00007f0a3accb000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f0a3a9c7000)
        libm.so.6 => /lib/libm.so.6 (0x00007f0a3a6d2000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f0a3a4bd000)
        libc.so.6 => /lib/libc.so.6 (0x00007f0a3a11c000)
        /lib/ld-linux-x86-64.so.2 (0x00007f0a3e4e3000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f0a39f15000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007f0a39d11000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007f0a39b0f000)
        libffi.so.6 => /usr/lib/libffi.so.6 (0x00007f0a39907000)
        libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f0a396ad000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007f0a39497000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x00007f0a39280000)
        libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f0a39070000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f0a38e46000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f0a38c33000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f0a38a28000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007f0a38825000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0x00007f0a38616000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007f0a3840d000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007f0a38203000)
        libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007f0a38000000)
        libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f0a37dfd000)
        libpng15.so.15 => /usr/lib/libpng15.so.15 (0x00007f0a37bd0000)
        libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007f0a37948000)
        libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0x00007f0a37746000)
        libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f0a3753d000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f0a3731f000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f0a3711b000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f0a36f15000)
(xulrunner est trouvable dans les dépôts, mais pour les possesseurs d'Eclipse, comme moi, c'est pas top... et vu que sunbird a compilé pleins de trucs...)

(to be continued... :marche: )
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Re: [Création] sunbbird 1.0 beta

Message par mélodie »

-> (to be continued... :marche: )

wao ! c'est un grand chantier en fait ! :D
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Création] sunbbird 1.0 beta

Message par FoolEcho »

N'étant pas développeur chez mozilla (et sorti de Java, je ne sais pas faire grand-chose :) ), il faut se faire à leur builds (*mode sournois*: en fait, il faut que je teste un mix avec le .mozconfig du sunbird dispo sur Aur de façon à ne compiler que le nécessaire... :sifflote2: ). Truc pénible par contre... le make install marche pas des masses (tout comme la version sur Aur à ce que j'ai vu)... il va falloir s'amuser à récupérer à la main... :|
J'ai vu à peu près comment récupèrer l'internationalisation, aussi... ça passe par encore un autre dépôt apparemment... https://developer.mozilla.org/en/L10n_on_Mercurial. Je verrai ça après.

Au final (si ça aboutit bien sûr), ça fera un paquet à compiler, donc forcément plus lent à mettre en place... mais un paquet qui devrait être plus léger aussi (utilisation d'un maximum de bibliothèques d'Arch).

Bah... ça m'occupe les pensées.



EDIT (important): ... bon, j'aurais pu regarder mieux que ça en fait. Même si le make install ne fait pas le boulot tout est disponible dans src/Sunbird-build/objdir-sb-release/mozilla/dist/ . Du coup, je peux lancer sunbird ! Version 1.0b2pre, comme prévu. «Plus qu'à» faire un paquet conforme, voir les bibliothèques à garder, les dépendances à ajouter... et bien sûr l'internationalisation. :D

Pour info, le .mozconfig utilisé (à copier au niveau de Sunbird-build avant de lancer le make):

Code : Tout sélectionner

ac_add_options --enable-application=calendar
ac_add_options --prefix=/usr
ac_add_options --libdir=/usr/lib

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-sb-release

ac_add_options --disable-debug
ac_add_options --disable-tests
ac_add_options --disable-installer
(peut-être des choses à changer, je ne sais pas...)

( to be continued... :marche: )
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Création] sunbbird 1.0 beta

Message par FoolEcho »

Je remets au propre mes pérégrinations précédentes sur la version mercurial. Ça devrait compiler et fonctionner et fournir sunbird 1.0 b2 pre ! (testé chez moi sur x86_64: compilation/installation/lancement et parcours rapide des menus) :D

Par rapport au paquet proposé par Mr_Men, outre la version plus récente, il y a quelques bibliothèques en moins car la compilation s'appuie au maximum sur celles d'Arch (en dehors de xulrunner, mais c'est pour éviter de faire sauter eclipse par exemple...)... il y a quelques bibliothèques en plus aussi, soit pour les extensions, soit pour certains outils, je ne sais pas trop encore (j'ai dégagé certains outils qui ne servent qu'au développement si j'ai bien compris -- ils ne figurent pas dans le paquet de Mr_Men par exemple... et il faut encore que j'épluche les options -- les descriptions "établis truc/désactive machin" ne sont pas des plus éclairantes...).
... évidemment en contre-partie: le temps de rapatriement du code source (assez pénible, mais je n'ai pas une grosse connexion non plus) et le temps de compilation (une vingtaine de minutes sur un i7).

Je pourrai le poster sur Aur déjà, mais si tu pouvais tester avant compilation/installation/lancement et un peu d'utilisation chez toi, mélodie (ou tout autre intéressé bien sûr), je t'en serai gré (garde bien le paquet de Mr_Men sous le coude et fais une copie de ta configuration utilisateur également, ~/.mozilla/sunbird normalement, on ne sait jamais). Tout paraît fonctionnel, mais comme je n'utilise pas...
Je travaille encore sur la localisation (c'est carrément pénible, pour tout dire, il y a des versions différentes... et des tutos différents aussi :| ). Et impossible de lui faire avaler le xpi, pourtant en 1.0b2pre, de Mr_Men directement dans sunbird par le biais des extensions :| . Bon je laisse pour ma part l'outil nsinstall qui devrait servir à construire la localisation a posteriori. Si tout va bien, ce sera fait dans la semaine (je pense faire un paquet splitté également).

Les fichiers à récupérer: (et, par exemple, makepkg -sr pour construire le paquet / éventuellement refaire les sommes de contrôle)

PKGBUILD

Code : Tout sélectionner

pkgname=sunbird-hg
pkgver=4987
pkgrel=1
pkgdesc="Standalone calendar from mozilla.org (development version, branch 1.0)"
arch=('i686' 'x86_64')
url="http://www.mozilla.org/projects/calendar/sunbird/"
license=('MPL' 'GPL' 'LGPL')
depends=('nss' 'java-environment' 'gtk2' 'libxt' 'dbus-glib' 'desktop-file-utils' 'alsa-lib')
makedepends=('mercurial' 'python2' 'cvs' 'autoconf2.13')
provides=('sunbird')
conflicts=('sunbird')
replaces=('sunbird')
install=$pkgname.install
source=(
  'gcc4.7.patch'
  'mozconfig'
  'sunbird-hg.desktop'
)
md5sums=('22e302e7073120d928a20b21e0727d19'
         '85529531b995f2d8216b7807469c11ea'
         'f40414d1b4f30bd18d7c2cb2f675fa04')

_hgroot="http://hg.mozilla.org/releases/comm-1.9.1/"
_hgrepo='comm-1.9.1'

build() {
  cd "$srcdir"
  msg "Connecting to Mercurial server...."

  if [[ -d "$_hgrepo" ]]; then
    cd "$_hgrepo"
    hg pull -u
    msg "The local files are updated."
  else
    hg clone "$_hgroot" "$_hgrepo"
  fi

  msg "Mercurial checkout done or server timeout"
  msg "Starting build..."

  rm -rf "$srcdir/$_hgrepo-build"
  cp -r "$srcdir/$_hgrepo" "$srcdir/$_hgrepo-build"
  cd "$srcdir/$_hgrepo-build"

  python2 client.py checkout

  #mozconfig
  cp ${srcdir}/mozconfig .mozconfig
  #use the appropriate python2 version
  export PYTHON="/usr/bin/python2"
  
#fix compilation for gcc 4.7
# cf. http://gcc.gnu.org/gcc-4.7/porting_to.html
  patch -Np1 -i ${srcdir}/gcc4.7.patch
  
  #no Linux3.x... so grab the current kernel version
  cp mozilla/security/coreconf/Linux2.6.mk mozilla/security/coreconf/Linux`uname -r |cut -d '.' -f 1,2`.mk

  make -f client.mk build||return 1
}

package() {
  cd "$srcdir/$_hgrepo-build"

  #there's no available "install" :(
#  make -f client.mk DESTDIR="$pkgdir" install
  install -dm755 ${pkgdir}/usr/{bin,lib/${pkgname},share/{applications,pixmaps}}/

  cp -RL mozilla/dist/bin/* ${pkgdir}/usr/lib/${pkgname}
  ln -s "/usr/lib/$pkgname/sunbird" "$pkgdir/usr/bin/sunbird"

  #license
  install -Dm644 mozilla/dist/bin/LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
  rm ${pkgdir}/usr/lib/${pkgname}/LICENSE

  #removes the development tools
  rm ${pkgdir}/usr/lib/${pkgname}/{regxpcom,xpcshell,xpidl,xpt_dump,xpt_link}
  #except:
  #nsinstall... required to build langpacks after installation of sunbird if need...
  ln -s "/usr/lib/$pkgname/nsinstall" "$pkgdir/usr/bin/nsinstall"
  #TODO: mozilla-xremote-client... don't know the use...

  #.desktop and icon
  install -m644 $srcdir/$pkgname.desktop $pkgdir/usr/share/applications/sunbird.desktop
  install -m644 calendar/sunbird/branding/nightly/mozicon128.png $pkgdir/usr/share/pixmaps/${pkgname}.png
}
sunbird-hg.install:

Code : Tout sélectionner

post_install() {
    update-desktop-database -q
}

post_upgrade() {
    post_install
}

post_remove() {
    post_install
}
gcc4.7.patch: http://pastebin.archlinux.fr/447553

mozconfig: (peut-être encore à modifier, je vais voir... )

Code : Tout sélectionner

. $topsrcdir/calendar/sunbird/config/mozconfig                                                                 
                                                                                                               
ac_add_options --prefix=/usr                                                                                   
                                                                                                               
ac_add_options --disable-debug                                                                                 
ac_add_options --disable-tests                                                                                 
ac_add_options --disable-installer                                                                             
ac_add_options --with-system-nss                                                                               
ac_add_options --with-system-nspr
ac_add_options --enable-system-sqlite

ac_add_options --enable-optimize
sunbird-hg.desktop: (le même que Mr_Men, au nom de l'icône et du GenericName -- traduit -- prêt, ça peut toujours être changé après)

Code : Tout sélectionner

[Desktop Entry]
Name=Sunbird Beta
GenericName=Calendar
Icon=sunbird-hg
Type=Application
Categories=Application;Office;Calendar
MimeType=text/calendar;text/x-vcalendar
Encoding=UTF-8
Exec=sunbird
Terminal=false
MultipleArgs=false
StartupNotify=false


EDIT (important): Pour la localisation, j'ai réussi en installant le xpi récupéré sur le lien de Mr_Men, sunbird-1.0b2pre.fr.langpack.xpi ( http://ftp.mozilla.org/pub/mozilla.org/ ... .9.1-l10n/ ) dans sunbird (via Tools > Add-Ons > Extensions >) puis en modifiant dans Édition > Préférences > Avancé > Général > Configuration avancée / éditeur de configuration : general.useragent.locale à fr. Puis redémarrage de sunbird (je ne sais pas trop pourquoi on ne peut sélectionner autrement... peut-être ai-je raté une option dans la compilation de sunbird). :D
Ça ne m'avance pas pour le paquet de localisation, mais bon, c'est toujours ça de pris.

( to be continued... :marche: )
Dernière modification par FoolEcho le mar. 29 mai 2012, 15:40, modifié 1 fois.
Raison : patch sur pastebin (coquille sur le précédent ?) :-s
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
MrMen
Chu Ko Nu
Messages : 479
Inscription : sam. 11 juil. 2009, 14:33
Localisation : (33)

Re: [Création] sunbird 1.0 beta

Message par MrMen »

Bonjour,
désolé j'ai été un peu absent j'ai pas trop pu suivre ton boulot, qui est plutôt énorme.
Ce soir je vais lancer la compil pour voir je pense et je te dirais ce que ça donne chez moi.

Pour la localisation, dans mon paquet non plus je ne pouvais pas lui faire avaler le xpi simplement et je n'avais pas touché à l'option que tu modifies…

Je vais essayer de trouver le temps de regarder tout ce que tu as fait, mais en tout cas merci FoolEcho :D
Arch 64 | Awesome | Zsh | Bépo
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Création] sunbird 1.0 beta

Message par FoolEcho »

Mr_Men a écrit :désolé j'ai été un peu absent j'ai pas trop pu suivre ton boulot, qui est plutôt énorme.
Pas tant que ça (le plus pénible est de courir après un tas de doc différentes) et la mise en paquet est laide car pas d'install (... mais bon, je vois que le sunbird sur Aur était construit de même).
Mr_Men a écrit :Pour la localisation, dans mon paquet non plus je ne pouvais pas lui faire avaler le xpi simplement et je n'avais pas touché à l'option que tu modifies…
Ça me rassure déjà, si on peut dire... faudra trouver un moyen de rendre ça automatique quand même, si possible... Ça ressemble à la vieille façon de localiser firefox (peut-être un truc manquant dans le mozconfig...) :|
Mélodie pourra aussi nous dire si le problème existait dans la version 0.9. :chinois:
Après il y a peut-être des choses mineures à modifier (l'icone, le .desktop: je n'ai pas vérifié: ça fait parti des accessoires que je n'utilise déjà que peu par ailleurs).

Ok, j'attends des retours (comme je l'ai dit précédemment: ce n'est pas pour dévaluer ton travail -- au contraire, je ne me serais pas plongé là-dedans sans toi :) -- mais je pense qu'un paquet basé sur la version de développement est plus utile -- et moins pénible à maintenir -- sur Aur).
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
MrMen
Chu Ko Nu
Messages : 479
Inscription : sam. 11 juil. 2009, 14:33
Localisation : (33)

Re: [Création] sunbird 1.0 beta

Message par MrMen »

FoolEcho a écrit :Ok, j'attends des retours (comme je l'ai dit précédemment: ce n'est pas pour dévaluer ton travail -- au contraire, je ne me serais pas plongé là-dedans sans toi :) -- mais je pense qu'un paquet basé sur la version de développement est plus utile -- et moins pénible à maintenir -- sur Aur).
Ne t'inquiètes pas, comme je l'ai dit c'est la première fois que je mettais les mains dans un pkgbuild, alors je suis content de voir un peu plus comment en construire des différents.

Je t'avoue aussi que .desktop et icones c'est pas très utile pour moi donc j'ai piquer à droite à gauche :oops:.
Arch 64 | Awesome | Zsh | Bépo
Avatar de l’utilisateur
MrMen
Chu Ko Nu
Messages : 479
Inscription : sam. 11 juil. 2009, 14:33
Localisation : (33)

Re: [Création] sunbird 1.0 beta

Message par MrMen »

Bon je viens de tenter vite fait sur un vieux p4 (je suis pas pressé :lol: ) et je me tape une erreur à la compilation. Je pense que c'est au niveau du patch (perspicace hein :D ) :

Code : Tout sélectionner

==> Détermination de la dernière révision hg...
pulling from http://hg.mozilla.org/releases/comm-1.9.1/
searching for changes
aucun changement trouvé
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  -> Version trouvée : 4987
==> Création du paquet sunbird-hg 4987-1 (mar. mai 29 14:38:16 CEST 2012)
==> Vérification des dépendances pour l'exécution...
==> Vérification des dépendances pour la compilation...
==> Récupération des sources...
  -> gcc4.7.patch trouvé
  -> mozconfig trouvé
  -> sunbird-hg.desktop trouvé
==> Validation des fichiers sources avec md5sums...
    gcc4.7.patch ... Réussite
    mozconfig ... Réussite
    sunbird-hg.desktop ... Réussite
==> Extraction des sources...
==> Suppression du répertoire pkg/ existant…
==> Lancement de build()...
==> Connecting to Mercurial server....
pulling from http://hg.mozilla.org/releases/comm-1.9.1/
searching for changes
aucun changement trouvé
==> The local files are updated.
==> Mercurial checkout done or server timeout
==> Starting build...
Executing command: ['/usr/bin/hg', 'pull', '-R', './.']
pulling from http://hg.mozilla.org/releases/comm-1.9.1/
searching for changes
aucun changement trouvé
Executing command: ['/usr/bin/hg', 'update', '-r', 'default', '-R', './.']
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Updated to revision 06fd852dc4953ba72c6a5ab4c4e1561d7b406efe.
Executing command: ['/usr/bin/hg', 'clone', 'http://hg.mozilla.org/releases/mozilla-1.9.1/', './mozilla']
requesting all changes
adding changesets
adding manifests
adding file changes
added 27428 changesets with 129797 changes to 44745 files (+40 heads)
updating to branch default
38333 files updated, 0 files merged, 0 files removed, 0 files unresolved
Executing command: ['/usr/bin/hg', 'update', '-r', 'default', '-R', './mozilla']
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Updated to revision 920bcf17a9e120114a7b8989ad9be08aa2630909.
Executing command: ['/usr/bin/hg', 'clone', 'http://hg.mozilla.org/chatzilla/', './mozilla/extensions/irc']
requesting all changes
adding changesets
adding manifests
adding file changes
added 1569 changesets with 3538 changes to 381 files (+58 heads)
updating to branch default
178 files updated, 0 files merged, 0 files removed, 0 files unresolved
Executing command: ['/usr/bin/hg', 'update', '-r', 'COMM_1_9_1_BRANCH', '-R', './mozilla/extensions/irc']
125 files updated, 0 files merged, 14 files removed, 0 files unresolved
Updated to revision 10bf11a849f9e0716372c0c1bc1d9fb6c205b835.
Executing command: ['/usr/bin/hg', 'clone', 'http://hg.mozilla.org/dom-inspector/', './mozilla/extensions/inspector']
requesting all changes
adding changesets
adding manifests
adding file changes
added 1447 changesets with 4987 changes to 760 files (+41 heads)
updating to branch default
540 files updated, 0 files merged, 0 files removed, 0 files unresolved
Executing command: ['/usr/bin/hg', 'update', '-r', 'COMM_1_9_1_BRANCH', '-R', './mozilla/extensions/inspector']
446 files updated, 0 files merged, 85 files removed, 0 files unresolved
Updated to revision d43fc625d4c2a8555831ee584c204f98b690d81e.
CVS checkout begin: 2012-05-29 12:45:32 UTC
Executing command: ['cvs', '-d', ':pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot', '-q', 'checkout', '-P', '-r', 'LDAPCSDK_6_0_6E_MOZILLA_RTM', '-d', 'c-sdk', 'mozilla/directory/c-sdk']
cvs checkout: warning: failed to open /home/mrmen/.cvspass for reading: No such file or directory


[...]

U c-sdk/ldap/libraries/msdos/winsock/nsldif32.tdf
U c-sdk/ldap/libraries/msdos/winsock/nssldap32.def
U c-sdk/ldap/libraries/msdos/winsock/nssldap32.tdf
CVS checkout end: 2012-05-29 12:45:39 UTC
Executing command: ['/usr/bin/hg', 'clone', 'http://hg.mozilla.org/venkman/', './mozilla/extensions/venkman']
requesting all changes
adding changesets
adding manifests
adding file changes
added 854 changesets with 1712 changes to 226 files (+62 heads)
updating to branch default
162 files updated, 0 files merged, 0 files removed, 0 files unresolved
Executing command: ['/usr/bin/hg', 'update', '-r', 'COMM_1_9_1_BRANCH', '-R', './mozilla/extensions/venkman']
74 files updated, 0 files merged, 7 files removed, 0 files unresolved
Updated to revision 1daacf7020508ef2e3626d0e07cff5365c3abff6.
patching file mozilla/xpcom/glue/nsBaseHashtable.h
patching file mozilla/xpcom/glue/nsClassHashtable.h
patch: **** malformed patch at line 33:    nsClassHashtable<KeyClass,T>::Get(KeyType aKey, T** retVal) const

==> ERREUR : Une erreur s'est produite dans build().
    Abandon...
Je ne suis pas du tout calé en patch. J'ai bien ce fichier et cette ligne mais :non: ça veut pas…

Il passe direct chez toi ?
Arch 64 | Awesome | Zsh | Bépo
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Création] sunbird 1.0 beta

Message par FoolEcho »

Oui, ça passe sans problème... :?

Code : Tout sélectionner

Updated to revision 1daacf7020508ef2e3626d0e07cff5365c3abff6.
patching file mozilla/xpcom/glue/nsBaseHashtable.h
patching file mozilla/xpcom/glue/nsClassHashtable.h
patching file mozilla/xpcom/glue/nsInterfaceHashtable.h
patching file mozilla/xpcom/glue/nsRefPtrHashtable.h
patching file mozilla/gfx/ots/src/os2.cc
patching file mozilla/xpcom/base/nsAutoRef.h
patching file mozilla/xpcom/glue/nsTPtrArray.h
... peut-être ai-je foiré en recopiant le patch, pourtant ça a l'air bon... :|
Je te mets le lien vers le patch que j'utilise sur pastebin (et je rectifie mon message précédent): http://pastebin.archlinux.fr/447553 .
Au besoin je referai un diff complet. :chinois:
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
MrMen
Chu Ko Nu
Messages : 479
Inscription : sam. 11 juil. 2009, 14:33
Localisation : (33)

Re: [Création] sunbird 1.0 beta

Message par MrMen »

Bon j'ai du faire le boulet en recopiant ton patch, là ça passe.
Par contre victoire de courte durée sur i686 :

Code : Tout sélectionner

c++ -o nsFastLoadFile.o -c -I../../dist/include/system_wrappers -include ../../config/gcc_hidden.h -DMOZILLA_INTERNAL_API -DMOZ_SUNBIRD=1 -DOSTYPE=\"Linux3.3\" -DOSARCH=Linux -D_IMPL_NS_COM -I.. -I. -I. -I../../dist/include/string -I../../dist/include   -I../../dist/include/xpcom -I/usr/include/nspr       -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 -pedantic -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fno-strict-aliasing -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -Os -fno-strict-aliasing    -DMOZILLA_CLIENT -include ../../mozilla-config.h -Wp,-MD,.deps/nsFastLoadFile.pp nsFastLoadFile.cpp
In file included from nsFastLoadFile.cpp:58:0:
nsFastLoadFile.h:299:19: erreur: conflicting type attributes specified for ‘virtual nsresult nsFastLoadFileReader::ReadSegments(nsWriteSegmentFun, void*, PRUint32, PRUint32*)’
In file included from nsFastLoadFile.cpp:57:0:
nsBinaryStream.h:113:5: erreur:   overriding ‘virtual nsresult nsBinaryInputStream::ReadSegments(nsWriteSegmentFun, void*, PRUint32, PRUint32*)’
make[6]: *** [nsFastLoadFile.o] Erreur 1
Je vais essayer de voir ce que ça peut être. Vraiment ce sunbird :twisted:
Arch 64 | Awesome | Zsh | Bépo
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Création] sunbird 1.0 beta

Message par FoolEcho »

Enfer ! :twisted:

Pour ne pas te retaper tout le téléchargement, va dans src et fais une copie du répertoire build.
Une fois dedans fais simplement

Code : Tout sélectionner

export PYTHON="/usr/bin/python2"
Et à chaque fois que tu veux recompiler:

Code : Tout sélectionner

make -f client.mk build
Maintenant, essaie voir si ça passe en éditant le .mozconfig (attention fichier caché) en enlevant le ac_add_options --enable-optimize et en relançant le make (sinon il va falloir encore voir du côté de la compatibilité avec gcc 4.7... peut-être voir sur les autres paquets mozilla s'il n'y a pas des patchs en ce sens... mais si le 32 bits casse les pieds en plus... :( ).
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
MrMen
Chu Ko Nu
Messages : 479
Inscription : sam. 11 juil. 2009, 14:33
Localisation : (33)

Re: [Création] sunbird 1.0 beta

Message par MrMen »

FoolEcho a écrit :Enfer ! :twisted:
Je suis tout à fait d'accord :lol:

Je viens de trouver ça, mais bien sûr pas de solution : le patch dont il est question c'est pour le commentaire juste au dessus.

Merci pour l'astuce, pour le moment je regardais le fichier et je rebalançais la ligne qui bloquait. Je vais aller modifier les options. J'en avais déjà pas mal chier pour les sources sunbird et j'étais arrivé à rien peut être qu'on va obtenir un truc potable aujourd'hui. /me croise les doigts (même les orteils)
Arch 64 | Awesome | Zsh | Bépo
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Création] sunbird 1.0 beta

Message par FoolEcho »

J'ai tenté la compilation sans le --enable-optimize sous i686... marche pô :evil: ... J'ai d'autres choses en plan, je ne vais pas pouvoir regarder ça de plus près pour le moment. :cry:
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
MrMen
Chu Ko Nu
Messages : 479
Inscription : sam. 11 juil. 2009, 14:33
Localisation : (33)

Re: [Création] sunbird 1.0 beta

Message par MrMen »

Je vais essayer de m'y remettre un peu, mais bon il faut bosser dans la vie aussi… Je te tiens au courant si j'arrive à un truc.
Arch 64 | Awesome | Zsh | Bépo
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Création] sunbird 1.0 beta

Message par FoolEcho »

Par curiosité, la compilation de xulrunner192 me donne la même chose en i686 (donc ça ne m'étonne pas trop qu'il n'y ait aucune trace des fichiers incriminés dans leur pléthore de patch... mais ça ne fait pas trop avancer le problème... :evil: ). :(

J'ai peut-être l'explication... enfin le constat plutôt parce que je n'arrive pas à trouver d'explication sur cette différence de comportement entre compilation sous 32 et 64 bits:
http://www.viva64.com/en/a/0008/#ID0EGEEO (voir "Overriding virtual functions" à la fin)

Donc soit quelqu'un connaît une astuce, genre une option à passer au compilateur ou un truc propre et simple à appliquer dans ce cas pour résoudre ça, soit ça veut dire qu'il faut renommer les fonctions impossibles à surcharger (simple dans un premier temps... mais bien chiant puisqu'il faudra voir où elles sont appelées pour bien appeler la nouvelle fonction... :evil: ).
Je sais bien qu'on touche à des subtilités du c++ là ( :troll: et que tout le monde code ça comme des porcs :mrgreen: :troll: ), mais ça me paraît bizarre qu'il n'y ait guère de documentation sur ce type de problème. :?



EDIT: je vais voir ça ce week-end... mais j'ai semble-t-il trouvé le moyen de passer outre et de faire un petit patch supplémentaire pour ça sans éplucher tout le code... en tous cas, j'ai passé cette première erreur -- et bien sûr d'autres viennent derrière du même type que j'arrive à résoudre de même... (to be continued ? :marche: )



EDIT2: ... je suis sur un autre type d'erreur maintenant (tant que je ne suis pas sûr, je ne mets pas le patch en cours... si quelqu'un veut y jeter un oeil je lui communique par MP)... le hic c'est que je ne sais absolument pas ce qui coince puisque là encore ce code passait très bien sous x86_64... il faut que je regarde en détail mais je crains que ça soit un effet de bord de la manière dont j'ai résolu l'erreur précédente... :evil: Je mets la trace à tout hasard si ça inspire quelqu'un:

Code : Tout sélectionner

c++ -o nsDOMWorker.o -c -I../../../dist/include/system_wrappers -include ../../../config/gcc_hidden.h -DMOZILLA_INTERNAL_API -DMOZ_SUNBIRD=1 -DOSTYPE=\"Linux3.3\" -DOSARCH=Linux -I../../../dom/src/base -I../../../dom/src/json -I../../../content/base/src -I../../../content/events/src  -I. -I. -I../../../dist/include/caps -I../../../dist/include/content -I../../../dist/include/docshell -I../../../dist/include/gfx -I../../../dist/include/js -I../../../dist/include/layout -I../../../dist/include/locale -I../../../dist/include/necko -I../../../dist/include/plugin -I../../../dist/include/pref -I../../../dist/include/string -I../../../dist/include/thebes -I../../../dist/include/uconv -I../../../dist/include/widget -I../../../dist/include/xpcom -I../../../dist/include/xpconnect -I../../../dist/include   -I../../../dist/include/dom -I/usr/include/nspr    -I/home/ylange/abs/sunbird-hg/src/test/mozilla/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 -pedantic -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fpermissive -fno-strict-aliasing -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -Os -freorder-blocks -fno-reorder-functions    -DMOZILLA_CLIENT -include ../../../mozilla-config.h -Wp,-MD,.deps/nsDOMWorker.pp nsDOMWorker.cpp
nsDOMWorker.cpp: In member function ‘virtual nsrefcnt nsDOMWorkerScope::Release()’:
nsDOMWorker.cpp:532:1: attention : deleting object of polymorphic class type ‘nsDOMWorkerScope’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
nsDOMWorker.cpp: In member function ‘virtual nsresult nsDOMWorkerScope::AddProperty(nsIXPConnectWrappedNative*, JSContext*, JSObject*, jsval, jsval*, PRBool*)’:
nsDOMWorker.cpp:608:33: erreur: cannot convert ‘nsresult (nsDOMWorkerScope::*)(nsIDOMEventListener*) {aka unsigned int (nsDOMWorkerScope::*)(nsIDOMEventListener*)}’ to ‘nsDOMWorkerScope::SetListenerFunc {aka unsigned int (nsDOMWorkerScope::*)(nsIDOMEventListener*)}’ in assignment
nsDOMWorker.cpp:611:33: erreur: cannot convert ‘nsresult (nsDOMWorkerScope::*)(nsIDOMEventListener*) {aka unsigned int (nsDOMWorkerScope::*)(nsIDOMEventListener*)}’ to ‘nsDOMWorkerScope::SetListenerFunc {aka unsigned int (nsDOMWorkerScope::*)(nsIDOMEventListener*)}’ in assignment
nsDOMWorker.cpp: In member function ‘virtual nsrefcnt nsDOMWorker::Release()’:
nsDOMWorker.cpp:1035:1: attention : deleting object of polymorphic class type ‘nsDOMWorker’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
make[7]: *** [nsDOMWorker.o] Erreur 1
make[7] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/mozilla/dom/src/threads »
make[6]: *** [libs] Erreur 2
make[6] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/mozilla/dom/src »
make[5]: *** [libs] Erreur 2
make[5] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/mozilla/dom »
make[4]: *** [libs_tier_gecko] Erreur 2
make[4] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/mozilla »
make[3]: *** [tier_gecko] Erreur 2
make[3] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/mozilla »
make[2]: *** [default] Erreur 2
make[2] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test/mozilla »
make[1]: *** [default] Erreur 2
make[1] : on quitte le répertoire « /home/ylange/abs/sunbird-hg/src/test »
make: *** [build] Erreur 2
Et je ne pige pas du tout puisqu'il me dit qu'il ne peut pas convertir un unsigned int (nsDOMWorkerScope::*)(nsIDOMEventListener*) en un... :shock: unsigned int (nsDOMWorkerScope::*)(nsIDOMEventListener*)... :?
(au cas où, j'ai essayé avec ou sans -fpermissive, ça ne change rien)
Dernière modification par FoolEcho le dim. 03 juin 2012, 11:06, modifié 7 fois.
Raison : de charybde en scylla ?
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Re: [Création] sunbird 1.0 beta

Message par mélodie »

Pour ma part, j'utilise la version que tu as faite sous le nom de beta... et j'attends la suite et les conclusions de ce fil tranquillement, en complétant mon agenda un peu chaque jour, ce dont je te remercie bien !
Répondre