New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build fails if perl is unavailable (regression in 8.6.0) #12832
Comments
(For completeness, I should also mention that an explicit |
I am not convinced we need to retain the possibility to build without perl. |
That would be a pity IMHO, but I can carry a local patch if it's too niche a concern. |
You could also offer a PR to make it available to everyone ... |
Sure, very happy to do that if you'd be interested in one. 👍 I'll cook something up. Would you prefer an explicit |
Maybe |
Great, okay, that makes sense. I'll send a pull request. :) |
I'm seeing a similar error building 8.6.0 on ubuntu 20.04 with CMake. I have perl installed to Specifically, I'm seeing:
I don't happen to care about the docs for my build, and building with |
Apart from the |
…kip] It requires `--disable-manual` to actually disable building `.3` files. Meaning `--disable-docs` works only when building from a release tarball, and with a hack to enable the curl tool's build-in manual. IOW on its own this new option doesn't prevent building libcurl `.3` files. curl/curl@5413215 curl/curl#12857 curl/curl#12832
In my tests CMake already does this with its |
Hm, I thought I tested that but clearly not... |
#12870 should do it! |
#12870 fixed it! |
Daniel Stenberg ***@***.***> wrote:
Hm, I thought I tested that but clearly not...
Ah, sorry, I thought I'd tested that --enable-manual wasn't enabled by
default too, which would make --disable-docs do the right thing unless it
was deliberately specified with --enable-manual.
But I think I missed that the built-in manual is turned on automatically
if nroff is detected in the PATH. None of my test machines had that.
Best wishes,
Chris.
|
I'm also affected by this issue, but I'm not happy with the committed fix. I am still interested in the manual for the curl tool, but my system also does not have perl. Previously, perl was already needed to generate Since @arachsys only encountered this issue in 8.6.0, I'm guessing that the real issue here is not that perl is needed to generate the manuals (since that was the case before 8.6.0), but that the generated As I understand it, as of git master, there still are some distributed generated man pages: Here's my proposal:
Thoughts on this? I can make a pull request if you think this idea is acceptable. I would also be fine if just curl.1 were added back, and the configure flag allowed further granularity (like what was done with cmake) so that perl would only be needed when building the libcurl manuals. |
Since it is no longer needed for building tool_hugehelp.c and all the docs is available in readable markdown format in the tarball, the peeps that don't want to build the manpage still do good. Removing it also fixes the complexity of out-of-tree builds when the curl.1 exists in the source tree.
I did this
Curl <= 8.50 builds fine without perl present: the configure script recognises that nroff and perl are missing, warns that the builtin manual will be disabled, and
make
completes successfully.The configure script on curl 8.60 also recognises that nroff and perl aren't present and warns that the builtin manual will be disabled:
but make tries to build man pages anyway, and fails to complete:
I bodged around it by removing
SUBDIRS = ../docs
fromsrc/Makefile.{am,in}
(docs.diff) but I suspect this change is unintended given the wording of the warning fromconfigure
and the previous graceful handling of this.I expected the following
Build completes successfully with unsupported features (like docs) disabled, as with curl <= 8.50. (Alternatively a
configure --disable-docs
flag if, like libpsl support, we want to make building without docs a deliberate configuration choice?)curl/libcurl version
operating system
musl 1.2.4 on linux 6.7 with libressl 3.8.2, zlib 1.3.1, zstd 1.5.5, nghttp2 1.59.0; building with llvm/clang.
uname -a
would tell youThe text was updated successfully, but these errors were encountered: