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

fails to locate curl:ver<4>:from<native> on Android #380

Closed
stuart-little opened this issue Dec 24, 2020 · 2 comments
Closed

fails to locate curl:ver<4>:from<native> on Android #380

stuart-little opened this issue Dec 24, 2020 · 2 comments

Comments

@stuart-little
Copy link

stuart-little commented Dec 24, 2020

Context

I am on Android 10, running raku and zef in the terminal emulator Termux.

Trying to install LibCurl errors out by failing to locate my curl installation:

$ zef install LibCurl
===> Searching for: LibCurl
===> Searching for missing dependencies: NativeLibs:ver<0.0.7+>:auth<github:salortiz>, curl:ver<4>:from<native>, Test::When
===> Failed to find dependencies: curl:ver<4>:from<native>
Failed to resolve some missing dependencies

I do have curl though:

$ curl --version
curl 7.74.0 (aarch64-unknown-linux-android) libcurl/7.74.0 OpenSSL/1.1.1i zlib/1.2.11 libssh2/1.9.0 nghttp2/1.42.0
Release-Date: 2020-12-09
Protocols: dict file ftp ftps gopher http https imap imaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS HTTP2 HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL UnixSockets

I also have the ancillary library:

$ find $PREFIX/lib/ -name libcurl*
/data/data/com.termux/files/usr/lib/libcurl.a        
/data/data/com.termux/files/usr/lib/pkgconfig/libcurl.pc
/data/data/com.termux/files/usr/lib/libcurl.so
/data/data/com.termux/files/usr/lib/libcurl.la

Expected Behavior

Successful installation of LibCurl.

Actual Behavior

Failed installation, as detailed above.

Steps to Reproduce

$ zef install --debug LibCurl
===> Searching for: LibCurl
===> Found: LibCurl:ver<1.3>:auth<github:CurtTilmes>:api<1> [via Zef::Repository::Ecosystems<p6c>]
===> Dependencies: NativeCall, NativeLibs, JSON::Fast, curl, Test, Test::When                             ===> Searching for missing dependencies: NativeLibs:ver<0.0.7+>:auth<github:salortiz>, curl:ver<4>:from<native>, Test::When
===> Failed to find dependencies: curl:ver<4>:from<native>
Failed to resolve some missing dependencies

Your Environment

  • raku -v
Welcome to Rakudo(tm) v2020.12-9-g4b6b2e070.         Implementing the Raku(tm) programming language v6.d. Built on MoarVM version 2020.12.
  • zef list --installed
Cache::LRU:ver<0.1.0>
Digest::SHA256::Native:ver<0.03>
Distribution::Builder::MakeFromJSON:ver<0.6>:auth<github:niner>
File::Directory::Tree:auth<labster>
File::Find:ver<0.1>
File::Temp:ver<0.0.8>
File::Which:ver<1.0.1>
HTTP::Tiny:ver<0.1.5>:auth<cpan:JJATRIA>
Hash::LRU:ver<0.0.4>:auth<cpan:ELIZABETH>
IO::Socket::SSL:ver<0.0.2>:auth<github:sergot>
Inline::Perl5:ver<0.50>:auth<github:niner>
JSON::Class:ver<0.0.15>:auth<github:jonathanstowe>:api<1.0>
JSON::Fast:ver<0.15>
JSON::Marshal:ver<0.0.19>:auth<github:jonathanstowe>:api<1.0>
JSON::Name:ver<0.0.4>:auth<github:jonathanstowe>:api<1.0>
JSON::Unmarshal:ver<0.08>
LZW::Revolunet:ver<0.1.2>
LibraryCheck:ver<0.0.9>:auth<github:jonathanstowe>:api<1.0>
LibraryMake:ver<1.0.0>:auth<github:retupmoca>
META6:ver<0.0.24>:auth<github:jonathanstowe>:api<1.0>
OpenSSL:ver<0.1.23>:auth<github:sergot>
Readline:ver<0.1.6>:auth<cpan:fooist>
Shell::Command
System::Query:ver<0.1.4>:auth<github:tony-o>
URI:ver<0.3.0>
zef:ver<0.9.1>:auth<github:ugexe>:api<0>
zef:ver<0.9.2>:auth<github:ugexe>:api<0>
zef:ver<0.9.4>:auth<github:ugexe>:api<0>
CORE:ver<6.d>:auth<perl>

Additional comments

I have also reported this in the LibCurl repo, but I am not sure it belongs there. It seems to me this might be a more general issue with how zef searches for native deps in quirky environments like Termux.

@niner
Copy link
Collaborator

niner commented Dec 24, 2020 via email

@stuart-little
Copy link
Author

stuart-little commented Dec 24, 2020

You are right @niner. Thank you!

$ ln -s /data/data/com.termux/files/usr/lib/libcurl.so /data/data/com.termux/files/usr/lib/libcurl.so.4

Before installing did the trick (well, NativeLibs failed its tests, but those can be forced).

@ugexe ugexe closed this as completed Dec 31, 2020
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

No branches or pull requests

3 participants