Azathothas / Toolpacks

Official (pkgforge-edge) Repo 📦📀 & The Largest Collection of Pre-Compiled (+ UPXed) Linux Static Binaries (incl. Build Scripts) & Package Manager (rust) :: https://github.com/pkgforge/soar
https://bin.pkgforge.dev/
MIT License
151 stars 16 forks source link

aarch64 linux wget compiled without c-ares, can't use c-ares related options #23

Closed wulungnet closed 4 months ago

wulungnet commented 4 months ago

Using some of your compiled app on my phone with 'Terminal Emulator' app. I use linux aarch64 version. When I use wget, I can't use some feature that linked to c-ares. Can you add this to your next compile batch ? Thanks.

Azathothas commented 4 months ago

May I ask why do you not use the arm64-v8a Android version? The wget binary for arm64-v8a Android is specifically compiled using ndk-pkg to work with Android, as long as you:

 pass --dns-servers=<DNS-SERVERS> argument to curl like below
 wget --dns-servers=8.8.8.8 https://example.com

Compiling without c-ares will disable lots of features which will render most of wget's function useless.

wulungnet commented 4 months ago

The aarch64 linux version of wget already compiled without c-ares, indicated there '-cares' on the show version command. IMG_20240701_183928

The arm64-v8 cannot run under shell on 'Terminal Emulator' app, complaining 'cannot locate symbol : fread_unlocked ' then aborting. IMG_20240701_185104

Azathothas commented 4 months ago

Oh! I see.

The Linux aarch64 version is compiled using nix, I didn't know it disabled c-ares.

I tested the android binary under a Termux shell which didn't error out like in your screenshots, hence passing the checks and getting pushed to the bucket.

I will take a look at this again tmr, and test using both Termux & Terminal Emulator Though last time I compiled wget statically for android, lots of things broke.

Also, can you check if eget : https://bin.ajam.dev/arm64_v8a_Android/eget errors out similarly, or it works as expected. you can use eget as replacement for wget until I fix this.

Please also list your Android Version/API Level

wulungnet commented 4 months ago

What work for me is using gocurl (can define dns and ssl/tls version) but it doesn't support -J -O so had to add -o filename option. Note : previously I use userLAnd but its broken now. I can't use termux and other full linux emulator now, my phone need upgrade, didn't have much space left, hence I use Terminal Emulator. Xiaomi Redmi Note 5 with Android 8.1.0, so API Level 27 maybe.

Azathothas commented 4 months ago

My android binaries target a minimum of API level 29 ( Android 10) and that's why you got the cannot locate symbol : fread_unlocked error

I have recompiled two versions of wget, one dynamic targeting 25 (Android 7.1) & another completely static which should work as long as you specify --dns-servers & --ca-certificate

wulungnet commented 4 months ago

Thanks. Still at work. I'll try it later. I'll reopen if problem came up.

wulungnet commented 4 months ago

sorry, got 404 file not found error.

Azathothas commented 4 months ago

Does the default wget (dynamic) at https://bin.ajam.dev/arm64_v8a_Android/wget not work?

wulungnet commented 3 months ago

can't download the files from your server. might be permission problem. 404 object not found.

Azathothas commented 3 months ago

can't download the files from your server. might be permission problem. 404 object not found.

That's expected for

    https://bin.ajam.dev/arm64_v8a_Android/wget_dynamic_api_25
    https://bin.ajam.dev/arm64_v8a_Android/wget_static

Since I deleted them

I meant, try the https://bin.ajam.dev/arm64_v8a_Android/wget , it should work