问题
Recently I installed Git (Using Bit bucket for repository). I configured everything according to different guides I found on the net, but whenever I use the command git push -u origin --all I get the following error:
The procedure entry point curl_multi_timeout could not be located in the dynamic link library libcurl.dll
回答1:
It looks like it's an OpenOffice conflict from their libcurl. From my understanding, Openoffice put an old libcurl.dll in the system directory.
Try to remove libcurl.dll from C:\Windows\sysWOW64 and/or C:\Windows\System32 (Reinstalling Git or uninstalling OpenOffice doesn't seem to fix the problem).
回答2:
- Go to the folder where Git is installed (defalut:
C:\Program Files\Git). - Copy the file
"libcurl.dll"in Git installation folder (C:\Program Files\Git\bin\libcurl.dll). - Paste it in location where the git.exe exists (
C:\Program Files\Git\libexec\git-core).
This should fix the issue, since now it will check for the lib in current executing folder before falling back to systems folder.
回答3:
As a side note for anyone using pre-built libcurl in their projects: this can be caused because you have libcurl.dll in the root of the folder you are trying to push. Windows will load the library in your project folder before the one with Git first.
The solution is simple -- remove or move libcurl.dll in your project.
回答4:
This is the same thing with the windows application installed in your local appdata directory.
To copy the file from :
C:\Users\YOUR-WINDOWS-COUNT\AppData\Local\GitHub\PortableGit_xxxx-A-BIG-NUMBER-XXXXXXXXXXXXX\libexec\git-core\bin\libcurl.dll
to the directory:
C:\Users\YOUR-WINDOWS-COUNT\AppData\Local\GitHub\PortableGit_xxxx-A-BIG-NUMBER-XXXXXXXXXXXXX\libexec\git-core
seems to work.
回答5:
Follow these steps (this worked for my 64 bit win7):
a) Copy libcurl.dll from C:\Windows\sysWOW64\libcurl.dll
to some temporary location.
b) Remove libcurl.dll from C:\Windows\sysWOW64\libcurl.dll
c) Try cloning repository from Git Windows App.
Enjoy! :)
回答6:
- Remove libcurl.dll from C:\Windows
- After that it worked
回答7:
I was setting things up for http access. I was getting a similar error (libcurl-4.dll is missing) on the client. The fix turned out to be that some of the housekeeping files deep in the repository tree on the server were owned by 'root' rather than 'apache'. Correcting that corrected the missing curl error on the client.
回答8:
For me (64 bit Windows7), uninstalling GIT and reinstalling it was the only solution that worked.
来源:https://stackoverflow.com/questions/17694502/libcurl-dll-error-with-git-push