I can't upgrade Gentoo in Android Chroot environment due to perl error: Reproducible: Always Steps to Reproduce: sudo emerge -uDNav --backtrack=100 --autounmask-keep-masks=y @world Actual Results: Cannot build with both -Duserelocatableinc and -Duseshrplib See INSTALL for an explanation why that won't work. * ERROR: dev-lang/perl-5.34.0-r3::gentoo failed (configure phase): * Unable to configure * * Call stack: * ebuild.sh, line 127: Called src_configure * environment, line 2067: Called die * The specific snippet of code: * sh Configure -des -Dinstallprefix="${EPREFIX}"'/usr' -Dinstallusrbinperl='n' "${myconf[@]}" || die "Unable to configure"; ... Which of these apply, if any? [linux-android] ./hints/linux-android.sh: line 317: getprop: command not found CANNOT LINK EXECUTABLE "/system/bin/sh": library "libsandbox.so" not found *********************** Warning! ********************* It would appear you have a defective bash shell installed. This is likely to give you a failure of op/exec test #5 during the test phase of the build, Upgrading to a recent version (1.14.4 or later) should fix the problem. ****************************************************** Operating system name? [linux-android] Operating system version? [none] Installation prefix to use? (~name ok) [/usr] ... The operating system name should be linux instead linux-android, because it's a chroot environment. How to force the operating system name to be linux?
Created attachment 745824 [details] build.log
Created attachment 745842 [details, diff] Do not set osname to linux-android Please try the attached patch.
(In reply to Tee KOBAYASHI from comment #2) > Created attachment 745842 [details, diff] [details, diff] > Do not set osname to linux-android > > Please try the attached patch. Putting the patch to /etc/portage/patches/dev-lang/perl-5.34.0/osname.patch it works. Now the osname is linux. But I want to talk about this line: $test -f /system/lib/libandroid.so && osname=linux-android In a chroot environment on Android, the path /system is always bind mounted. In my case I'm using the pass utility and I need the /system/bin/cmd (and other binaries) to access the Android clipboard. Having /system mounted doesn't mean it's Android, prefix.
(In reply to Vasile M. from comment #3) > But I want to talk about this line: > $test -f /system/lib/libandroid.so && osname=linux-android You may want to report it upstream: https://github.com/Perl/perl5/issues
*** This bug has been marked as a duplicate of bug 738906 ***