Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 818952 - dev-lang/perl-5.34.0-r3: fails to install on Android Prefix (error: Cannot build with both -Duserelocatableinc and -Duseshrplib)
Summary: dev-lang/perl-5.34.0-r3: fails to install on Android Prefix (error: Cannot bu...
Status: RESOLVED DUPLICATE of bug 738906
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-10-20 01:38 UTC by Vasile M.
Modified: 2021-10-21 07:58 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,13.18 KB, text/plain)
2021-10-20 01:39 UTC, Vasile M.
Details
Do not set osname to linux-android (perl-5.34.0-no-android.patch,225 bytes, patch)
2021-10-20 08:25 UTC, Tee KOBAYASHI
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vasile M. 2021-10-20 01:38:58 UTC
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?
Comment 1 Vasile M. 2021-10-20 01:39:44 UTC
Created attachment 745824 [details]
build.log
Comment 2 Tee KOBAYASHI 2021-10-20 08:25:05 UTC
Created attachment 745842 [details, diff]
Do not set osname to linux-android

Please try the attached patch.
Comment 3 Vasile M. 2021-10-20 12:41:53 UTC
(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.
Comment 4 Tee KOBAYASHI 2021-10-20 22:32:36 UTC
(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
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-10-21 07:58:46 UTC

*** This bug has been marked as a duplicate of bug 738906 ***