web-dev-qa-db-fra.com

Git pour Windows - Le programme ne peut pas démarrer car libiconv2.dll est manquant.

Lorsque j'essaie d'exécuter certaines commandes (comme git Push, par exemple) à partir d'un git Bash sous Windows 7 (64 bits), le message d'erreur suivant s'affiche:

The program can't start because libiconv2.dll is missing from your computer

J'ai cherché de manière exhaustive une solution à ce problème.
Le plus que je puisse trouver est un fil conducteur sur le site de codes de Google ( numéro 419 ) et quelques autres blogs ici et là. Autant que je sache, aucune des suggestions proposées dans les messages ne résoudra réellement mon problème.

J'ai essayé de ré-installer. J'ai essayé d'ajouter $GIT/bin à la PATH.
Je peux vérifier que la dll se trouve dans le répertoire $GIT/bin ... mais je ne parviens toujours pas à pousser à distance.

J'ai une installation de msysgit qui fonctionne sur un autre ordinateur Windows 7, et j'ai installé de la même manière dans les deux situations ... inutile donc de dire que je suis assez confus.

Toute aide à ce sujet serait très appréciée.

Merci,

93
user413945

J'ai résolu ceci ... il y a quelques points à noter ici.

1) Le problème était une faute de frappe dans mon origine configurée dans mon fichier .git/config local ... Donc, je suis un idiot.

2) Git Bash n'échoue pas normalement dans cette situation, puis renvoie cette erreur très trompeuse sous forme d'alerte, plutôt que de signaler l'absence d'origine configurée du nom spécifié dans le fichier .git/config.

La seule façon pour moi de comprendre cela consistait à ajouter le répertoire $ GitPath/cmdto mon chemin et à exécuter git à partir de la ligne de commande. Là, j'ai pu obtenir un message d'erreur détaillé indiquant que le référentiel distant n'existait pas encore. Ensuite, j'ai relevé le fidèle éditeur vi et j'ai vu qu'il y avait effectivement une faute de frappe.

La leçon ici. Si vous obtenez une erreur .dll bizarre avec msysgit, il est très probable qu'elle résulte d'une mauvaise configuration ... plutôt que d'une anomalie système ou d'un problème d'installation.

Merci à tous ceux qui ont essayé d'aider avec ça!

15
user413945

Contourner ce fil: http://groups.google.com/forum/#!topic/msysgit/twrVn_EbNI4

  • cd dans votre répertoire d'installation git
  • copy mingw\bin\libiconv-2.dll libexec\git-core
    (ou copy bin\libiconv-2.dll libexec\git-core si votre installation ne contient pas de dossier mingw)

Dans le fil de discussion lié, Drew demande de l'aide. Par conséquent, si vous pensez pouvoir aider à résoudre le problème, vous pouvez répondre dans le fil de discussion Google Groupes.

Une erreur survient avec ces versions:

  • msysgit-fullinstall-1.7.4 OR 1.7.6 (et 1.7.7)
  • msysgit-netinstall-1.7.4 OR 1.7.6 (et 1.7.7)
  • Git For Windows 1.7.6 (mais not 1.7.4)
104
paulecoyote
  • copier/Program Files/Git/bin/libiconv-2.dll 
  • dans/Program Files/Git/libexec/git-core /
41
sqzaman

J'ai vu cette erreur avec msysGit-fullinstall-1.7.3.1-preview20101002.exe sur Win 7. 

Added <msysgit_dir>\mingw\bin to PATH 

fix it . libiconv2.dll a été trouvé dans ce répertoire. 

14
so_mv

Eu ce problème dans SmartGit sur mac . Résolu en changeant Préférences -> Commandes -> Exécutable

Exécutable Git:

de

/usr/bin/git

à:

/usr/local/git/bin/git
9
Cooler

Variation de la réponse de sqzaman, car je n'avais pas les dossiers au même endroit:

Copy
%USERPROFILE%\Local Settings\Application Data\GitHub\PortableGit_*\bin\*.dll
to
%USERPROFILE%\Local Settings\Application Data\GitHub\PortableGit_*\libexec\git-core

Notez que j’ai commencé par copier libiconv-2.dll, mais qu’il s’est plaint de libcurl.dll, j’ai donc copié * .dll.

3
wytten

Comme SmartGit fait référence à cette page de stackoverflow en résultat d'erreur, je pense que cette connaissance pourrait être utile à quelqu'un ici .... 

Parfois bien qu’il n’y ait pas de problème avec l’installation de git. Même si vous pouvez utiliser git bash et obtenir des informations sur la version en tapant 

git -- version 

SmartGit n'ajoute pas de référentiel et renvoie git obsolote ou les informations de version ne peuvent pas être récupérées (ou similaire à ce message) ... 

Si tel est le cas, vous devriez d'abord vérifier les paramètres de vos utilitaires de sécurité et de vos applications de suppression des virus. Dans ma situation, la désactivation de Comodo Firewall permet à smartgit de consulter les informations d'installation et de version de Git. 

3
Erdinç Çorbacı

Pour résoudre ce problème, je devais en fait copier toutes les DLL de mingw/bin/ dans bin/ (sans écraser les existantes). J'utilise des référentiels HTTP à distance et cela ne fait que se plaindre.

2
Kingen

Ma réponse résout la même erreur pour msysgit, mais peut aider avec git pur.

Sur Windows 7, j'ai ajouté <msysgit_dir>\mingw\bin à PATHcomme so_mv l'a recommandé ci-dessus (via l'interface graphique des variables système), mais je devais déconnecter et me connecter au système d'exploitation après cela, sinon la valeur PATH gagnait Ne pas être mis à jour.

2
sompylasar

Je viens d'essayer d'installer SmartGIT sur Windows et de faire face au même problème. Je viens de comprendre que cela fonctionne pas en le pointant sur git.exe, mais plutôt en C:\msysgit\cmd\git.cmd. Jusqu'à présent, cela fonctionne très bien. Je peux accéder au référentiel git sous msysgit.

Pour votre information, j'utilise l'installateur Net pour Windows.

En espérant que c'est la bonne approche.

2
Wendy Novianto

Le moyen le plus rapide de résoudre ce problème est de localiser le fichier * .dll sur l’autre ordinateur et de le copier =)

2
KristofMols

J'avais la même erreur sous Windows 7 lors de l'exécution de\msysgit\bin\git.exe . Je l'ai corrigé en copiant le fichier\msysgit\mingw\bin\libiconv-2.dll à la racine du répertoire d'installation de Windows 7.

1
Boris Jockov

Une solution possible pour SourceTree:

   1.Open the "Option" window.
   2.Select "Git".
   3.Than "Use System Git".
   4.And press OK button.
1
Flayn

J'ai msysgit sur Windows7 sans aucun problème avec aucune DLL.

J'ai libiconv2.dll dans le répertoire bin: C:\Path\To\Git\1.7.1\bin

Le numéro 419 concernait quelqu'un qui avait installé "l'environnement de développement pour compiler Git pour Windows", pas seulement Git.
Voir ceci SO pour connaître la différence entre les deux .

Alors lequel avez-vous installé?

  • Git-1.x.x.x...? (comme 'Git-1.7.0.2-preview20100309.exe'),
  • ou msysGit-netinstall-1.x.x...? (comme 'msysGit-netinstall-1.7.1-preview20100612.exe').
1
VonC

J'ai installé Git pour Windows, puis Git afin de copier le fichier .dll

Cela n'a pas fonctionné pour moi. Pour résoudre le problème, je devais ajouter le chemin:

C:\Users\*username*\AppData\Local\GitHub\PortableGit_015aa71ef18c047ce8509ffb2f9e4bb0e3e73f13\cmd

à la variable d'environnement PATH.

Ceci clarifie le problème et je peux maintenant accéder à git à partir de la commande Invite.

1
Sebastien V.

Personnellement, je l'ai résolu en lisant l'erreur de getopt.exe, qui me disait qu'il manquait "libiconv2.dll" .. J'avais libiconv-2.dll (remarquez le tiret "-") dans C:\Program Files ( x86)\Git\bin. Faire une copie et la nommer libiconv2.dll a fait l'affaire pour moi ... 

J'ai utilisé des paquets chocolatés ... peut-être que le fichier lui-même a été renommé pendant sa durée de vie en développement ... et que les dépendances dans les paquets ne l'ont pas ... 

J'espère que ça aidera quelqu'un là-bas :) 

1
Maurice CGP Peters

Si l'erreur "libiconv-2.dll manquante" se produit lors du démarrage de SourceTree sous Windows, la procédure suivante a fonctionné pour moi (Win 8.1):

aller à

C:\Users\$USERNAME$\AppData\Local\Atlassian\SourceTree\git_local\bin

copie

libcrypto.dll
libcurl.dll
libiconv-2.dll
libssl.dll

à

C:\Users\$USERNAME$\AppData\Local\Atlassian\SourceTree\git_local\libexec\git-core
1
felix

J'utilisais GitHub Desktop Version et ayant le même problème, j'ai changé le shell par défaut en paramétrant -> Options ---> le shell par défaut et en vérifiant Git bash. J'ai commencé "Open Git Shell" et lancez la commande "git pull", le problème a été corrigé. Cela a fonctionné dans mon cas.

0
Mundroid

J'ai eu le même problème, j'utilise Windows 10 et il est très facile de résoudre ce problème.

Téléchargez le fichier dll à partir de:

https://www.dll-files.com/libiconv-2.dll.html

extrayez-le ou collez-le directement dans le dossier mingw, c’est généralement dans le lecteur C si vous l’avez installé avec les options par défaut. J'espère que ça aide.

0
Samriddhi Verma

Essayez la commande suivante: 

Sudo rm -rf /Library/Developer/CommandLineTools 

et installer des outils de développement

0
Samolazov Roman

À l’origine, j’essayais de résoudre ce problème en copiant la DLL mentionnée ici, mais j’ai vite rencontré d’autres problèmes. Pour moi, la vraie solution consistait à définir le chemin d'accès dans mon fichier .bashrc pour que msys hiérarchise les fichiers binaires msys.

Ouvrez le msys Shell et la ligne suivante dans ~/.bashrc:

export PATH =/usr/local/bin:/mingw/bin:/bin: $ PATH

0
Judah Menter

J'ai eu ce problème, pour corriger ce problème, j'ai désinstallé tortoisegit et msysgit, puis j'ai réinstallé "Git-1.8.1.2-preview20130201".

en faisant cela, cela corrigeait mon problème et je ne pouvais pas utiliser poshgit.

0
AdamWhite

Dans mon cas, j'ai utilisé chocolatey (chocolatey.org) pour installer git.

J'ai dû copier libconv-2.dll dans C:\ProgramData\chocolatey\bin pour le faire fonctionner. Je ne sais pas si copier le fichier dans C:\Program Files (x86)\Git\libexec\git-core est également nécessaire, comme je l'ai fait en premier.

0
Luke Chavers

Copiez tous les fichiers .dll de:

C:\Utilisateurs\VOTRENOM\AppData\Local\GitHub\PortableGit_25d850739bc178b2eb13c3e2a9faafea2f9143c0\mingw32\bin

à:

C:\Utilisateurs\VOTRENOM\AppData\Local\GitHub\PortableGit_25d850739bc178b2eb13c3e2a9faafea2f9143c0\mingw32\libexec\git-core

0
Chris Halcrow