Cocoapods: Any pod command fails for lack of libcurl.dll on a Windows machine.

Created on 31 Jul 2020  路  3Comments  路  Source: CocoaPods/CocoaPods

I am not really an "emoji" guy but I got to the "no brown M&Ms" section of the contributing guidelines.

Report

What did you do?

gem install cocoapods
pod --version

What did you expect to happen?

See a version number

What happened instead?

I got an error loading libcurl.dll

Traceback (most recent call last):
        31: from D:/Ruby26-x64/bin/pod:23:in `<main>'
        30: from D:/Ruby26-x64/bin/pod:23:in `load'
        29: from D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/cocoapods-1.9.3/bin/pod:36:in `<top (required)>'
        28: from D:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        27: from D:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        26: from D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods.rb:17:in `<top (required)>'
        25: from D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods.rb:75:in `<module:Pod>'
        24: from D:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        23: from D:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        22: from D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/core_overrides.rb:1:in `<top (required)>'
        21: from D:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        20: from D:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        19: from D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/cocoapods-1.9.3/lib/cocoapods/sources_manager.rb:5:in `<top (required)>'
        18: from D:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        17: from D:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        16: from D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/typhoeus-1.4.0/lib/typhoeus.rb:2:in `<top (required)>'
        15: from D:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        14: from D:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        13: from D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/ethon-0.12.0/lib/ethon.rb:15:in `<top (required)>'
        12: from D:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        11: from D:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        10: from D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/ethon-0.12.0/lib/ethon/curl.rb:8:in `<top (required)>'
         9: from D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/ethon-0.12.0/lib/ethon/curl.rb:13:in `<module:Ethon>'
         8: from D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/ethon-0.12.0/lib/ethon/curl.rb:27:in `<module:Curl>'
         7: from D:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
         6: from D:/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
         5: from D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/settings.rb:1:in `<top (required)>'
         4: from D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/settings.rb:2:in `<module:Ethon>'
         3: from D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/settings.rb:7:in `<module:Curl>'
         2: from D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/ffi-1.13.1-x64-mingw32/lib/ffi/library.rb:99:in `ffi_lib'
         1: from D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/ffi-1.13.1-x64-mingw32/lib/ffi/library.rb:99:in `map'
D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/ffi-1.13.1-x64-mingw32/lib/ffi/library.rb:145:in `block in ffi_lib': Could not op (LoadError)libcurl': The specified module could not be found.
.
Could not open library 'libcurl.dll': The specified module could not be found.
.
Could not open library 'libcurl.so.4': The specified module could not be found.
.
Could not open library 'libcurl.so.4.dll': The specified module could not be found.

CocoaPods Environment

pod env produces the same error.

Project that demonstrates the issue

You don't need a special project but you _do_ need a Windows environment from which to run this.

I'm including the following because I don't know what is relevant.

Here's my gem environment output:

RubyGems Environment:
  - RUBYGEMS VERSION: 3.0.3
  - RUBY VERSION: 2.6.6 (2020-03-31 patchlevel 146) [x64-mingw32]
  - INSTALLATION DIRECTORY: D:/Ruby26-x64/lib/ruby/gems/2.6.0
  - USER INSTALLATION DIRECTORY: C:/Users/max/.gem/ruby/2.6.0
  - RUBY EXECUTABLE: D:/Ruby26-x64/bin/ruby.exe
  - GIT EXECUTABLE: D:\Program Files\Git\cmd/git.EXE
  - EXECUTABLE DIRECTORY: D:/Ruby26-x64/bin
  - SPEC CACHE DIRECTORY: C:/Users/max/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: C:/ProgramData
  - RUBYGEMS PLATFORMS:
    - ruby
    - x64-mingw32
  - GEM PATHS:
     - D:/Ruby26-x64/lib/ruby/gems/2.6.0
     - C:/Users/max/.gem/ruby/2.6.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\\Extensions\Microsoft\IntelliCode\CLI
     - D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX86\x86
     - D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\VCPackages
     - D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow
     - D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
     - D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\bin\Roslyn
     - D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Team Tools\Performance Tools
     - C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\vs2019\
     - C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
     - D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\FSharp\
     - C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86
     - C:\Program Files (x86)\Windows Kits\10\bin\x86
     - D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\\MSBuild\Current\Bin
     - C:\Windows\Microsoft.NET\Framework\v4.0.30319
     - D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\
     - D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\
     - C:\Program Files (x86)\Microsoft SDKs\VSTS\CLI\wbin
     - C:\Program Files (x86)\Common Files\Oracle\Java\javapath
     - D:\Python\V3\Scripts\
     - D:\Python\V3\
     - C:\Program Files (x86)\Intel\iCLS Client\
     - C:\Program Files\Intel\iCLS Client\
     - C:\Windows\system32
     - C:\Windows
     - C:\Windows\System32\Wbem
     - C:\Windows\System32\WindowsPowerShell\v1.0\
     - C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
     - C:\Program Files\Microsoft SQL Server\130\Tools\Binn\
     - C:\Program Files\dotnet\
     - C:\Program Files (x86)\GtkSharp\2.12\bin
     - D:\Program Files\TortoiseSVN\bin
     - C:\WINDOWS\system32
     - C:\WINDOWS
     - C:\WINDOWS\System32\Wbem
     - C:\WINDOWS\System32\WindowsPowerShell\v1.0\
     - C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL
     - C:\Program Files\Intel\Intel(R) Management Engine Components\DAL
     - C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT
     - C:\Program Files\Intel\Intel(R) Management Engine Components\IPT
     - D:\Program Files\nodejs\
     - C:\WINDOWS\system32
     - C:\WINDOWS
     - C:\WINDOWS\System32\Wbem
     - C:\WINDOWS\System32\WindowsPowerShell\v1.0\
     - C:\WINDOWS\System32\OpenSSH\
     - d:\Program Files\Microsoft VS Code\bin
     - D:\Go\bin
     - C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\
     - D:\Program Files\Git\cmd
     - D:\Tools\docker
     - C:\ProgramData\chocolatey\bin
     - C:\Program Files\OpenSSL\bin
     - D:\Ruby26-x64\bin
     - C:\Users\max\scoop\shims
     - C:\Users\max\AppData\Local\Microsoft\WindowsApps
     - C:\Users\max\AppData\Local\GitHubDesktop\bin
     - C:\Users\max\AppData\Roaming\npm
     - d:\Program Files\Microsoft VS Code\bin
     - C:\Users\max\go\bin
     - C:\Users\max\.dotnet\tools
     - C:\Users\max\AppData\Local\Microsoft\WindowsApps
     - D:\Binaries\nuget
     - D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin
     - D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja
     - D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\Linux\bin\ConnectionManagerExe

Here's the output of the gem install command to get cocoapods:

Fetching cocoapods-1.9.3.gem
Successfully installed cocoapods-1.9.3
Parsing documentation for cocoapods-1.9.3
Installing ri documentation for cocoapods-1.9.3
Done installing documentation for cocoapods after 12 seconds
1 gem installed
help wanted windows

Most helpful comment

  1. Download curl from https://curl.haxx.se/windows/
  2. Extract the archive and browse into /bin
  3. Rename libcurl_x64.dll (it may be just libcurl.dll for x86) to libcurl.dll
  4. Copy and paste the file into the /bin directory of your Ruby installation folder
  5. Happy coding!

All 3 comments

Not sure here the issue. Sorry I dont have a windows machine to diagnose. Would appreciate help to diagnose this.

Getting the same problem. Not sure what to do.

  1. Download curl from https://curl.haxx.se/windows/
  2. Extract the archive and browse into /bin
  3. Rename libcurl_x64.dll (it may be just libcurl.dll for x86) to libcurl.dll
  4. Copy and paste the file into the /bin directory of your Ruby installation folder
  5. Happy coding!
Was this page helpful?
0 / 5 - 0 ratings