Opened 4 years ago
Last modified 2 years ago
#26281 new defect
curl-config requires the bc command to work
Reported by: | embray | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | packages: standard | Keywords: | |
Cc: | infinity0 | Merged in: | |
Authors: | Reviewers: | ||
Report Upstream: | Fixed upstream, in a later stable release. | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
As we found out in #24919 (see https://trac.sagemath.org/ticket/24919#comment:63) the curl-config
program that comes with curl, which we use to check the curl version, requires the standard bc
command, which apparently on some systems is missing?
In a way this just means that the packaging of curl
is broken since it should list bc
as a runtime dependency. But we can work around that by checking for it ourselves.
This issue should be independent of #24919 since we already use curl-config
to check for curl...
Change History (9)
comment:1 Changed 4 years ago by
Cc: | infinity0 added |
---|---|
Report Upstream: | N/A → Not yet reported upstream; Will do shortly. |
comment:2 Changed 4 years ago by
Report Upstream: | Not yet reported upstream; Will do shortly. → Fixed upstream, in a later stable release. |
---|
discussed with upstream on https://github.com/curl/curl/issues/3143 and upstream fixed it in https://github.com/curl/curl/pull/3174
comment:4 follow-up: 5 Changed 4 years ago by
I'm not sure what we should do in sage, if anything. I suppose it might still be worth adding an explicit check for the bc program when installing curl :(
comment:5 Changed 4 years ago by
Replying to embray:
I'm not sure what we should do in sage, if anything. I suppose it might still be worth adding an explicit check for the bc program when installing curl :(
we could just make bc
required in the top configure.ac
, calling AC_CHECK_PROGRAM
or whatever the right macro is.
comment:6 Changed 2 years ago by
The upstream fix was merged in curl 7.62.0
.
Rules for deciding whether to build curl are
described in build/pkgs/curl/spkg-configure.m4
.
Currently the approach is based on R
's needs:
- build
curl
unlesscurl >= 7.22
is found.
Which of the following should we change it to?
- build
curl
unlesscurl >= 7.62
is found - build
curl
unless eithercurl >= 7.62
is found orcurl >= 7.22
andbc
are found
comment:7 Changed 2 years ago by
Priority: | major → minor |
---|
Currently we do not build curl
if curl >= 7.22
(and, implcitly, bc
- if the curl in question does need bc
in its curl-config
).
Adding an explicit check for bc
(after our test for curl failed) would only improve error messages, but that's a rare event that a system has no bc
installed.
Other potential improvements here would be to get rid of somewhat dodgy LIBCURL_CHECK_CONFIG
and just use PKG_CHECK_MODULES
(which doesn't need bc
), or try PKG_CHECK_MODULES
, and otherwise fall on LIBCURL_CHECK_CONFIG
.
But all this is very minor.
comment:8 follow-up: 9 Changed 2 years ago by
So maybe:
- check for curl >= 7.62: if found, good
- if not found, check for curl >= 7.22 and bc: if found, good
- if not found: build curl
comment:9 Changed 2 years ago by
Replying to slelievre:
So maybe:
- check for curl >= 7.62: if found, good
- if not found, check for curl >= 7.22 and bc: if found, good
- if not found: build curl
please see my edits
This looks like a Debian bug, as I see this on Debian, and they package (lib)curl. By right,
curl-config
they ship must be fully functional, but it missesbc
as a dependency.I cc one of Debian people packaging Sagemath here.