Skip to content
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

Error: 'curl_parse_url' is not an exported object from 'namespace:curl' - curl version #351

Closed
temospena opened this issue Jan 31, 2025 · 6 comments

Comments

@temospena
Copy link

Hi all,

This is just a heads up about an error.

I was using osmdata with a previous curl version on my pc (5.2.3 - not 100% sure about last digit), and any operation such as opq() or simply set_overpass_url() would throw the error:

> osmdata::set_overpass_url("https://maps.mail.ru/osm/tools/overpass/api/interpreter")
Error: 'curl_parse_url' is not an exported object from 'namespace:curl'

updating curl to version 6.0.1 seems to solve that.

Maybe useful to make it explicit here:

curl,

But honestly I didn't make other experiments, sorry.

Thanks

@jmaspons
Copy link
Collaborator

It was introduced in 6.0, but it's quite recent. I don't remember recent changes in this front in osmdata nor direct calls to curl_parse_url.

Seems that httr2::parse_url() started to use curl_parse_url in v1.1.0. I would depend on this.

jmaspons added a commit that referenced this issue Jan 31, 2025
jmaspons added a commit that referenced this issue Jan 31, 2025
@jmaspons
Copy link
Collaborator

@temospena did you have dev builds of curl or httr2 packages? Or perhaps updated httr2 without the stated dependencies? I don't know how the upgrade manage dependencies...

@temospena
Copy link
Author

temospena commented Jan 31, 2025

Humm, not sure if I understood you correctly, so sorry for my response.

I usually use the non-dev tools, and, since ~september 2024, I am managing and updating r packages with https://eddelbuettel.github.io/r2u/ system in ubuntu 24.
Apparently, curl was not updated with this system, but I checked and I am using httr2 1.1.0 (automatically).

@jmaspons
Copy link
Collaborator

jmaspons commented Feb 1, 2025

Yes, my guess is that using httr2 1.1 will pull curl 6.1 as a dependence, but it seems that was not the case for you. Let see if @mpadge have any idea

@mpadge
Copy link
Member

mpadge commented Feb 1, 2025

Thanks for asking @temospena, but that is definitely a case of mis-matched system libraries, and not anything related to this package. @jmaspons Note that I am going to close your suggested fix in #352, because that would prevent this package being able to be used with older versions of both system libraries and R packages. As things are, this package has almost no requirements for recent software, and will work fine on systems which have not been updated for several years. Problems will only arise if {httr2} is updated to integrated r-lib/httr2#582 without updating the system curl library.

The actual system dependency arises in the curl package, which requires libcurl >= 7.62. That was released in 2018, so it's not surprising that attempting to use any R-curl functionality with a system library now 7 years out of date might cause issues.

@jmaspons if you're in agreement, my suggestion would be to simply close this as unrelated to this package. Okay with you? And thanks for the heads-up anyway @temospena, it's always useful to get insights like this regardless 😄

@jmaspons
Copy link
Collaborator

jmaspons commented Feb 3, 2025

Thanks, @mpadge. I didn't understand the problem with the dependences but I think you are right.

@jmaspons jmaspons closed this as completed Feb 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants