Skip to content

Problème connexion Google Play

3 janvier 2013

J’ai un Huawei Boulder U8350.

Dès la réception, je ne peux pas me connecter à Androïd Market. Et j’obtiens l’erreur suivante : Erreur serveur Réessayez.

Le problème est beaucoup reporté sur le net, mais souvent les réponses concernent justes vider le cache de l’application Androïd Market ou du Framework Google. Et ça ne suffit pas.

Si j’ai bien compris le problème, il s’agit d’un problème de langue lors de la première connexion. Il faut la faire en anglais. Pour ma part, j’ai procédé comme suit :

  1. Enlever la carte sim, puis redémarrer le portable.
  2. Il faut réinitialiser sont portable au valeur dite usine : paramètre / confidentialité/ rétablir paramètres par défaut
  3. Aller dans paramètre de langue puis mettre en anglais.
  4. Aller dans gmail pour rentrer ton compte gmail (nom d’utilisateur puis mot de passe)
  5. Se connecter à Androïd Market, il met Google Play à jour.
  6. Remettre carte sim et redémarrer le portable
  7. Quitter et remettre le portable en français.

J’espère que ça vous aidera.

 

Utiliser C++11 avec Code::Blocks sur windows

14 novembre 2012

Si vous installez Code::Blocks et gardez le MinGW par défaut, il ne vous sera pas possible de compiler avec le standard C++11 (g++ -std=c++11). Ce standard peut être utile car GCC est désormais doté de std::thread et std::chrono, permettant de réaliser de simples threads pour l’utilisation des multi-coeurs et d’utiliser chrono qui implémente des mesures du temp et des temps d’attente de manière très simple.

Il ne vous sera pas possible non plus de compiler des programmes utilisant OpenMP. Mais j’avais déjà décrit ce problème dans un de mes billets précédents.

Il va falloir changer l’installation de mingw dans Code::Blocks. Pour cela, il faut récupérer le dernier MinGW sur SourceForge :

http://sourceforge.net/projects/mingwbuilds/

Il suffit de décompresser l’archive obtenue et de déplacer le répertoire MinGW contenu là où vous avez installé Code::Blocks (C:\Program Files (x86)\CodeBlocks par défaut).
Ensuite, on lance Code::Blocks et il faut adapter les paramètres du compilateur, comme sur l’image ci-dessous (Settings -> Compiler & Debugger, onglet Toolchain Executables).

Paramètres Toolchains

Paramètres dans Toolchains

Vous pouvez désormais compiler en ajoutant -std=c++11 (ou -fopenmp) en paramètre de compilation et -lpthread pour les liaison (linkage options).

 

Effacer les donneées d’un disque dur

29 octobre 2012

Un lien utile pour effacer ses données sur un disque dur, en utilisant dd ou shred.
http://www.tux-planet.fr/effacer-completement-un-disque-dur-en-ligne-de-commande/

Une autre commande utile peut être wipe, non décrite dans l’article.
Ceci est utile quand une carte SD d’un appareil photo plante. On récupère avec photo_rec (j’ai un article dessus). Je reformate avec gparted, puis efface toutes les données dessus.
Si jamais, le volume replante dans l’appareil photo, ça évite de ré-extraire des photos très vieilles avec photo_rec et de devoir trier trop de photos.

Au passage, photo_rec est toujours aussi efficace.

Un dépôt local pour Miktex

5 octobre 2012

Miktex est une version de Latex pour Windows (http://miktex.org). Il existe même un version portable.

Il est possible de le coupler avec un éditeur dédié, comme Texcenter ou Texmaker. Lors de l’utilisation de package dans latex \usepackage{}, il faut parfois en installer de nouveaux. Par défaut Miktex va essayer d’atteindre un dépôt sur le net. Cependant, cela n’est pas toujours possible.

Il est possible pour palier à ce problème de construire un dépôt local.

Pour cela, il faut aller récupérer les paquets sur les dépôts officiels (la liste des dépôts http://miktex.org/pkg/repositories) et placer ceux voulus dans un répertoire. Pour ma part, j’ai pris le paquet : mptopdf.tar.lzma. Et je l’ai placé dans le répertoire miktex_repo.

Afin que ce dépôt soit reconnu en tant que tel par Miktex , il faut placer deux autres paquets :

  • miktex-zzdb2-X.X.tar.lzma
  • miktex-zzdb1-X.X.tar.lzma

Où X.X indique votre version de Miktex (2.9 pour moi).

Lors de la compilation de votre fichier Tex, Miktex va automatiquement vous demander de télécharger les nouveaux paquets. Il faut alors lui indiquer que vous voulez utiliser un dépôt local et où il se situe.

 

Compiler Boost sous Windows et essai avec CodeBlocks

28 juin 2012

Le but de cet article est de présenter l’installation de la librairie boost en version compilée (pour utiliser boost thread, par exemple) sous windowspour l’utiliser avec Code::Blocks.

On commence par récupérer la dernière version stable (1.49.0 aujourd’hui) à cette adresse : http://www.boost.org/users/download/.

On décompresse l’archive à la racine de C:\boost dans notre exemple. Comme j’utlise Code::Blocks (MinGW), il faut compiler avec ce compilateur qui n’est pas officiellement supporté par Boost.

 

Installation

Il faut que dans la variable d’environnement PATH soit ajouté le chemin vers mingw/bin, par exemple : C:\Program files\codeblocks\mingw\bin, par défaut avec Code::Blocks. Ici la version de GCC est la gcc-mingw-4.5.2.

Ouvrez une fenêtre cmd (Démarrer->Exécuter, tapez cmd). allez dans C:\boost\tools\buid\v2

Exécutez bootstrap.bat, le log doit donner quelque chose de ressemblant à ça :


###
### Using 'mingw' toolset.
###

C:\boost\tools\build\v2\engine>if exist bootstrap rd /S /Q bootstrap

C:\boost\tools\build\v2\engine>md bootstrap

C:\boost\tools\build\v2\engine>gcc -DNT -o bootstrap\jam0.exe  command.c compile.c debug.c execnt.c expand.c filent.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c newstr.c option.c output.c parse.c pathunix.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c md5.c pwd.c class.c w32_getreg.c native.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c

C:\boost\tools\build\v2\engine>.\bootstrap\jam0 -f build.jam --toolset=mingw "--toolset-root=C:\MinGW\ " clean
...found 1 target...
...updating 1 target...
...updated 1 target...

C:\boost\tools\build\v2\engine>.\bootstrap\jam0 -f build.jam --toolset=mingw "--toolset-root=C:\MinGW\ " 
...found 49 targets...
...updating 3 targets...
[MKDIR] bin.ntx86
[COMPILE] bin.ntx86\b2.exe
[COPY] bin.ntx86\bjam.exe
...updated 3 targets...

Enuite, on exécute:

b2 –prefix= »C:\boost » toolset=gcc install

On retourne dans C:\boost et lance :

bin\bjam.exe stage –build-type=complete –build-dir= »C:\boost\build »  –toolset=gcc –stage-dir= »C:\boost » –without-mpi –without-python

bin\b2.exe –prefix-dir= »C:\boost » toolset=gcc

Cette étape est assez longue. On peut vérifiez que les librairies (*.a) sont dans C:\boost\stage\lib. Puis :

bin\b2.exe –prefix-dir= »C:\boost » toolset=gcc install

C’est long aussi.

 

Vérification de l’installation

On choisit un programme exemple donné avec Boost et on va le compiler avec Code::Blocks.

Le programme est un classique hello.cpp:


// Copyright (C) 2001-2003
// William E. Kempf
//
//  Distributed under the Boost Software License, Version 1.0. (See accompanying
//  file LICENSE_1_0.txt or copy at <a href=(<a href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>;<a href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)>

#include <boost/thread/thread.hpp>
#include <iostream>

void helloworld()
{
    std::cout << "Hello World" << std::endl;
}

int main()
{
    boost::thread thrd(&amp;helloworld);
    thrd.join();

return 1;

}

Afin de le faire fonctionner ajouter avant l’inclusion de <boost/thread/thread.hpp>:

#ifdef WIN32
#define BOOST_THREAD_USE_LIB
#endif

Dans Project -> Build Options, sous l’onglet Compiler settings et sous-onglet Oher options, mettre :
-fexceptions
-I C:\boost
-lboost

Image pour Compiler settings

Compiler settings

Puis dans l’onglet Linker Settings, mettre :

-L C:\boost\lib
-lboost_thread-mgw45-mt-1_49

Le nom de l’inclusion lboost_thread peut changer selon la version de votre compilateur. Pour cela vérifiez la librairie dans C:\boost\lib (ici libboost_thread-mgw45-mt-1_49.a).

Image Linker Settings

Linker Settings

 Votre code doit compiler sans erreurs ni warning.

 

EDIT :

J’ai trouvé un bon tutoriel pour débuter avec les threads et les mutexs sous Boost (c’est en anglais):

http://www.drdobbs.com/cpp/the-boostthreads-library/184401518?pgno=1

Si vous en avez d’autres, n’hésitez pas à les donner dans les commentaires.

Texmaker, Doxygen et Ubuntu

24 mai 2012

Si vous générez des documentations en latex avec Doxygen pour commenter du code et si vous voulez compiler avec Texmaker (mais probablement aussi avec pdflatex en ligne de commande), vous obtenez probablement des erreurs du type :

Font U/bbold/m/n/8=bbold8 at 8.0pt not loadable: Metric (TFM) file not found.

Et la compilation du document est très longue avant de planter.

Il faut charger le paquet texlive-math-extra et tout rentre dans l’ordre.

Faire connaître une extension à Gedit pour la coloration syntaxique

29 novembre 2011

Suite au développement d’un nouveau langage, j’ai créé la coloration syntaxique associée. Je la charge dans le répertoire contenant les .lang de gedit (/usr/share/gtksourceview-X.Y/language-specs/) et si je demande à gedit de les colorer fichier par fichier, ça marche. Mais à chaque réouverture de fichier, je suis obligé de déclarer le type de coloration voulue.

On trouve de nombreux tutoriels pour la création de coloration pour Gedit (http://doc.ubuntu-fr.org/creer_un_jeu_de_couleurs_pour_gedit par exemple). Mais pas grand chose sur la reconnaissance des extensions. Je vais ici faire fonctionner la reconnaissance pour un utilisateur unique.

Je vais juste montrer la ligne indiquant le nom associé à l’extension dans les fichiers .lang :
<language _name="Xxx tongue" mimetypes="text/x-xxx">

Ici, le nom du langage est x-xxx. Il va falloir ensuite indiquer un mime type pour que les extensions .xxx comme étant des fichiers x-xxx.

Pour cela, on crée un fichier xxx.xml comme suit :

<?xml version="1.0" encoding="utf-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="text/x-xxx">
    <comment>xxx file</comment>
    <glob pattern="*.xxx"/>
    <acronym>XXX</acronym>
    <expanded-acronym>XXX File</expanded-acronym>
  </mime-type>
<mime-info>

Dans le glob pattern on donne les extensions associées au type : *.xxx ici.
Ce fichier est placé dans ~/.local/share/mime/packages/.

Puis on effectue les commandes suivantes :

#!/bin/bash

cd ~/.local/share
update-mime-database mime/

Ici on affecte que les variables de l’utilisateur (dans le ~/.local). Afin de vérifier que l’extension est bien reconnue, on lance la commande suivante sur un fichier ayant la bonne extension :

#!/bin/bash

touch ~/a.xxx<code>
gnomevfs-info ~/a.xxx
rm ~/a.xxx

Le résultat de la commande donne dans la rubrique MIME-TYPE :text/x-xxx.

Ensuite, en ouvrant les fichiers avec la bonne extension avec Gedit, nous avons la bonne coloration syntaxique.