Drew Day
2011-07-09 18:24:48 UTC
I'm having a bug involving msysgit and libiconv-2.dll.
I have a proposed workaround, but I don't know why the workaround is
needed (or if other workarounds like it are needed).
Here are the steps I can reproduce the error with:
- Install msysgit-fullinstall-1.7.4 OR 1.7.6
- Install msysgit-netinstall-1.7.4 OR 1.7.6
- Install Git For Windows 1.7.6 (but ***not*** 1.7.4)
1. launch msys.bat OR "Git Bash"
2. cd /tmp
3. git clone https://github.com/technogeeky/.vim
4. cd .vim
5. git submodule update --init -- bundle/gitv
Any submodule will do, and it's not a syntax error in .config, as
another repository:
https://github.com/d-rive/dotfiles-vim
has this same problem.
6. Get several error windows:
* title: git-sh-i18n-envsubst.exe - System Error
* content: "The program can't start because libiconv-2.dll is missing
from your computer. Try reinstalling the program to fix this problem."
7.
However, in all cases, libiconv-2.dll *is* on the path:
In git for windows (or when I put this file there manually on msysgit):
$ which libiconv-2.dll
/bin/libiconv-2.dll
In msysgit, normally, it's:
$ which libiconv-2.dll
/mingw/bin/libiconv-2.dll
-------
Diagnosis:
This appears to be related directly to:
/libexec/git-core/git-submodule
/libexec/git-core/git-sh-i18n
/libexec/git-core/git-sh-i18n--envsubst.exe
Tests:
1. Double clicking on git-sh-i18n-envsubst.exe (in Windows) results in
the same error message, instantly.
2. Double clicking on /mingw/bin/envsubst.exe (in Windows) does not.
Workaround:
* copy /mingw/bin/libiconv-2.dll
* to /libexec/git-core
Test to demonstrate workaround:
1. *WITH* /libexec/git-core/libiconv-2.dll:
$ git submodule update --init -- bundle/vim-repeat
Submodule 'bundle/vim-repeat' (git://github.com/tpope/vim-repeat.git) registered
for path 'bundle/vim-repeat'
Cloning into bundle/vim-repeat...
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 5 (delta 0), reused 5 (delta 0)
Receiving objects: 100% (5/5), done.
Submodule path 'bundle/vim-repeat': checked out 'c4101c205ef9e06bdfeff571a7dbba2
576f08974'
2. *WITHOUT* /libexec/git-core/libiconv-2.dll:
$ git submodule update --init -- bundle/vim-tabular
* error window
Cloning into bundle/vim-tabular...
remote: Counting objects: 14, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 14 (delta 0), reused 0 (delta 0)Receiving objects: 35% (5/14)
Receiving objects: 100% (14/14), 11.59 KiB, done.
*error window
*error window
$
Please let me know how I can help understand and resolve this issue.
I have a proposed workaround, but I don't know why the workaround is
needed (or if other workarounds like it are needed).
Here are the steps I can reproduce the error with:
- Install msysgit-fullinstall-1.7.4 OR 1.7.6
- Install msysgit-netinstall-1.7.4 OR 1.7.6
- Install Git For Windows 1.7.6 (but ***not*** 1.7.4)
1. launch msys.bat OR "Git Bash"
2. cd /tmp
3. git clone https://github.com/technogeeky/.vim
4. cd .vim
5. git submodule update --init -- bundle/gitv
Any submodule will do, and it's not a syntax error in .config, as
another repository:
https://github.com/d-rive/dotfiles-vim
has this same problem.
6. Get several error windows:
* title: git-sh-i18n-envsubst.exe - System Error
* content: "The program can't start because libiconv-2.dll is missing
from your computer. Try reinstalling the program to fix this problem."
7.
However, in all cases, libiconv-2.dll *is* on the path:
In git for windows (or when I put this file there manually on msysgit):
$ which libiconv-2.dll
/bin/libiconv-2.dll
In msysgit, normally, it's:
$ which libiconv-2.dll
/mingw/bin/libiconv-2.dll
-------
Diagnosis:
This appears to be related directly to:
/libexec/git-core/git-submodule
/libexec/git-core/git-sh-i18n
/libexec/git-core/git-sh-i18n--envsubst.exe
Tests:
1. Double clicking on git-sh-i18n-envsubst.exe (in Windows) results in
the same error message, instantly.
2. Double clicking on /mingw/bin/envsubst.exe (in Windows) does not.
Workaround:
* copy /mingw/bin/libiconv-2.dll
* to /libexec/git-core
Test to demonstrate workaround:
1. *WITH* /libexec/git-core/libiconv-2.dll:
$ git submodule update --init -- bundle/vim-repeat
Submodule 'bundle/vim-repeat' (git://github.com/tpope/vim-repeat.git) registered
for path 'bundle/vim-repeat'
Cloning into bundle/vim-repeat...
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 5 (delta 0), reused 5 (delta 0)
Receiving objects: 100% (5/5), done.
Submodule path 'bundle/vim-repeat': checked out 'c4101c205ef9e06bdfeff571a7dbba2
576f08974'
2. *WITHOUT* /libexec/git-core/libiconv-2.dll:
$ git submodule update --init -- bundle/vim-tabular
* error window
Cloning into bundle/vim-tabular...
remote: Counting objects: 14, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 14 (delta 0), reused 0 (delta 0)Receiving objects: 35% (5/14)
Receiving objects: 100% (14/14), 11.59 KiB, done.
*error window
*error window
$
Please let me know how I can help understand and resolve this issue.