Learning Portage Together: Building PHP 5.6 On Arm64 RockChip Gentoo

I recently rented a RockChip running Stanislav's hygienic Gentoo from Pizarro to use for my own purposes. Since I have started embracing living the public life here in Montevideo, I may as well document building parts of my stack. Starting with PHP 5.6 lets see how much this medium wants to resist.

Negrodamus HerrBingo # date 052818262018
Mon May 28 18:26:00 -00 2018

Gotta set the time on these guys.

Negrodamus HerrBingo # date 052818262018
Mon May 28 18:26:00 -00 2018
Negrodamus HerrBingo # cd /etc/portage
Negrodamus portage # ls
make.conf make.profile package.mask repo.postsync.d savedconfig
Negrodamus portage # nano make.conf1

The Gentoo wiki suggests to install PHP the following command needs run:

Negrodamus portage # emerge –ask –update –changed-use –deep @world
* Last emerge –sync was 47d 5h 25m 20s ago.

These are the packages that would be merged, in order:

Calculating dependencies… done!
[ebuild U ] sys-kernel/linux-headers-4.16 [4.13]
[ebuild U ] sys-libs/glibc-9999 [2.25-r11] USE="(-compile-locales) (-doc)"
[ebuild U ] app-arch/bzip2-1.0.6-r9 [1.0.6-r8]
[ebuild U ] sys-libs/libseccomp-2.3.3 [2.3.2]
[ebuild U ] app-arch/gzip-1.9 [1.8]
[ebuild U ] sys-apps/debianutils-4.8.4 [4.7] USE="installkernel%*"
[ebuild U ] net-libs/libmnl-1.0.4 [1.0.3-r1]
[ebuild U ] sys-devel/automake-wrapper-11 [10]
[ebuild N ] app-crypt/gentoo-keys-201607021514-r2
[ebuild U ] dev-util/gperf-3.1 [3.0.4]
[ebuild U ] sys-libs/timezone-data-2018d [2017c]
[ebuild U ] app-arch/unzip-6.0_p21-r2 [6.0_p20]
[ebuild U ] sys-apps/sysvinit-2.89-r1 [2.88-r9]
[ebuild U ] sys-devel/patch-2.7.6-r1 [2.7.5]
[ebuild U ] virtual/acl-0-r2 [0-r1]
[ebuild N ] dev-libs/libksba-1.3.5-r1 USE="-static-libs"
[ebuild U ] sys-libs/libcap-2.25 [2.24-r2]
[ebuild N ] dev-vcs/cvs-1.12.12-r12 USE="crypt nls pam (-doc) (-kerberos) -server"
[ebuild U ] sys-apps/man-pages-4.15 [4.14]
[ebuild U ] sys-devel/binutils-config-5.1-r1 [5-r4]
[ebuild U ] sys-libs/readline-7.0_p3 [6.3_p8-r3]
[ebuild U ] dev-libs/libpipeline-1.5.0 [1.4.0]
[ebuild U ] sys-process/procps-3.3.14 [3.3.12] USE="(-elogind)"
[ebuild U ] app-shells/bash-4.4_p19 [4.3_p48-r1]
[ebuild U ] sys-apps/sed-4.5 [4.2.2] USE="-forced-sandbox%"
[ebuild U ] sys-apps/gawk-4.2.1-r1 [4.1.3] USE="-forced-sandbox%"
[ebuild U ] app-arch/tar-1.30 [1.29-r1]
[ebuild U ] sys-devel/make-4.2.1-r3 [4.1-r1]
[ebuild U ] sys-libs/e2fsprogs-libs-1.44.1 [1.43.3]
[ebuild U ] sys-process/vixie-cron-4.1-r15 [4.1-r14]
[ebuild U ] app-text/build-docbook-catalog-1.21 [1.20]
[ebuild NS ] app-text/docbook-xml-dtd-4.5-r1 [4.1.2-r6]
[ebuild NS ] app-text/docbook-xml-dtd-4.2-r2 [4.1.2-r6]
[ebuild U ] dev-libs/openssl-1.0.2o [1.0.2n]
[ebuild U ] sys-devel/gnuconfig-99999999 [20170101]
[ebuild U ] sys-apps/gentoo-functions-9999 [0.12]
[ebuild U ] dev-libs/libpcre-8.42 [8.41-r1]
[ebuild U ] sys-apps/grep-3.1 [3.0]
[ebuild U ] sys-apps/less-530 [529]
[ebuild NS ] sys-devel/binutils-9999 [2.29.1-r1] USE="cxx nls (-doc) -multitarget -static-libs {-test}"
[ebuild U ] sys-apps/coreutils-8.29 [8.26] USE="{-test%}"
[ebuild U ] sys-apps/groff-1.22.3 [1.22.2]
[ebuild U ] sys-process/psmisc-23.1 [22.21-r3]
[ebuild U ] net-firewall/iptables-1.6.2-r2 [1.4.21-r1] USE="-nftables% -pcap%"
[ebuild U ] app-portage/elt-patches-20170826.1 [20170422]
[ebuild U ] dev-libs/libunistring-0.9.9 [0.9.7]
[ebuild N ] dev-libs/libassuan-2.5.1 USE="-static-libs"
[ebuild U ] dev-libs/libpcre2-10.31 [10.30]
[ebuild N ] dev-libs/npth-1.5 USE="-static-libs"
[ebuild U ] dev-libs/libffi-3.2.1-r2 [3.2.1]
[ebuild NS ] sys-devel/autoconf-9999 [2.69-r4] USE="(-emacs)"
[ebuild NS ] sys-devel/automake-1.16.1-r1 [1.15.1-r2] USE="{-test}"
[ebuild U ] app-arch/xz-utils-9999 [5.2.2] USE="extra-filters%*"
[ebuild U ] sys-apps/shadow-4.5-r1 [4.5]
[ebuild U ] net-misc/wget-1.19.4 [1.19.1-r2]
[ebuild U ] sys-apps/diffutils-3.6 [3.5]
[ebuild U ] sys-devel/m4-1.4.18 [1.4.17]
[ebuild U ] app-misc/pax-utils-1.2.3-r1 [1.2.3] PYTHON_SINGLE_TARGET="python3_5%* -python2_7% -python3_4% -python3_6%" PYTHON_TARGETS="python2_7%* python3_5%* -python3_4% -python3_6%"
[ebuild U ] app-portage/portage-utils-0.70 [0.64]
[ebuild N ] app-admin/metalog-3-r2 USE="unicode"
[ebuild U ] sys-devel/flex-2.6.4-r1 [2.6.1]
[ebuild U ] sys-apps/sandbox-2.13 [2.12]
[ebuild N ] virtual/logger-0
[ebuild NS ] sys-libs/db-6.0.35-r1 [5.3.28-r2] USE="cxx (-doc) -examples -java -tcl {-test}"
[ebuild U ] dev-lang/perl-5.26.9999 [5.24.3]
[ebuild U ] virtual/perl-Test-Harness-3.380.0 [3.360.100_rc-r3]
[ebuild U ] virtual/perl-Data-Dumper-2.167.0 [2.160.0-r1]
[ebuild U ] virtual/perl-File-Spec-3.670.0 [3.630.100_rc-r3]
[ebuild U ] virtual/perl-Parse-CPAN-Meta-2.150.10 [1.441.700.100_rc-r3]
[ebuild U ] virtual/perl-CPAN-Meta-2.150.10 [2.150.5-r1]
[ebuild U ] virtual/perl-libnet-3.100.0 [3.80.100_rc-r3]
[ebuild U ] virtual/perl-Scalar-List-Utils-1.460.200_rc [1.420.200_rc-r1]
[ebuild N ] virtual/perl-XSLoader-0.270.0
[ebuild U ] virtual/perl-parent-0.236.0 [0.234.0-r1]
[ebuild U ] virtual/perl-Encode-2.880.0 [2.800.100_rc-r3]
[ebuild U ] virtual/perl-Carp-1.420.0 [1.400.0-r1]
[ebuild N ] virtual/perl-IO-1.380.0
[ebuild U ] virtual/perl-version-0.991.700 [0.991.600-r1]
[ebuild N ] virtual/perl-podlators-4.90.0
[ebuild U ] virtual/perl-Perl-OSType-1.10.0 [1.9.0-r1]
[ebuild U ] virtual/perl-Module-Metadata-1.0.33 [1.0.31-r1]
[ebuild U ] virtual/perl-Getopt-Long-2.490.0 [2.480.0-r1]
[ebuild U ] virtual/perl-ExtUtils-ParseXS-3.340.0 [3.310.0-r1]
[ebuild U ] virtual/perl-Digest-SHA-5.960.0 [5.950.100_rc-r5]
[ebuild U ] virtual/perl-Digest-MD5-2.550.0 [2.540.0-r3]
[ebuild U ] sys-apps/util-linux-9999 [2.30.2-r1]
[ebuild U ] sys-apps/file-9999 [5.32]
[ebuild U ] dev-lang/perl-5.24.3-r1 [5.24.3]
[ebuild U ] sys-apps/help2man-1.47.6 [1.46.6]
[ebuild N ] dev-perl/TimeDate-2.300.0
[ebuild N ] perl-core/ExtUtils-Manifest-1.700.0
[ebuild U ] virtual/perl-JSON-PP-2.274.0.200_rc [2.273.0.100_rc-r5]
[ebuild NS ] sys-devel/automake-1.12.6-r2 [1.15.1-r2] USE="{-test}"
[ebuild N ] perl-core/ExtUtils-MakeMaker-7.240.0 USE="{-test}"
[ebuild U ] virtual/perl-ExtUtils-MakeMaker-7.240.0 [7.100.200_rc-r3]
[blocks b ] >perl-core/ExtUtils-MakeMaker-7.100.200_rc-r999 (">perl-core/ExtUtils-MakeMaker-7.100.200_rc-r999" is blocking virtual/perl-ExtUtils-MakeMaker-7.100.200_rc-r3)
[ebuild U ] dev-perl/Module-Build-0.422.400 [0.421.600]
[ebuild U ] dev-perl/Text-Unidecode-1.300.0 [0.40.0-r1]
[ebuild U ] dev-perl/libintl-perl-1.280.0 [1.240.0-r2]
[ebuild N ] dev-perl/MailTools-2.190.0 USE="-examples {-test}"
[ebuild U ] dev-perl/Net-SSLeay-1.820.0 [1.810.0]
[ebuild U ] dev-perl/HTML-Parser-3.720.0 [3.710.0-r1]
[ebuild U ] dev-perl/TermReadKey-2.370.0 [2.330.0] USE="-examples%"
[ebuild U ] sys-apps/texinfo-6.5 [6.3]
[ebuild U ] dev-perl/CGI-4.360.0 [4.220.0] USE="-examples%"
[ebuild U ] dev-perl/Error-0.170.250 [0.170.240]
[ebuild U ] dev-perl/IO-Socket-SSL-2.52.0 [2.24.0] USE="-examples%"
[ebuild U ] dev-perl/SGMLSpm-1.1-r1 [1.03-r7]
[ebuild U ] sys-fs/e2fsprogs-1.44.1 [1.43.3-r1]
[ebuild N ] sys-apps/ed-1.14.2
[ebuild U ] dev-perl/Net-SMTP-SSL-1.40.0 [1.30.0]
[ebuild U ] sys-devel/bc-1.07.1-r1 [1.06.95-r2]
[ebuild U ] sys-devel/libtool-9999 [2.4.6-r3]
[ebuild U ] sys-libs/pam-1.3.0-r2 [1.2.1-r2] USE="(-vim-syntax)"
[ebuild U ] dev-libs/expat-2.2.5 [2.2.1]
[ebuild U ] dev-libs/libgcrypt-1.8.2-r2 [1.8.1] USE="-o-flag-munging%"
[ebuild U ] sys-libs/gdbm-1.14.1 [1.13-r2]
[ebuild U ] net-libs/liblockfile-1.14 [1.09]
[ebuild U ] dev-libs/nettle-3.4 [3.3-r2]
[ebuild N ] net-libs/libtirpc-1.0.3 USE="ipv6 (-kerberos) -static-libs"
[ebuild U ] net-misc/openssh-7.7_p1 [7.5_p1-r4] USE="-hpn*"
[ebuild U ] net-libs/gnutls-3.6.2 [3.5.15]
[ebuild U ] net-libs/libnsl-1.2.0 [0]
[ebuild U ] app-text/opensp-1.5.2-r6 [1.5.2-r3]
[ebuild N ] mail-mta/nullmailer-2.0-r2 USE="ssl {-test}"
[ebuild NS ] app-editors/emacs-26.1_rc1 [25.3-r4] USE="acl inotify ssl threads xpm zlib -X -Xaw3d -alsa (-aqua) -athena (-cairo) -dbus -dynamic-loading -games -gconf -gfile -gif -gpm -gsettings -gtk -gtk3 -gzip-el -imagemagick -jpeg (-kerberos) -libxml2 -livecd -m17n-lib -mailutils -motif -pax_kernel -png (-selinux) -sound -source -svg -systemd -tiff -toolkit-scroll-bars -wide-int -xft -xwidgets"
[ebuild N ] virtual/mta-1
[ebuild U ] dev-lang/python-3.5.5 [3.5.4-r1]
[ebuild NS ] dev-lang/python-3.6.5 [2.7.14-r1, 3.5.4-r1] USE="gdbm ipv6 ncurses readline ssl (threads) xml -build -examples (-hardened) -libressl -sqlite {-test} -tk -wininst"
[ebuild U ] app-misc/ca-certificates-20170717.3.36.1 [20161130.3.30.2]
[ebuild N ] app-text/asciidoc-8.6.10 USE="-examples -graphviz -highlight {-test}" PYTHON_SINGLE_TARGET="python2_7 (-pypy)" PYTHON_TARGETS="python2_7 (-pypy)"
[ebuild U ] dev-vcs/git-9999-r3 [2.16.1]
[ebuild U ] sys-devel/gcc-config-9999 [1.8-r1]
[ebuild U ] sys-apps/man-db-9999 [2.7.6.1-r2] USE="seccomp%*"
[ebuild U ] sys-apps/kbd-9999 [2.0.4]
[ebuild U ] sys-apps/busybox-9999 [1.28.0]
[ebuild U ] sys-apps/net-tools-9999 [1.60_p20161110235919]
[ebuild U ] sys-apps/iproute2-9999 [4.14.1-r2] USE="-elf%"
[ebuild U ] net-misc/iputils-99999999 [20151218] USE="-nettle%"
[ebuild U ] sys-apps/baselayout-9999 [2.4.1-r2] USE="-usrmerge%"
[ebuild U ] dev-lang/python-exec-9999 [2.4.4]
[ebuild U ] app-admin/eselect-9999 [1.4.8]
[ebuild NS ] sys-devel/automake-9999 [1.15.1-r2] USE="{-test}"
[ebuild U ] dev-util/pkgconfig-9999 [0.29.2]
[ebuild U ] sys-apps/opentmpfiles-9999 [0.1.3]
[ebuild U ] sys-apps/kmod-9999 [24]
[ebuild U ] sys-apps/install-xattr-9999 [0.5]
[ebuild U ] sys-fs/udev-init-scripts-9999 [27]
[ebuild U ] app-misc/screen-9999 [4.4.0] USE="-utmp%"
[ebuild U ] app-eselect/eselect-python-99999999 [20160516]
[ebuild R ] dev-python/pyparsing-2.2.0 PYTHON_TARGETS="python3_6*"
[ebuild N ] dev-python/bz2file-0.98 PYTHON_TARGETS="python2_7 (-pypy)"
[ebuild N ] app-eselect/eselect-lib-bin-symlink-9999
[ebuild U ] sys-apps/hwids-99999999 [20171003]
[ebuild N ] app-eselect/eselect-pinentry-0.7
[ebuild N ] app-crypt/pinentry-1.1.0 USE="ncurses -caps (-emacs) -gnome-keyring -gtk -qt5 -static"
[ebuild U ] sys-fs/eudev-9999 [3.2.5]
[ebuild U #] app-crypt/gnupg-2.2.6 [1.4.21] USE="smartcard* ssl%* (-doc) -tofu% -tools% -wks-server%"
[ebuild U ] dev-python/setuptools-9999 [34.0.2-r1]
[ebuild U ] dev-python/pyblake2-1.1.1 [1.1.0] PYTHON_TARGETS="(-pypy3)"
[ebuild U ] dev-python/pyxattr-9999 [0.5.5] PYTHON_TARGETS="-python3_6%"
[ebuild U ] dev-python/certifi-2017.11.5 [2017.4.17]
[ebuild N ] app-portage/gemato-9999 USE="blake2 bzip2 (-gpg) -lzma -sha3 {-test}" PYTHON_TARGETS="python2_7 python3_5 (-pypy) -python3_4 -python3_6"
[ebuild U ] sys-apps/portage-9999 [2.3.24-r1] USE="rsync-verify*"
[ebuild U ] app-admin/perl-cleaner-9999 [2.25]
[ebuild U ] app-portage/gentoolkit-9999 [0.4.0]
[ebuild U ] sys-apps/openrc-9999 [0.34.11]
[ebuild U ] net-misc/netifrc-9999 [0.5.1]

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

sys-libs/readline:0

(sys-libs/readline-7.0_p3:0/7::gentoo, ebuild scheduled for merge) pulled in by
>=sys-libs/readline-7.0:0= required by (app-shells/bash-4.4_p19:0/0::gentoo, ebuild scheduled for merge)
^^ ^^^^^^

(sys-libs/readline-6.3_p8-r3:0/0::gentoo, installed) pulled in by
sys-libs/readline:0/0= required by (sys-libs/gdbm-1.13-r2:0/1.13::gentoo, installed)
^^^^^
(and 3 more with the same problem)

dev-lang/perl:0

(dev-lang/perl-5.24.3-r1:0/5.24::gentoo, ebuild scheduled for merge) pulled in by
dev-lang/perl:0/5.24=[-build(-)] required by (dev-perl/Text-CharWidth-0.40.0-r1:0/0::gentoo, installed)
^^^^^^^^
(and 20 more with the same problem)

(dev-lang/perl-5.26.9999:0/5.26::gentoo, ebuild scheduled for merge) pulled in by
=dev-lang/perl-5.26* required by (virtual/perl-libnet-3.100.0:0/0::gentoo, ebuild scheduled for merge)
^ ^^^^^
(and 27 more with the same problem)

sys-libs/gdbm:0

(sys-libs/gdbm-1.14.1:0/5::gentoo, ebuild scheduled for merge) pulled in by
(no parents that aren't satisfied by other packages in this slot)

(sys-libs/gdbm-1.13-r2:0/1.13::gentoo, installed) pulled in by
sys-libs/gdbm:0/1.13=[berkdb] required by (dev-lang/python-2.7.14-r1:2.7/2.7::gentoo, installed)
^^^^^^^^

NOTE: Use the '–verbose-conflicts' option to display parents omitted above

It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously. If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.

The following mask changes are necessary to proceed:
(see "package.unmask" in the portage(5) man page for more details)
# required by sys-apps/portage-9999::gentoo[rsync-verify,-build]
# required by app-portage/gentoolkit-9999::gentoo
# required by @selected
# required by @world (argument)
# /etc/portage/package.mask/crapolade:
=app-crypt/gnupg-2.2.6

The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by sys-apps/hwids-99999999::gentoo[udev]
# required by sys-fs/eudev-9999::gentoo[hwdb]
# required by virtual/udev-217::gentoo[-systemd]
# required by sys-fs/udev-init-scripts-9999::gentoo
>=dev-python/pyparsing-2.2.0 python_targets_python3_6

NOTE: The –autounmask-keep-masks option will prevent emerge
from creating package.unmask or ** keyword changes.

Would you like to add these changes to your config files? [Yes/No] No2

* In order to avoid wasting time, backtracking has terminated early
* due to the above autounmask change(s). The –autounmask-backtrack=y
* option can be used to force further backtracking, but there is no
* guarantee that it will produce a solution.

!!! The following installed packages are masked:
– sys-devel/gcc-4.9.4::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Michał Górny <mgorny@gentoo.org>, Andreas K. Hüttel <dilfridge@gentoo.org>,
# Matthias Maier <tamiko@gentoo.org> (21 May 2017)
# These old versions of toolchain packages (binutils, gcc, glibc) are no
# longer officially supported and are not suitable for general use. Using
# these packages can result in build failures (and possible breakage) for
# many packages, and may leave your system vulnerable to known security
# exploits.
# If you still use one of these old toolchain packages, please upgrade (and
# switch the compiler / the binutils) ASAP. If you need them for a specific
# (isolated) use case, feel free to unmask them on your system.
# (updated 27 Dec 2017 with gcc < 5.4)

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

That was a lot of spew, but it was informative. Let's get to fixing:

Negrodamus portage # cd /etc/portage/package.mask
Negrodamus package.mask # ls
crapolade
Negrodamus package.mask # nano crapolade

And it turns out crapolade is nothing but unwantable shit. Time to reread the spew and spot where the attemp to snuff out good gcc is hiding.

Negrodamus package.mask # nano /usr/portage/profiles/package.mask

Here's where the shitgnome hatespeech oppressing hygienic GCC was hiding. Now let's try bringing order to the world again:

Negrodamus package.mask # emerge –ask –changed-use –autounmask-keep-masks –deep @world
* Last emerge –sync was 47d 5h 57m 38s ago.

* IMPORTANT: config file '/etc/portage/package.unmask' needs updating.
* See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
* sections of the emerge man page to learn how to update config files.

These are the packages that would be merged, in order:

Calculating dependencies… done!
[ebuild U ] sys-apps/debianutils-4.8.4 [4.7] USE="installkernel%*"
[ebuild N ] dev-vcs/cvs-1.12.12-r12 USE="crypt nls pam (-doc) (-kerberos) -server"
[ebuild U ] app-text/opensp-1.5.2-r6 [1.5.2-r3]
[ebuild U ] app-arch/xz-utils-9999 [5.2.2] USE="extra-filters%*"
[ebuild U ] sys-apps/util-linux-9999 [2.30.2-r1]
[ebuild U ] app-misc/pax-utils-1.2.3-r1 [1.2.3] PYTHON_SINGLE_TARGET="python3_5%* -python2_7% -python3_4% -python3_6%" PYTHON_TARGETS="python2_7%* python3_5%* -python3_4% -python3_6%"
[ebuild U ] net-libs/gnutls-3.6.2 [3.5.15]
[ebuild U ] dev-libs/libpipeline-1.5.0 [1.4.0]
[ebuild U ] net-misc/openssh-7.7_p1 [7.5_p1-r4] USE="-hpn*"
[ebuild NS ] app-editors/emacs-26.1_rc1 [25.3-r4] USE="acl inotify ssl threads xpm zlib -X -Xaw3d -alsa (-aqua) -athena (-cairo) -dbus -dynamic-loading -games -gconf -gfile -gif -gpm -gsettings -gtk -gtk3 -gzip-el -imagemagick -jpeg (-kerberos) -libxml2 -livecd -m17n-lib -mailutils -motif -pax_kernel -png (-selinux) -sound -source -svg -systemd -tiff -toolkit-scroll-bars -wide-int -xft -xwidgets"
[ebuild U ] sys-apps/man-db-9999 [2.7.6.1-r2] USE="seccomp%*"

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

sys-libs/glibc:2.2

(sys-libs/glibc-9999:2.2/2.2::gentoo, ebuild scheduled for merge) conflicts with
<sys-libs/glibc-2.26 required by (net-libs/libnsl-0:0/1::gentoo, installed)
^ ^^^^

!!! The following update has been skipped due to unsatisfied dependencies:

sys-apps/portage:0

selected: (sys-apps/portage-2.3.24-r1:0/0::gentoo, installed)
skipped: (sys-apps/portage-9999:0/0::gentoo, ebuild scheduled for merge) (see unsatisfied dependency below)

!!! All ebuilds that could satisfy ">=app-crypt/gnupg-2.2.4-r2[ssl(-)]" have been masked.
!!! One of the following masked packages is required to complete your request:
– app-crypt/gnupg-2.2.6::gentoo (masked by: package.mask)
– app-crypt/gnupg-2.2.5-r1::gentoo (masked by: package.mask)
– app-crypt/gnupg-2.2.4-r2::gentoo (masked by: package.mask)

(dependency required by "sys-apps/portage-9999::gentoo[rsync-verify,-build]" [ebuild])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

Would you like to merge these packages? [Yes/No] Y
>>> Verifying ebuild manifests
>>> Running pre-merge checks for net-misc/openssh-7.7_p1
>>> Emerging (1 of 11) sys-apps/debianutils-4.8.4::gentoo
>>> Installing (1 of 11) sys-apps/debianutils-4.8.4::gentoo
>>> Emerging (2 of 11) dev-vcs/cvs-1.12.12-r12::gentoo
>>> Installing (2 of 11) dev-vcs/cvs-1.12.12-r12::gentoo
>>> Emerging (3 of 11) app-text/opensp-1.5.2-r6::gentoo
>>> Emerging (4 of 11) app-arch/xz-utils-9999::gentoo
>>> Installing (3 of 11) app-text/opensp-1.5.2-r6::gentoo
>>> Installing (4 of 11) app-arch/xz-utils-9999::gentoo
>>> Emerging (5 of 11) sys-apps/util-linux-9999::gentoo
>>> Installing (5 of 11) sys-apps/util-linux-9999::gentoo
>>> Emerging (6 of 11) app-misc/pax-utils-1.2.3-r1::gentoo
>>> Installing (6 of 11) app-misc/pax-utils-1.2.3-r1::gentoo
>>> Emerging (7 of 11) net-libs/gnutls-3.6.2::gentoo
>>> Emerging (8 of 11) dev-libs/libpipeline-1.5.0::gentoo
>>> Emerging (9 of 11) net-misc/openssh-7.7_p1::gentoo
>>> Installing (7 of 11) net-libs/gnutls-3.6.2::gentoo
>>> Installing (8 of 11) dev-libs/libpipeline-1.5.0::gentoo
>>> Installing (9 of 11) net-misc/openssh-7.7_p1::gentoo
>>> Emerging (10 of 11) app-editors/emacs-26.1_rc1::gentoo
>>> Emerging (11 of 11) sys-apps/man-db-9999::gentoo
>>> Failed to emerge sys-apps/man-db-9999, Log file:
>>> '/var/tmp/portage/sys-apps/man-db-9999/temp/build.log'
>>> Installing (10 of 11) app-editors/emacs-26.1_rc1::gentoo
>>> Jobs: 10 of 11 complete, 1 failed Load avg: 2.33, 3.39, 3.28
* Package: sys-apps/man-db-9999
* Repository: gentoo
* Maintainer: base-system@gentoo.org
* USE: arm64 berkdb elibc_glibc gdbm kernel_linux manpager nls seccomp userland_GNU zlib
* FEATURES: preserve-libs sandbox userpriv usersandbox
* Defaulting to USE=gdbm due to ambiguous berkdb/gdbm USE flag settings
>>> Unpacking source…
Initialized empty Git repository in /usr/portage/distfiles/git3-src/man-db.git/
* Fetching https://git.savannah.gnu.org/git/man-db.git …
git fetch https://git.savannah.gnu.org/git/man-db.git +HEAD:refs/git-r3/HEAD
remote: Counting objects: 25202, done.
remote: Compressing objects: 100% (5598/5598), done.
remote: Total 25202 (delta 19544), reused 25147 (delta 19507)
Receiving objects: 100% (25202/25202), 178.12 MiB | 1.14 MiB/s, done.
Resolving deltas: 100% (19544/19544), done.
From https://git.savannah.gnu.org/git/man-db
* [new ref] -> refs/git-r3/HEAD
* [new tag] 2.3.18 -> 2.3.18
* [new tag] 2.3.19 -> 2.3.19
* [new tag] 2.3.20 -> 2.3.20
* [new tag] 2.3.90 -> 2.3.90
* [new tag] 2.4.0 -> 2.4.0
* [new tag] 2.4.1 -> 2.4.1
* [new tag] 2.4.1-pre1 -> 2.4.1-pre1
* [new tag] 2.4.2 -> 2.4.2
* [new tag] 2.4.2-pre1 -> 2.4.2-pre1
* [new tag] 2.4.3 -> 2.4.3
* [new tag] 2.4.3-pre1 -> 2.4.3-pre1
* [new tag] 2.4.4 -> 2.4.4
* [new tag] 2.4.4-pre1 -> 2.4.4-pre1
* [new tag] 2.4.5-pre1 -> 2.4.5-pre1
* [new tag] 2.5.0 -> 2.5.0
* [new tag] 2.5.0-pre1 -> 2.5.0-pre1
* [new tag] 2.5.0-pre2 -> 2.5.0-pre2
* [new tag] 2.5.1 -> 2.5.1
* [new tag] 2.5.1-pre1 -> 2.5.1-pre1
* [new tag] 2.5.1-pre2 -> 2.5.1-pre2
* [new tag] 2.5.2 -> 2.5.2
* [new tag] 2.5.2-pre1 -> 2.5.2-pre1
* [new tag] 2.5.2-pre2 -> 2.5.2-pre2
* [new tag] 2.5.3 -> 2.5.3
* [new tag] 2.5.3-pre1 -> 2.5.3-pre1
* [new tag] 2.5.4 -> 2.5.4
* [new tag] 2.5.4-pre1 -> 2.5.4-pre1
* [new tag] 2.5.5 -> 2.5.5
* [new tag] 2.5.6 -> 2.5.6
* [new tag] 2.5.6-pre1 -> 2.5.6-pre1
* [new tag] 2.5.7 -> 2.5.7
* [new tag] 2.5.7-pre1 -> 2.5.7-pre1
* [new tag] 2.5.8 -> 2.5.8
* [new tag] 2.5.8-pre1 -> 2.5.8-pre1
* [new tag] 2.5.9 -> 2.5.9
* [new tag] 2.6.0 -> 2.6.0
* [new tag] 2.6.0-pre1 -> 2.6.0-pre1
* [new tag] 2.6.0.1 -> 2.6.0.1
* [new tag] 2.6.0.2 -> 2.6.0.2
* [new tag] 2.6.1 -> 2.6.1
* [new tag] 2.6.1-pre1 -> 2.6.1-pre1
* [new tag] 2.6.2 -> 2.6.2
* [new tag] 2.6.3 -> 2.6.3
* [new tag] 2.6.4 -> 2.6.4
* [new tag] 2.6.4-pre1 -> 2.6.4-pre1
* [new tag] 2.6.5 -> 2.6.5
* [new tag] 2.6.6 -> 2.6.6
* [new tag] 2.6.6-pre1 -> 2.6.6-pre1
* [new tag] 2.6.6-pre2 -> 2.6.6-pre2
* [new tag] 2.6.7 -> 2.6.7
* [new tag] 2.6.7.1 -> 2.6.7.1
* [new tag] 2.7.0 -> 2.7.0
* [new tag] 2.7.0-pre1 -> 2.7.0-pre1
* [new tag] 2.7.0.1 -> 2.7.0.1
* [new tag] 2.7.0.2 -> 2.7.0.2
* [new tag] 2.7.1 -> 2.7.1
* [new tag] 2.7.2 -> 2.7.2
* [new tag] 2.7.3 -> 2.7.3
* [new tag] 2.7.4 -> 2.7.4
* [new tag] 2.7.5 -> 2.7.5
* [new tag] 2.7.6 -> 2.7.6
* [new tag] 2.7.6.1 -> 2.7.6.1
* [new tag] 2.8.0 -> 2.8.0
* [new tag] 2.8.0-pre1 -> 2.8.0-pre1
* [new tag] 2.8.0-pre2 -> 2.8.0-pre2
* [new tag] 2.8.1 -> 2.8.1
* [new tag] 2.8.2 -> 2.8.2
* [new tag] 2.8.3 -> 2.8.3
git symbolic-ref refs/git-r3/sys-apps/man-db/0/__main__ refs/git-r3/HEAD
* Checking out https://git.savannah.gnu.org/git/man-db.git to /var/tmp/portage/sys-apps/man-db-9999/work/man-db-9999 …
git checkout –quiet refs/git-r3/HEAD
GIT NEW branch –>
repository: https://git.savannah.gnu.org/git/man-db.git
at the commit: ccff906eeeeb1a3f0d694db8d890cfdf76f54a9a
>>> Source unpacked in /var/tmp/portage/sys-apps/man-db-9999/work
>>> Preparing source in /var/tmp/portage/sys-apps/man-db-9999/work/man-db-9999 …
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/sys-apps/man-db-9999/work/man-db-9999 …
* ERROR: sys-apps/man-db-9999::gentoo failed (configure phase):
* no configure script found
*
* Call stack:
* ebuild.sh, line 124: Called src_configure
* environment, line 2256: Called econf '–docdir=$(datarootdir)/doc/man-db-9999' '–with-systemdtmpfilesdir=/usr/lib/tmpfiles.d' '–enable-setuid' '–enable-cache-owner=man' '–with-sections=1 1p 8 2 3 3p 4 5 6 7 9 0p tcl n l p o 1x 2x 3x 4x 5x 6x 7x 8x' '–enable-nls' '–disable-static' '–with-libseccomp' '–with-db=gdbm'
* phase-helpers.sh, line 672: Called die
* The specific snippet of code:
* die "no configure script found"
*
* If you need support, post the output of `emerge –info '=sys-apps/man-db-9999::gentoo'`,
* the complete build log and the output of `emerge -pqv '=sys-apps/man-db-9999::gentoo'`.
* The complete build log is located at '/var/tmp/portage/sys-apps/man-db-9999/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-apps/man-db-9999/temp/environment'.
* Working directory: '/var/tmp/portage/sys-apps/man-db-9999/work/man-db-9999'
* S: '/var/tmp/portage/sys-apps/man-db-9999/work/man-db-9999'

* Messages for package sys-apps/util-linux-9999:

* The mesg/wall/write tools have been disabled due to USE=-tty-helpers.

* Messages for package sys-apps/man-db-9999:

* Defaulting to USE=gdbm due to ambiguous berkdb/gdbm USE flag settings
* ERROR: sys-apps/man-db-9999::gentoo failed (configure phase):
* no configure script found
*
* Call stack:
* ebuild.sh, line 124: Called src_configure
* environment, line 2256: Called econf '–docdir=$(datarootdir)/doc/man-db-9999' '–with-systemdtmpfilesdir=/usr/lib/tmpfiles.d' '–enable-setuid' '–enable-cache-owner=man' '–with-sections=1 1p 8 2 3 3p 4 5 6 7 9 0p tcl n l p o 1x 2x 3x 4x 5x 6x 7x 8x' '–enable-nls' '–disable-static' '–with-libseccomp' '–with-db=gdbm'
* phase-helpers.sh, line 672: Called die
* The specific snippet of code:
* die "no configure script found"
*
* If you need support, post the output of `emerge –info '=sys-apps/man-db-9999::gentoo'`,
* the complete build log and the output of `emerge -pqv '=sys-apps/man-db-9999::gentoo'`.
* The complete build log is located at '/var/tmp/portage/sys-apps/man-db-9999/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-apps/man-db-9999/temp/environment'.
* Working directory: '/var/tmp/portage/sys-apps/man-db-9999/work/man-db-9999'
* S: '/var/tmp/portage/sys-apps/man-db-9999/work/man-db-9999'

* Messages for package app-editors/emacs-26.1_rc1:

* You can set the version to be started by /usr/bin/emacs through the
* Emacs eselect module, which also redirects man and info pages.
* Therefore, several Emacs versions can be installed at the same time.
* "man emacs.eselect" for details.
*
* If you upgrade from Emacs version 24.2 or earlier, then it is
* strongly recommended that you use app-admin/emacs-updater to rebuild
* all byte-compiled elisp files of the installed Emacs packages.
*
* (Note: Above message is only printed the first time package is
* installed. Please look at /usr/share/doc/emacs-26.1_rc1/README.gentoo*
* for future reference)

* Regenerating GNU info directory index…
* Processed 104 info files.

* IMPORTANT: 2 config files in '/etc' need updating.
* See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
* sections of the emerge man page to learn how to update config files.
* After world updates, it is important to remove obsolete packages with
* emerge –depclean. Refer to `man emerge` for more information.

Having come this far, it is time to give php a chance:

Negrodamus package.mask # emerge –ask dev-lang/php:5.6
* Last emerge –sync was 47d 8h 2m 20s ago.

* IMPORTANT: config file '/etc/portage/package.unmask' needs updating.
* See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
* sections of the emerge man page to learn how to update config files.

These are the packages that would be merged, in order:

Calculating dependencies… done!
[ebuild N ] dev-libs/oniguruma-6.7.1 USE="-combination-explosion-check -crnl-as-line-terminator -static-libs"
[ebuild N ] dev-libs/libmcrypt-2.5.8-r4
[ebuild N ] app-eselect/eselect-php-9999 USE="fpm -apache2"
[ebuild N ] app-admin/metalog-3-r2 USE="unicode"
[ebuild N ] virtual/logger-0
[ebuild N ] mail-mta/nullmailer-2.0-r2 USE="ssl {-test}"
[ebuild N ] virtual/mta-1
[ebuild N ] dev-lang/php-5.6.35-r1 USE="acl berkdb bzip2 cgi cli crypt ctype fileinfo filter fpm gdbm hash iconv ipv6 json nls opcache phar posix readline session simplexml ssl tokenizer unicode xml zlib -apache2 -bcmath -calendar -cdb -cjk -coverage -curl -debug -embed -enchant -exif (-firebird) -flatfile -ftp -gd -gmp -imap -inifile -intl -iodbc (-kerberos) (-ldap) (-ldap-sasl) -libedit -libmysqlclient -libressl -mhash (-mssql) (-mysql) -mysqli (-oci8-instant-client) -odbc -pcntl -pdo -postgres (-qdbm) -recode (-selinux) -sharedmem -snmp -soap -sockets -spell -sqlite -sybase-ct -systemd -sysvipc -threads -tidy -truetype (-vpx) -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xslt -zip"

Would you like to merge these packages? [Yes/No] Y
>>> Verifying ebuild manifests
>>> Emerging (1 of 8) dev-libs/oniguruma-6.7.1::gentoo
>>> Emerging (2 of 8) dev-libs/libmcrypt-2.5.8-r4::gentoo
>>> Emerging (3 of 8) app-eselect/eselect-php-9999::gentoo
>>> Installing (3 of 8) app-eselect/eselect-php-9999::gentoo
>>> Emerging (4 of 8) app-admin/metalog-3-r2::gentoo
>>> Installing (1 of 8) dev-libs/oniguruma-6.7.1::gentoo
>>> Installing (2 of 8) dev-libs/libmcrypt-2.5.8-r4::gentoo
>>> Installing (4 of 8) app-admin/metalog-3-r2::gentoo
>>> Emerging (5 of 8) virtual/logger-0::gentoo
>>> Installing (5 of 8) virtual/logger-0::gentoo
>>> Emerging (6 of 8) mail-mta/nullmailer-2.0-r2::gentoo
>>> Installing (6 of 8) mail-mta/nullmailer-2.0-r2::gentoo
>>> Emerging (7 of 8) virtual/mta-1::gentoo
>>> Installing (7 of 8) virtual/mta-1::gentoo
>>> Emerging (8 of 8) dev-lang/php-5.6.35-r1::gentoo
>>> Installing (8 of 8) dev-lang/php-5.6.35-r1::gentoo
>>> Recording dev-lang/php:5.6 in "world" favorites file…
>>> Jobs: 8 of 8 complete Load avg: 1.19, 2.69, 3.51

* Messages for package mail-mta/nullmailer-2.0-r2:

* To create an initial setup, please do:
* emerge –config =mail-mta/nullmailer-2.0-r2

* Messages for package dev-lang/php-5.6.35-r1:

* Installing php.ini for cli into /etc/php/cli-php5.6
*
* Adding opcache to /etc/php/cli-php5.6/ext
* Installing php.ini for cgi into /etc/php/cgi-php5.6
*
* Adding opcache to /etc/php/cgi-php5.6/ext
* Installing php.ini for fpm into /etc/php/fpm-php5.6
*
* Adding opcache to /etc/php/fpm-php5.6/ext
* For details on how version slotting works, please see
* the wiki:
*
* https://wiki.gentoo.org/wiki/PHP
*
>>> Auto-cleaning packages…

>>> No outdated packages were found on your system.

* GNU info directory index is up-to-date.

* IMPORTANT: 2 config files in '/etc' need updating.
* See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
* sections of the emerge man page to learn how to update config files.

Negrodamus package.mask #

Questions? Comments? What will Bingo build next?

 


  1. I tweaked some flags and added the live for PHP_TARGETS, everything below this in make.conf is the default:

    USE="mysql cgi fpm -gtk3 -avahi -gnome -tls-heartbeat -gpm -X -libnotify -consolekit offensive ufw -dbus -bluetooth -systemd -wayl$
    PHP_TARGETS="php5-6"
     

  2. Why would I let the script change shit BEFORE I peak into the workings of the beast???  

4 thoughts on “Learning Portage Together: Building PHP 5.6 On Arm64 RockChip Gentoo

  1. Very useful, thank you!

    One question though: according to esthlos' guide to installing mp wp, one would need php5.6.34-r1 rather than .35 (see the package mask at point 2.2 here: http://blog.esthlos.com/mp-wp-setup/ ). Did you try emerging php with that mask or how did you end up with 5.6.35?

    For me at least, one very useful "next build" + guide would be the full path to getting mp-wp installed on the rockchip.

    • Thank you for the question. 5.6.35 is the version Portage pulled in. At the point this blog post starts the only other actions I had taken on the rockchip were user setup, changing sshd configs, plugging in my personal FG already in Montevideo, and setting stty settings for that. A big reason for putting all the spew into the post is that this is my first time using Portage, and I do not know all the little tricks. Or the big picture basics.

      The walk to setting up mp-wp on this machine will involve several more posts on this blog. One caution I would like to provide is that I don't at this point plan to use Apache as the http daemon. I plan to use lighttpd. This decision shaped the changes to the global make.conf use flags I noted in the first footnote, particularly removing the php use flag.

  2. Also note that to use mp-wp you will need mysql, and while you've specified the USE flag for mysql in make.conf, be aware the shitgnomes have removed "mysql" in favor of "mysqli" for /dev-lang/php:
    https://packages.gentoo.org/packages/dev-lang/php

    Of course, adding the USE flag for mysqli doesn't seem to satisfy mp-wp (see log reference below)..

    esthlos appears to have solved this issue, but his blog post diana referenced doesn't appear to have the secret maneuver.

    I've pinged the man in #t to see what he says, but I'll keep hunting in the meantime:
    http://btcbase.org/log/2018-05-29#1819437

Leave a Reply

Your email address will not be published. Required fields are marked *