# Documenter makedocs() failing to build locally

**URL:** <https://discourse.julialang.org/t/documenter-makedocs-failing-to-build-locally/73752>\
**Category:** General Usage\
**Tags:** question, documentation, documenter, http, juliahub\
**Created:** [December 29, 2021, 1:20pm UTC](https://discourse.julialang.org/t/documenter-makedocs-failing-to-build-locally/73752 "2021-12-29T13:20:37Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![MattWillFlood](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mattwillflood/32/20722_2.png) [@MattWillFlood](https://discourse.julialang.org/u/MattWillFlood)\
**Post date:** [December 29, 2021, 1:20pm UTC](https://discourse.julialang.org/t/documenter-makedocs-failing-to-build-locally/73752/1 "2021-12-29T13:20:38Z")

</div>

Hi Guys 🙂

I’m trying to update the docs for a new package release, but `makedocs()` won’t build the HTML files locally. There is only a minor edit to the text in the new documentation and no change to the `make.jl` file, but for some reason it won’t work. 🙄  
I’ve tried to run `make.jl` with different documenter versions, but the REPL crashes each time when expanding templates…

What is really weird is that the documentation [was built successfully by JuliaHub](https://docs.juliahub.com/EntropyHub/npy5E/0.2.0/) when the new package was tagged. So if the docs **can** be built by JuliaHub, then it should be posssible to build them locally too, right? 🤷🏻‍♂️

When I interrupt the execution of `make.jl` it appears that everything is hanging on one function that uses `HTTP.jl`:

```julia
> Stacktrace:
> [1] try_yieldto(::typeof(Base.ensure_rescheduled)) at .\task.jl:656
> [2] wait at .\task.jl:713 [inlined]
> [3] uv_write(::Sockets.TCPSocket, ::Ptr{UInt8}, ::UInt64) at .\stream.jl:933
> [4] unsafe_write(::Sockets.TCPSocket, ::Ptr{UInt8}, ::UInt64) at .\stream.jl:1005
> [5] f_send(::Ptr{Nothing}, ::Ptr{UInt8}, ::UInt64) at C:\Users\Me\.julia\packages\MbedTLS\4YY6E\src\ssl.jl:263
> [6] ssl_write(::MbedTLS.SSLContext, ::Ptr{UInt8}, ::UInt64) at C:\Users\Me\.julia\packages\MbedTLS\4YY6E\src\ssl.jl:714
> [7] ssl_unsafe_write(::MbedTLS.SSLContext, ::Ptr{UInt8}, ::UInt64) at C:\Users\Me\.julia\packages\MbedTLS\4YY6E\src\ssl.jl:233
> [8] unsafe_write at C:\Users\Me\.julia\packages\MbedTLS\4YY6E\src\ssl.jl:405 [inlined]
> [9] unsafe_write at C:\Users\Me\.julia\packages\HTTP\IAI92\src\ConnectionPool.jl:171 [inlined]
> [10] unsafe_write at .\io.jl:622 [inlined]
> [11] write at .\io.jl:645 [inlined]
> [12] startwrite(::HTTP.Streams.Stream{HTTP.Messages.Response,HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\Streams.jl:87
> [13] request(::Type{HTTP.StreamRequest.StreamLayer{Union{}}}, ::HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}, ::HTTP.Messages.Request, ::Array{UInt8,1}; reached_redirect_limit::Bool, response_stream::Nothing, iofunction::Nothing, verbose::Int64, kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\StreamRequest.jl:37
> [14] request(::Type{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}, ::HTTP.URIs.URI, ::HTTP.Messages.Request, ::Array{UInt8,1}; proxy::Nothing, socket_type::Type{T} where T, reuse_limit::Int64, kw::Base.Iterators.Pairs{Symbol,Union{Nothing, Bool},Tuple{Symbol,Symbol},NamedTuple{(:iofunction, :reached_redirect_limit),Tuple{Nothing,Bool}}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\ConnectionRequest.jl:96
> [15] request(::Type{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}, ::HTTP.URIs.URI, ::Vararg{Any,N} where N; kw::Base.Iterators.Pairs{Symbol,Union{Nothing, Bool},Tuple{Symbol,Symbol},NamedTuple{(:iofunction, :reached_redirect_limit),Tuple{Nothing,Bool}}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\ExceptionRequest.jl:19
> [16] (::Base.var"#56#58"{Base.var"#56#57#59"{ExponentialBackOff,HTTP.RetryRequest.var"#2#3"{Bool,HTTP.Messages.Request},typeof(HTTP.request)}})(::Type{T} where T, ::Vararg{Any,N} where N; kwargs::Base.Iterators.Pairs{Symbol,Union{Nothing, 
> Bool},Tuple{Symbol,Symbol},NamedTuple{(:iofunction, :reached_redirect_limit),Tuple{Nothing,Bool}}}) at .\error.jl:288
> [17] #request#1 at C:\Users\Me\.julia\packages\HTTP\IAI92\src\RetryRequest.jl:44 [inlined]
> [18] request(::Type{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}; http_version::VersionNumber, target::String, parent::Nothing, iofunction::Nothing, kw::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:reached_redirect_limit,),Tuple{Bool}}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\MessageRequest.jl:51
> [19] request(::Type{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}; kw::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:reached_redirect_limit,),Tuple{Bool}}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\BasicAuthRequest.jl:28
> [20] request(::Type{HTTP.RedirectRequest.RedirectLayer{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}; redirect_limit::Int64, forwardheaders::Bool, kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\RedirectRequest.jl:24
> [21] request(::Type{HTTP.RedirectRequest.RedirectLayer{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\RedirectRequest.jl:21
> [22] request(::String, ::String, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}; headers::Array{Pair{SubString{String},SubString{String}},1}, body::Array{UInt8,1}, query::Nothing, kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\HTTP.jl:314
> [23] request at C:\Users\Me\.julia\packages\HTTP\IAI92\src\HTTP.jl:314 [inlined] (repeats 2 times)
> [24] #get#12 at C:\Users\Me\.julia\packages\HTTP\IAI92\src\HTTP.jl:391 [inlined]
> [25] get at C:\Users\Me\.julia\packages\HTTP\IAI92\src\HTTP.jl:391 [inlined]
> [26] ExampleData(::String) at c:\Users\Me\Files\EntropyHub\src\_ExampleData.jl:17
> [27] top-level scope at none:1

```

The one function that uses HTTP.jl is not referenced in the docs or used in any docs example blocks, so I can’t understand why this issue is arising? 🤔

Any help on this issue would be greatly appreciated 🙏🏻 😇  
Thanks a mil! 😊
