Interestingly, my repo and local bash show a different error.
Below is the part of Git Bash saying I cannot open ‘libcurl’
‘C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ffi-1.14.2-x64-mingw32/lib/ffi/library.rb:145:in `block in ffi_lib’: Could not open library ‘libcurl’: ▒▒▒▒▒▒ ▒▒▒▒▒ ã▒▒ ▒▒ ▒▒▒▒▒ϴ▒.\r (LoadError).
Could not open library ‘libcurl.dll’: ▒▒▒▒▒▒ ▒▒▒▒▒ ã▒▒ ▒▒ ▒▒▒▒▒ϴ▒.\r.
Could not open library ‘libcurl.so.4’: ▒▒▒▒▒▒ ▒▒▒▒▒ ã▒▒ ▒▒ ▒▒▒▒▒ϴ▒.\r.
Could not open library ‘libcurl.so.4.dll’: ▒▒▒▒▒▒ ▒▒▒▒▒ ã▒▒ ▒▒ ▒▒▒▒▒ϴ▒.\r’
I tried gem install curb but only got another error current directory: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/curb-0.9.11/ext C:/Ruby27-x64/bin/ruby.exe -I C:/Ruby27-x64/lib/ruby/2.7.0 -r ./siteconf20201231-55420-1mlunr8.rb extconf.rb checking for curl-config... no checking for -lcurl... no *** extconf.rb failed ***
I already have curl.exe and path it in windows PATH, but didn’t make change.
did you fix it? I see some edits to the post file.
No idea about your local issue, but the screenshot of the errors is coming from html proofer not jekyll so that isn’t really a jekyll error. html proofer is saying you have some links that don’t work.
For you local error, please paste the whole terminal output - not just the couple lines about the error, sometimes their is helpful info above that. Also don’t paste a screenshot if possible, just copy and then paste it into a code block (3 back tics first, then code, then 3 more back tics - back tic is the single quote like thing: ` that is shared with the ~).
Thanks for the tips!
I edited post file but html still have some error related to links.
My local error full code is as below
$ script/cibuild
Configuration file: C:/Users/user/Desktop/Jwmc999.github.io/_config.yml
Source: .
Destination: ./_site
Incremental build: disabled. Enable with --incremental
Generating...
Remote Theme: Using theme pages-themes/hacker
Jekyll Feed: Generating feed for posts
GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data.
done in 3.562 seconds.
Auto-regeneration: disabled. Use --watch to enable.
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ffi-1.14.2-x64-mingw32/lib/ffi/library.rb:145:in `block in ffi_lib': Could not open library 'libcurl': ▒▒▒▒▒▒ ▒▒▒▒▒ ã▒▒ ▒▒ ▒▒▒▒▒ϴ▒.\r (LoadError)
.
Could not open library 'libcurl.dll': ▒▒▒▒▒▒ ▒▒▒▒▒ ã▒▒ ▒▒ ▒▒▒▒▒ϴ▒.\r
.
Could not open library 'libcurl.so.4': ▒▒▒▒▒▒ ▒▒▒▒▒ ã▒▒ ▒▒ ▒▒▒▒▒ϴ▒.\r
.
Could not open library 'libcurl.so.4.dll': ▒▒▒▒▒▒ ▒▒▒▒▒ ã▒▒ ▒▒ ▒▒▒▒▒ϴ▒.\r
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ffi-1.14.2-x64-mingw32/lib/ffi/library.rb:99:in `map'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ffi-1.14.2-x64-mingw32/lib/ffi/library.rb:99:in `ffi_lib'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ethon-0.12.0/lib/ethon/curls/settings.rb:7:in `<module:Curl>'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ethon-0.12.0/lib/ethon/curls/settings.rb:2:in `<module:Ethon>'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ethon-0.12.0/lib/ethon/curls/settings.rb:1:in `<top (required)>'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ethon-0.12.0/lib/ethon/curl.rb:27:in `require'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ethon-0.12.0/lib/ethon/curl.rb:27:in `<module:Curl>'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ethon-0.12.0/lib/ethon/curl.rb:13:in `<module:Ethon>'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ethon-0.12.0/lib/ethon/curl.rb:8:in `<top (required)>'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ethon-0.12.0/lib/ethon.rb:15:in `require'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ethon-0.12.0/lib/ethon.rb:15:in `<top (required)>'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/typhoeus-1.4.0/lib/typhoeus.rb:2:in `require'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/typhoeus-1.4.0/lib/typhoeus.rb:2:in `<top (required)>'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/html-proofer-3.18.3/lib/html-proofer/url_validator.rb:3:in `require'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/html-proofer-3.18.3/lib/html-proofer/url_validator.rb:3:in `<top (required)>'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/html-proofer-3.18.3/lib/html-proofer.rb:7:in `require'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/html-proofer-3.18.3/lib/html-proofer.rb:7:in `block in require_all'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/html-proofer-3.18.3/lib/html-proofer.rb:6:in `each'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/html-proofer-3.18.3/lib/html-proofer.rb:6:in `require_all'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/html-proofer-3.18.3/lib/html-proofer.rb:12:in `<top (required)>'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/html-proofer-3.18.3/bin/htmlproofer:8:in `require'
from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/html-proofer-3.18.3/bin/htmlproofer:8:in `<top (required)>'
from C:/Ruby27-x64/bin/htmlproofer:23:in `load'
from C:/Ruby27-x64/bin/htmlproofer:23:in `<main>'
$ gem install curb
ERROR: Error installing curb:
ERROR: Failed to build gem native extension.
current directory: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/curb-0.9.11/ext
C:/Ruby27-x64/bin/ruby.exe -I C:/Ruby27-x64/lib/ruby/2.7.0 -r ./siteconf20210101-45152-1elqhij.rb extconf.rb
checking for curl-config... no
checking for -lcurl... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=C:/Ruby27-x64/bin/$(RUBY_BASE_NAME)
--with-curl-dir
--without-curl-dir
--with-curl-include
--without-curl-include=${curl-dir}/include
--with-curl-lib
--without-curl-lib=${curl-dir}/lib
--with-curllib
--without-curllib
extconf.rb:18:in `<main>': Can't find libcurl or curl/curl.h (RuntimeError)
Try passing --with-curl-dir or --with-curl-lib and --with-curl-include
options to extconf.
To see why this extension failed to compile, please check the mkmf.log which can be found here:
C:/Ruby27-x64/lib/ruby/gems/2.7.0/extensions/x64-mingw32/2.7.0/curb-0.9.11/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/curb-0.9.11 for inspection.
Results logged to C:/Ruby27-x64/lib/ruby/gems/2.7.0/extensions/x64-mingw32/2.7.0/curb-0.9.11/gem_make.out
Temporarily enhancing PATH for MSYS/MINGW...
Building native extensions. This could take a while...
I already have a ‘curl.exe’ in ‘C:\Program Files\Git\mingw64\bin’ and added that to the Path. Same error happens for gem install curb.
The error says it can’t find the library (usually .so in GNU/Linux, .dll in Windows), curl.exe is an executable not a library.
Also, you need to make sure the gem installer can read the lib/ and include/ directories inside your Mingw64 directory, because that’s where the compiler is going to look for the library (libcurl) and the header files (curl.h).
I don’t use Windows, so I can only advice you to read the documentation about installing the gem you are having problems with, on Windows.
Thanks for your words, I do have library.dill under ‘C:\Ruby27-x64’ still having difficulty in fixing this error. I found this post https://github.com/taf2/curb/issues/315, but did not really work for me as I couldn’t find ‘devkitvars.sh’ from ‘C:\Ruby27-x64’, which I installed with Devkit. Most google search shows Linux or Ubuntu, not windows 10. If anyone aware of how to solve this error, I would really appreciate it!
this usually means ruby was installed without the devkit. I think you said you did it with the devkit? but if jekyll installed then maybe this is not the problem as it needs the devkit.
if you do gem install jekyll do you get any errors?
I’m guessing your issue is not with jekyll, it is with something else in your script? I would try to do the things your script does one at a time manually to see where the error is happening.
This thread seems mostly about the local curl issues.
The CI build error is specific to the way you have URLs setup in you repo and would be better as a separate thread if this doesn’t solve it
… what I did see is a _site/post.html referencing 3x bad /tree/main/... urls
Thanks for the info, while I am trying to fix the link error, I found my Jekyll version is 3.9.0, not 4.0. It won’t upgrade via command, so I’m reinstalling ruby…
Thanks anyway