Closed JavisWiki closed 2 years ago
Looks like link2symlink
-internal .l2s.*
files got picked by build system and caused problems, delete built toolchain (build_dir/toolchain-*
directory), run mkdir /.l2s
inside proot-distro
, exit and relaunch proot-distro
after creating /.l2s
directory.
That way newly created .l2s.*
files will be put in separate directory and won't be causing conflicts
Looks like
link2symlink
-internal.l2s.*
files got picked by build system and caused problems, delete built toolchain (build_dir/toolchain-*
directory), runmkdir /.l2s
insideproot-distro
, exit and relaunchproot-distro
after creating/.l2s
directory.That way newly created
.l2s.*
files will be put in separate directory and won't be causing conflicts
That works,thank you so much! Amazing work!
This is productivity! I'm so excited.ヾ(^▽^*)))
But why create an folder can solve this? I looked up in bing but no much related information. Can not understand it. Anyway,thanks!~
I've viewed source code,now I understand,awosome work!
So to explain how does it work:
Yep~~,you guys are genius.😁
explain how does it work
Hopefully, this will add a little more helpful info to this topic as it is a very interesting catch:
a catch 22 situation
It still is; But the most difficult hurdle seems overcome! However, the Termux PATH had to be dropped again. There must be an easy way to add it to the new login. Termux PATH collision with
gcc
(clang is installed, but gcc is not) and probably more programs when usingyay
andmakeyay
was one reason. Thegcc
package wants the--link2symlink
option to be able to install in Arch Linux in Termux PRoot.Another one is that reimplementation was consuming a lot of time, and I was not able to reimplement it. The new login is not designed to build and install packages with
yay
as the--link2symlink
option is not present. So collisions should be trivial, if any as this login is not designed to build and install packages withyay
. @sudomain could you see how Termux PATH can be implemented in the proot init stringPROOTSTMNTU
and probably completely removed from the.bash_profile
file.The solution you selected is simply awesome. I really like the idea of elogin and login.
I am really glad you like it @damionx7; I spent quite a lot of time thinking about this aspect of the catch 22. Thank you very much for helping! I hope many more users will enjoy this new feature too.
Originally posted by @SDRausty in https://github.com/SDRausty/TermuxArch/issues/249#issuecomment-687791616
Thank you @JavisWiki and @michalbednarski for assisting 🎵
explain how does it work
Hopefully, this will add a little more helpful info to this topic as it is a very interesting catch:
a catch 22 situation
It still is; But the most difficult hurdle seems overcome! However, the Termux PATH had to be dropped again. There must be an easy way to add it to the new login. Termux PATH collision with
gcc
(clang is installed, but gcc is not) and probably more programs when usingyay
andmakeyay
was one reason. Thegcc
package wants the--link2symlink
option to be able to install in Arch Linux in Termux PRoot.Another one is that reimplementation was consuming a lot of time, and I was not able to reimplement it. The new login is not designed to build and install packages with
yay
as the--link2symlink
option is not present. So collisions should be trivial, if any as this login is not designed to build and install packages withyay
. @sudomain could you see how Termux PATH can be implemented in the proot init stringPROOTSTMNTU
and probably completely removed from the.bash_profile
file.The solution you selected is simply awesome. I really like the idea of elogin and login.
I am really glad you like it @damionx7; I spent quite a lot of time thinking about this aspect of the catch 22. Thank you very much for helping! I hope many more users will enjoy this new feature too.
Originally posted by @SDRausty in SDRausty/TermuxArch#249 (comment)
You are welcome,and thank you for your arch contribution~
Problem description
In termux,installed ubuntu(impish) with proot-distro,when I compile lede_openwrt firmware,logs oouput this error:
cp: cannot open '/home/javis/lede/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/initial/./bin/.l2s.mipsel-openwrt-linux-musl-objcopy0001' for reading: Too many levels of symbolic links cp: cannot open '/home/javis/lede/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/initial/./bin/.l2s.mipsel-openwrt-linux-musl-ar0001' for reading: Too many levels of symbolic links cp: cannot open '/home/javis/lede/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/initial/./bin/.l2s.mipsel-openwrt-linux-musl-nm0001' for reading: Too many levels of symbolic links
Steps to reproduce
Compile lede firmware.
Expected behavior
Too many levels of symbolic links,need to fix this.
Maybe we can install system in an img file,like this: emulate one virtual disk image file,make ext4 file system in image, emulate a folder related to this virtual disk image, then we can make links. I've tried use guestfs-tools to mount image file,but it doesn't work,lack of /dev/fuse permission. Expect fix it,thanks.
Additional information