Skip to content

Foire aux questions - PRONOTE
Comment résoudre les problèmes connus avec Wine ? (réservé aux administrateurs Linux)

  • Comment résoudre les problèmes connus avec Wine ? (réservé aux administrateurs Linux)
    Deux anomalies de Wine peuvent poser problème pour les applications Index Education tournant sous Linux ou Mac OS X.

    Anomalie n°1
    Symptôme : passage au mode Exclusif refusé ou disparition de certaines données.
    Cause : la fonction de comparaison de chaînes CompareString ignore les accents quel que soit le mode de comparaison (sous Windows les accents ne sont ignorés que si le mode de comparaison NORM_IGNORENONSPACE est spécifié).
    Lien : https://bugs.winehq.org/show_bug.cgi?id=10767

    Anomalie n°2
    Symptôme : échec des mises à jour.
    Cause : la fonction CreateWindowEx échoue quand elle est appelée depuis un service Windows.
    Lien : https://www.winehq.org/pipermail/wine-devel/2015-August/108796.html

    Solution pour les utilisateurs Mac OS
    Vous pouvez télécharger un pack Client PRONOTE + Wine (version corrigée) sur la page de téléchargement des applications PRONOTE.


    Solution pour les utilisateurs Linux (réservé aux administrateurs Linux)
    Voici une procédure vous permettant de recompiler Wine avec un code source corrigé. Cette procédure a été validée sur Ubuntu 16.04 LTS.

    Attention : cette version de Wine ne pourra plus être mise à jour automatiquement. Pour la mettre à jour vous devrez télécharger le nouveau code source, appliquer les correctifs et tout compiler à nouveau.

    Il vous faut un mot de passe administrateur pour les commandes sudo.

    Commencez par créer un dossier wine-1.8.4 qui va contenir le code source de Wine et tout ce qu’il faut pour la compilation. La suite de la procédure s’effectue en ligne de commande depuis une fenêtre Terminal dans ce dossier.

    Désinstallation des anciennes versions de Wine installées
    sudo apt-get remove wine wine1.8

    Récupération du code source de Wine
    wget https://dl.winehq.org/wine/source/1.8/wine-1.8.4.tar.bz2

    Récupération des correctifs
    wget http://www.index-education.com/contenu/telechargement/correctifs/Wine1.8_CompareString.patch
    wget http://www.index-education.com/contenu/telechargement/correctifs/Wine1.8_CreateWindowEx.patch


    Pour information, le fichier Wine1.8_CompareString.patch est une adaptation de celui-ci https://www.winehq.org/pipermail/wine-patches/2012-July/116238.html et le fichier Wine1.8_CreateWindowEx.patch est le contournement suggéré ici https://www.winehq.org/pipermail/wine-devel/2015-August/108796.html.

    Extraction du code source et préparation des dossiers
    bunzip2 wine-1.8.4.tar.bz2
    tar -xf wine-1.8.4.tar
    mv wine-1.8.4/ wine-source
    mkdir wine32-build
    mkdir wine64-build
    cd wine-source/


    Application des correctifs
    patch -p1 < ../Wine1.8_CompareString.patch
    patch -p1 < ../Wine1.8_CreateWindowEx.patch


    Préparation de la compilation 64 bits
    cd ../wine64-build/
    ../wine-source/configure --enable-win64


    À savoir :
    - si l'opération s’arrête (arrêt à chaque module manquant)
    ../wine-source/configure --enable-win64 et corriger en boucle tant que cela échoue. Par exemple s’il manque le module flex : sudo apt-get install flex.
    - si vous rencontrez cet avertissement X development files not found. Wine will be built without X support, which probably isn't what you want. You will need to install development packages of Xlib/Xfree86 at the very least. Use the --without-x option if you really want this.,
    sudo apt-get install libx11-dev libfreetype6-dev.
    - si vous avez des avertissements sur libxml2 64-bit, libxslt, etc.
    sudo apt-get install libxml2-dev libxslt-dev libgnutls-dev libjpeg-dev libldap2-dev.

    Compilation de Wine 64 bits
    make

    Installation de Wine 64 bits
    sudo make install

    Après cela il faut recommencer avec Wine 32 bits
    cd ../wine32-build/
    ../wine-source/configure --with-wine64=../wine64-build


    Là aussi vous devez appeler cette dernière ligne et corriger en boucle tant que cela échoue.
    - si vous rencontrez l'erreur Cannot build a 32-bit program, you need to install 32-bit development libraries.
    sudo apt-get install gcc-multilib g++-multilib
    - si vous rencontrez l'avertissement X 32-bit development files not found. Wine will be built without X support, which probably isn't what you want. You will need to install 32-bit development packages of Xlib/Xfree86 at the very least. Use the --without-x option if you really want this.
    sudo apt-get install libx11-dev:i386 libfreetype6-dev:i386

    Dans le cas où ces paquets sont introuvables
    sudo dpkg --add-architecture i386
    sudo apt-get update
    sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 libx11-dev:i386 libfreetype6-dev:i386

    Comme en 64 bits si vous avez des avertissements sur entre autres libxml2, il vous faut exécuter ceci :
    sudo apt-get install libxml2-dev:i386 libxslt-dev:i386 libgnutls-dev:i386 libjpeg-dev:i386 libldap2-dev:i386

    Compilation de Wine 32 bits
    make

    Installation de Wine 32 bits
    sudo make install

    Une fermeture et réouverture de la fenêtre Terminal peut être nécessaire pour prendre en compte le PATH modifié.
    Ensuite, toujours depuis une fenêtre Terminal, lancez winecfg. Cela finit de configurer la nouvelle installation.
    Wine est maintenant prêt. Vous pouvez lancer un exécutable Windows avec la commande wine nomdelexecutable.exe que cet exécutable soit 32 bits ou 64 bits.