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

Installing TermuxArch i686 fails with "curl: Remote file name has no length!" #64

Closed
emoryy opened this issue Mar 24, 2018 · 10 comments
Closed

Comments

@emoryy
Copy link

emoryy commented Mar 24, 2018

I'm trying to install TermuxArch on my Chromebook, but it fails with the above error.

Also full screenshot from Termux here:
https://i.imgur.com/I3fJNtq.png

(I tried to fix it myself, but it is quite hard to do anything if TermuxArch modifies, and resets itself back to its original state with every run. It also leaves the cloned git repository in a dirty state by deleting a bunch of its files.)

@SDRausty
Copy link
Owner

SDRausty commented Mar 26, 2018

@emoryy Thank you for taking an interest in TermuxArch; The full screenshot says that you don't have enough space to continue. Do you?

Have you tried setupTermuxArch.sh help? And are you familiar with this option: # [bloom] Create local copy of TermuxArch in TermuxArchBloom. Useful for hacking and customizing TermuxArch?

@emoryy
Copy link
Author

emoryy commented Mar 26, 2018

Hi! It's a brand new Chromebook with 64GB storage, and almost nothing on it yet.

Also if you check the screenshot, it actually doesn't show the number of free space. (I tried TermuxArch on my phone too, and I saw that it should show a number there)

No, I didn't know about the bloom option. The normal "help" text shown by TermuxArch doesn't have a word about it. I saw the word "bloom" in the source when I skimmed it through for finding the codes related to image downloading, but there is really a lot of code, and this word didn't jump at me as anything relevant.

@SDRausty
Copy link
Owner

SDRausty commented Mar 27, 2018

@emoryy, hello; I just got an Android 7, and setup went without a hitch. Try setupTermuxArch.sh manual and uncomment #dmverbose="-v". Maybe we can find out why, "curl: Remote file name has no length!" Also include information from setupTermuxArch.sh sysinfo. This may help in resolving the issue quicker.

Why is the space warning going off when you have 64G on device? Output from df might resolve the erroneous warning message. Output from:

file /system/bin/df
file /system/bin/toolbox

Is likewise wanted. As it turns out different devices and dfs give different results, which dfa also uses.

@emoryy
Copy link
Author

emoryy commented Mar 27, 2018

Output of setupTermuxArch.sh manual:
termuxarch-manual-install-output.log
Output of ls system/bin:
ls-system-bin-output.log
Output of sysinfo:
sysinfo-output.log

@SDRausty
Copy link
Owner

SDRausty commented Mar 29, 2018

@emoryy thanks for sharing the details. I will be taking a closer look at the outputs you posted soon.

leaves the cloned git repository in a dirty state by deleting a bunch of its files.

This commit af1e68a lets you work directly in the working directory from a cloned repository without the unpleasant download effect. This important improvement will soon be migrated to the stable directory after a little more testing. Thanks for bringing this to my attention. I was focused on the first install option of tapping the link and then running bash ~/storage/downloads/setupTermuxArch.sh to install Arch Linux.

@emoryy
Copy link
Author

emoryy commented Mar 29, 2018

Thanks, I'll try it.

But, uhm... stable directory? With directories for every stable release, and one other for development/unstable version? Sorry, but why are you version managing manually inside a version management system (git)? This seems silly to me.

@SDRausty
Copy link
Owner

@emoryy are you using the BASH shell? From the logs, it looks like you might be using a different shell. Make sure you are using the BASH shell. Try bash setupTermuxArch.sh wget. This will use wget which may resolve this issue for you. If bash setupTermuxArch.sh wget gives the same result, use bash setupTermuxArch.sh manual and uncomment line 17 in setupTermuxArchConfigs.sh so it looks like this:

12 cmirror="http://mirror.archlinuxarm.org/"
13 #cmirror="http://os.archlinuxarm.org/"
14 #dm=curl
15 #dm=wget
16 #dmverbose="-q"
17 dmverbose="-v"

Lines 12 and 13 do not concern your device. You can choose either curl or wget in this file, too. If you are running setupTermuxArch.sh in a clone of the git repository, then simply edit knownconfigurations.sh in the repository directory since knownconfigurations.sh and setupTermuxArchConfigs.sh are essentially the same file. The only difference is that bash setupTermuxArch.sh manual creates setupTermuxArchConfigs.sh and pauses the script for the user. When working with the git repository, this is unnecessary since the user can edit knownconfigurations.sh before running setupTermuxArch.sh.

Verbose output from "Downloading checksum from http://archive.archlinux.org…" will be requested if wget fails to retrieve the image file. Thanks for output from ls system/bin. Output from df is still requested:

$ df
Filesystem      1K-blocks      Used Available Use% Mounted on
/dev/block/dm-0  25732148  19148076   6362888  76% /data
tmpfs              934232       116    934116   1% /dev
none               934232        12    934220   1% /sys/fs/cgroup
/dev/fuse       189217544 105098176  84102984  56% /storage/emulated
tmpfs              934232         0    934232   0% /storage

If I could reproduce these errors, we would probably have the solution by now. But since I do not possess the same type of device that you have, your output is very important to all potential i686 users. I will also be looking into modularising the detection code much more than it is. This should aid in diagnosing all the different types of devices that Arch Linux in Termux PRoot can be installed on much quicker than at present.

@SDRausty
Copy link
Owner

SDRausty commented Mar 29, 2018

stable directory

Yes, use the stable directory since all the changes are migrated at present. The root directory is just as good for the purpose of installing. There should not be any dirty state in the git repo effect, as that has been fixed.

seems silly to me.

It does seem kinda funny, doesn't it. I do think that there are a couple of good reasons; Visibility is one...

@emoryy
Copy link
Author

emoryy commented Mar 29, 2018

Hi!
Thanks, running bash setupTermuxArch.sh wget from the current working directory was successful!
However during checking for free space part, it still didn't show the amount of free space. Other than that it seems everything finished.

Output of df -h:

Filesystem     Size  Used Avail Use% Mounted on
/dev/loop1     438M  438M     0  100% /
/dev/loop8      46M   46M     0  100% /vendor
tmpfs          1.8G  160K  1.8G   1% /dev
tmpfs          1.8G     0  1.8G   0% /dev/socket
tmpfs          1.8G     0  1.8G   0% /var/run/arc
tmpfs          1.8G     0  1.8G   0% /var/run/arc/sdcard
/dev/fuse       53G  2.3G   48G   5% /var/run/arc/sdcard/default/emulated
/dev/fuse       53G  2.3G   48G   5% /var/run/arc/sdcard/read/emulated
/dev/fuse       53G  2.3G   48G   5% /var/run/arc/sdcard/write/emulated
/dev/mmcblk0p1  53G  2.3G   48G   5% /var/run/arc/dalvik-cache
tmpfs          1.8G     0  1.8G   0% /var/run/arc/obb
tmpfs          1.8G     0  1.8G   0% /var/run/arc/media
passthrough    1.8G     0  1.8G   0% /var/run/arc/media/removable
run            1.8G  616K  1.8G   1% /sys/kernel/debug
run            1.8G  616K  1.8G   1% /proc/cmdline
tmpfs          1.8G  4.0K  1.8G   1% /oem
run            1.8G  616K  1.8G   1% /system/build.prop
/dev/loop8      46M   46M     0  100% /system/lib/arm
tmpfs          1.8G     0  1.8G   0% /mnt
tmpfs          1.8G     0  1.8G   0% /dummy
/dev/mmcblk0p1  53G  2.3G   48G   5% /cache
/dev/mmcblk0p1  53G  2.3G   48G   5% /data
tmpfs          1.8G     0  1.8G   0% /storage
/dev/fuse       53G  2.3G   48G   5% /storage/emulated
tmpfs          1.8G     0  1.8G   0% /storage/self

I don't actually use other shell than bash. I merely have a custom PS1, maybe that's why you tought so.

@SDRausty
Copy link
Owner

@emoryy This e0dc518 commit resolves the curl download error. Not all systems have the -h option for df. Can you post output from just df without the -h from both Termux and Arch Linux in Termux PRoot?

@SDRausty SDRausty removed the bug label Apr 19, 2018
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

2 participants