sakaki-/gentoo-on-rpi-64bit

ponyc , ghc

necrose99 opened this issue · 4 comments

https://data.gpo.zugaina.org/stefantalpalaru/dev-lang/pony/
newer ,
https://github.com/ponylang/corral ie like cargo... but no for ebuilds atm or ponyup...

https://data.gpo.zugaina.org/haskell/dev-lang/ghc/ghc-8.8.2.ebuild
then can build more newer.. if i had a server or distcc , on other rpi's. /rock64 ...
however i got bit greedy n pushed rpi4 to the uncle point plz no... more emerge foo....
5/7 and near 90% died .... on newer gentoo ghc bootstrap/makebinary ... etc..
https://www.dropbox.com/sh/gfsfqv3p4lvnzi6/AAAE-Mb_8ko1oX3xSROVkP8ia?dl=0 ghc built.. ghc-8.8.2-1.xpak
sha256: D2DD9598BD3DD7B59521334680B8EF62111F699EC9BFF2F0BE458D18748F406B

I'd warn less you have 256 gig card or larger ssd /drive over usb ... to avoid , GHC 8 gigs/2gigs ... useful but a 🐖 🐷

256 gig , long card in rpi4 ,
https://github.com/necrose99/gentoo-binhost few goodies like snes9x or the like. few items ie @pentoo
grub+uboot+aarch64-efi ....

however they pythonic libs/script can break between host nodes so uploads can break-ish. .. , had to add a .gitinore so .py wont upload on gh.. /etc/portage... mirror.
api key swap... n pray...
setting up a more expansive binhost ... as anything larger than 25 megs ..... tends to not upload.

rock64-pro if i get anm.2 for it , of the 1tb variety prolly can have rpi4-gentoo-docker images , build/push.
emerge really-bad-idea/unstable ?? in docker if it packages to host test... remove...
grub2 is built to the 9's with uboot+efi

starship-0.42.0.ebuild.txt

Extra info about ghc:
(as requested by the failing install:)
$ sudo emerge dev-lang/ghc

Local copy of remote index is up-to-date and will be used.

Local copy of remote index is up-to-date and will be used.
Calculating dependencies... done!

Verifying ebuild manifests
Running pre-merge checks for dev-lang/ghc-8.0.2

  • Checking for at least 8 GiB disk space at "/var/tmp/portage/dev-lang/ghc-8.0.2/temp" ... [ ok ]
  • Checking for at least 2 GiB disk space at "/usr" ... [ ok ]

Emerging (1 of 2) dev-lang/ghc-8.0.2::gentoo
Failed to emerge dev-lang/ghc-8.0.2, Log file:
'/var/tmp/portage/dev-lang/ghc-8.0.2/temp/build.log'
Jobs: 0 of 2 complete, 1 failed Load avg: 3.23, 2.84, 2.89

  • Package: dev-lang/ghc-8.0.2
  • Repository: gentoo
  • Maintainer: haskell@gentoo.org
  • USE: arm64 elibc_glibc gmp kernel_linux profile userland_GNU
  • FEATURES: network-sandbox preserve-libs sandbox userpriv usersandbox
  • Checking for at least 8 GiB disk space at "/var/tmp/portage/dev-lang/ghc-8.0.2/temp" ...
    [ ok ]
  • Checking for at least 2 GiB disk space at "/usr" ...
    [ ok ]

Unpacking source...
Unpacking ghc-8.0.2-src.tar.xz to /var/tmp/portage/dev-lang/ghc-8.0.2/work
Unpacking ghc-bin-8.0.2-arm64.tbz2 to /var/tmp/portage/dev-lang/ghc-8.0.2/work

bzip2: /var/tmp/portage/dev-lang/ghc-8.0.2/distdir/ghc-bin-8.0.2-arm64.tbz2: trailing garbage after EOF ignored

Source unpacked in /var/tmp/portage/dev-lang/ghc-8.0.2/work
Preparing source in /var/tmp/portage/dev-lang/ghc-8.0.2/work/ghc-8.0.2 ...

  • strip-flags: CFLAGS: changed '-march=armv8-a+crc -mtune=cortex-a72 -ftree-vectorize -O2 -pipe' to '-march=armv8-a+crc -mtune=cortex-a72 -O2 -pipe'

  • strip-flags: CXXFLAGS: changed '-march=armv8-a+crc -mtune=cortex-a72 -ftree-vectorize -O2 -pipe' to '-march=armv8-a+crc -mtune=cortex-a72 -O2 -pipe'

  • Relocating 'lib' to 'lib64' (bug #476998)
    /var/tmp/portage/dev-lang/ghc-8.0.2/temp/ghc-pkg-8.0.2-orig: line 11: /var/tmp/portage/dev-lang/ghc-8.0.2/work/usr/lib64/ghc-8.0.2/bin/ghc-pkg: No such file or directory

  • ERROR: dev-lang/ghc-8.0.2::gentoo failed (prepare phase):

  • failed to update cache after relocation

  • Call stack:

  • ebuild.sh, line  125:  Called src_prepare
    
  • environment, line 3723: Called relocate_ghc '/var/tmp/portage/dev-lang/ghc-8.0.2/work'

  • environment, line 3484: Called die

  • The specific snippet of code:

  •   "$gp_back" recache || die "failed to update cache after relocation";
    
  • If you need support, post the output of emerge --info '=dev-lang/ghc-8.0.2::gentoo',

  • the complete build log and the output of emerge -pqv '=dev-lang/ghc-8.0.2::gentoo'.

  • The complete build log is located at '/var/tmp/portage/dev-lang/ghc-8.0.2/temp/build.log'.

  • The ebuild environment file is located at '/var/tmp/portage/dev-lang/ghc-8.0.2/temp/environment'.

  • Working directory: '/var/tmp/portage/dev-lang/ghc-8.0.2/work/ghc-8.0.2'

  • S: '/var/tmp/portage/dev-lang/ghc-8.0.2/work/ghc-8.0.2'

  • Messages for package dev-lang/ghc-8.0.2:

  • ERROR: dev-lang/ghc-8.0.2::gentoo failed (prepare phase):

  • failed to update cache after relocation

  • Call stack:

  • ebuild.sh, line  125:  Called src_prepare
    
  • environment, line 3723: Called relocate_ghc '/var/tmp/portage/dev-lang/ghc-8.0.2/work'

  • environment, line 3484: Called die

  • The specific snippet of code:

  •   "$gp_back" recache || die "failed to update cache after relocation";
    
  • If you need support, post the output of emerge --info '=dev-lang/ghc-8.0.2::gentoo',

  • the complete build log and the output of emerge -pqv '=dev-lang/ghc-8.0.2::gentoo'.

  • The complete build log is located at '/var/tmp/portage/dev-lang/ghc-8.0.2/temp/build.log'.

  • The ebuild environment file is located at '/var/tmp/portage/dev-lang/ghc-8.0.2/temp/environment'.

  • Working directory: '/var/tmp/portage/dev-lang/ghc-8.0.2/work/ghc-8.0.2'

  • S: '/var/tmp/portage/dev-lang/ghc-8.0.2/work/ghc-8.0.2'

$ emerge -pqv '=dev-lang/ghc-8.0.2::gentoo'
Local copy of remote index is up-to-date and will be used.
[ebuild N ] dev-lang/ghc-8.0.2 USE="gmp profile -binary -doc -ghcbootstrap -ghcmakebinary"
[ebuild N ] app-admin/haskell-updater-1.3.2

$ emerge --info '=dev-lang/ghc-8.0.2::gentoo'
Portage 2.3.103 (python 3.6.10-final-0, default/linux/arm64/17.0/desktop, gcc-10.1.0, glibc-2.31-r5, 5.4.45-v8-3b41649ff96d-p4-bis+ aarch64)

                     System Settings

=================================================================
System uname: Linux-5.4.45-v8-3b41649ff96d-p4-bis+-aarch64-with-gentoo-2.7
KiB Mem: 3834748 total, 1360144 free
KiB Swap: 1048572 total, 1047804 free
Timestamp of repository gentoo: Fri, 10 Jul 2020 16:00:01 +0000
Head commit of repository gentoo: 99596149e4d2382e870a71c49c39f8e115c126f3
Head commit of repository sakaki-tools: ac4852fe85b8bd495c956d18c812c4eb9c65a2eb

Head commit of repository genpi64: 16e766b4eb741930e7ca48dfcb0dd4b5a86909e0

sh bash 5.0_p17
ld GNU ld (Gentoo 2.34 p4) 2.34.0
distcc 3.3.3 aarch64-unknown-linux-gnu [disabled]
app-shells/bash: 5.0_p17::gentoo
dev-java/java-config: 2.3.1::gentoo
dev-lang/perl: 5.30.3-r1::gentoo
dev-lang/python: 2.7.18::gentoo, 3.6.10-r2::genpi64, 3.7.8::genpi64, 3.8.3::genpi64, 3.9.0_beta4::gentoo
dev-util/cmake: 3.17.3::gentoo
dev-util/pkgconfig: 0.29.2::gentoo
sys-apps/baselayout: 2.7::gentoo
sys-apps/openrc: 0.42.1-r3::genpi64
sys-apps/sandbox: 2.20::gentoo
sys-devel/autoconf: 2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake: 1.16.2::gentoo
sys-devel/binutils: 2.34-r1::gentoo
sys-devel/gcc: 10.1.0-r2::gentoo
sys-devel/gcc-config: 2.3.1::gentoo
sys-devel/libtool: 2.4.6-r6::gentoo
sys-devel/make: 4.3::gentoo
sys-kernel/linux-headers: 5.4-r1::gentoo (virtual/os-headers)
sys-libs/glibc: 2.31-r5::gentoo
Repositories:

gentoo
location: /var/db/repos/gentoo
sync-type: rsync
sync-uri: rsync://isshoni.org/gentoo-portage-pi64-gem
priority: -1000
sync-rsync-verify-metamanifest: yes
sync-rsync-verify-max-age: 24
sync-rsync-verify-jobs: 1
sync-rsync-extra-opts:

sakaki-tools
location: /var/db/repos/sakaki-tools
sync-type: git
sync-uri: https://github.com/sakaki-/sakaki-tools.git
masters: gentoo
priority: 50

genpi64
location: /var/db/repos/genpi64
sync-type: git
sync-uri: https://github.com/sakaki-/genpi64-overlay.git
masters: gentoo
priority: 100

ACCEPT_KEYWORDS="* arm64 ~* ~arm64"
ACCEPT_LICENSE="@free CC-Sampling-Plus-1.0"
CBUILD="aarch64-unknown-linux-gnu"
CFLAGS="-march=armv8-a+crc -mtune=cortex-a72 -ftree-vectorize -O2 -pipe"
CHOST="aarch64-unknown-linux-gnu"
CONFIG_PROTECT="/boot/cmdline.txt /boot/config.txt /boot/startup.sh /etc /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.6/conf"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=armv8-a+crc -mtune=cortex-a72 -ftree-vectorize -O2 -pipe"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--jobs=5 --load-average=4"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles getbinpkg ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://trumpetti.atm.tut.fi/gentoo/ http://distfiles.gentoo.org"
LANG="en_GB.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5 -l4"
PKGDIR="/var/cache/binpkgs"
PORTAGE_BINHOST="https://isshoni.org/pi64pie"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa arm64 berkdb bindist bluetooth branding bzip2 cairo cdda cdr cli crypt cups dbus dri dts dvdr egl elogind emboss encode exif ffmpeg flac fortran gdbm gif gles1 gles2 gpm gtk iconv icu ipv6 jpeg lcms ldap libnotify libtirpc lock mad mng mp3 mp4 mpeg ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt4 qt5 readline sdl seccomp spell split-usr ssl startup-notification svg tcpd thunar tiff truetype udev udisks unicode upower usb vorbis wxwidgets x264 xattr xcb xml xv xvid zlib" ADA_TARGET="gnat_2018" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp thumb thumb2 v4 v5 v6 v7 v8 vfp vfp-d32 vfpv3 vfpv4" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" L10N="en en-GB" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="WebAssembly BPF" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python2_7 python3_5 python3_6 python3_7" QEMU_SOFTMMU_TARGETS="aarch64 arm i386 x86_64" QEMU_USER_TARGETS="aarch64" RUBY_TARGETS="ruby25 ruby27" USERLAND="GNU" VIDEO_CARDS="fbdev vc4" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

cat /var/tmp/portage/dev-lang/ghc-8.0.2/temp/build.log

  • Package: dev-lang/ghc-8.0.2
  • Repository: gentoo
  • Maintainer: haskell@gentoo.org
  • USE: arm64 elibc_glibc gmp kernel_linux profile userland_GNU
  • FEATURES: network-sandbox preserve-libs sandbox userpriv usersandbox
  • Checking for at least 8 GiB disk space at "/var/tmp/portage/dev-lang/ghc-8.0.2/temp" ...
    [ ok ]
  • Checking for at least 2 GiB disk space at "/usr" ...
    [ ok ]

Unpacking source...
Unpacking ghc-8.0.2-src.tar.xz to /var/tmp/portage/dev-lang/ghc-8.0.2/work
Unpacking ghc-bin-8.0.2-arm64.tbz2 to /var/tmp/portage/dev-lang/ghc-8.0.2/work

bzip2: /var/tmp/portage/dev-lang/ghc-8.0.2/distdir/ghc-bin-8.0.2-arm64.tbz2: trailing garbage after EOF ignored

Source unpacked in /var/tmp/portage/dev-lang/ghc-8.0.2/work
Preparing source in /var/tmp/portage/dev-lang/ghc-8.0.2/work/ghc-8.0.2 ...

  • strip-flags: CFLAGS: changed '-march=armv8-a+crc -mtune=cortex-a72 -ftree-vectorize -O2 -pipe' to '-march=armv8-a+crc -mtune=cortex-a72 -O2 -pipe'
  • strip-flags: CXXFLAGS: changed '-march=armv8-a+crc -mtune=cortex-a72 -ftree-vectorize -O2 -pipe' to '-march=armv8-a+crc -mtune=cortex-a72 -O2 -pipe'
  • Relocating 'lib' to 'lib64' (bug #476998)
    /var/tmp/portage/dev-lang/ghc-8.0.2/temp/ghc-pkg-8.0.2-orig: line 11: /var/tmp/portage/dev-lang/ghc-8.0.2/work/usr/lib64/ghc-8.0.2/bin/ghc-pkg: No such file or directory
  • ERROR: dev-lang/ghc-8.0.2::gentoo failed (prepare phase):
  • failed to update cache after relocation
  • Call stack:
  • ebuild.sh, line  125:  Called src_prepare
    
  • environment, line 3723: Called relocate_ghc '/var/tmp/portage/dev-lang/ghc-8.0.2/work'
  • environment, line 3484: Called die
  • The specific snippet of code:
  •   "$gp_back" recache || die "failed to update cache after relocation";
    
  • If you need support, post the output of emerge --info '=dev-lang/ghc-8.0.2::gentoo',
  • the complete build log and the output of emerge -pqv '=dev-lang/ghc-8.0.2::gentoo'.
  • The complete build log is located at '/var/tmp/portage/dev-lang/ghc-8.0.2/temp/build.log'.
  • The ebuild environment file is located at '/var/tmp/portage/dev-lang/ghc-8.0.2/temp/environment'.
  • Working directory: '/var/tmp/portage/dev-lang/ghc-8.0.2/work/ghc-8.0.2'
  • S: '/var/tmp/portage/dev-lang/ghc-8.0.2/work/ghc-8.0.2'

Link to /var/tmp/portage/dev-lang/ghc-8.0.2/temp/environment

@tiborh Haskell overlay , BINARY
arch_binaries="$arch_binaries arm64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-aarch64-unknown-linux-gnu.tbz2 )"
https://data.gpo.zugaina.org/haskell/dev-lang/ghc/ghc-8.8.2.ebuild

this at least bootstraps system up,
https://github.com/necrose99/gentoo-binhost/releases/tag/aarch64-coretexa53-linux-gnu%2Fdev-haskell
however the ghc exceeds githubs upload , so thus it'd need more traditional hosting. ie >=50 megs
and hit or miss. gentoo-binhost script is.

for cabal ebuild could be made ,app-arch/deb2targz http://ftp.us.debian.org/debian/pool/main/h/haskell-cabal-install/cabal-install_1.24.0.1-3_arm64.deb , dev-libs/libffi-compat
USE="BINARY" , dev-haskell/cabal

https://github.com/sakaki-/genpi64-overlay/tree/master/dev-lang , could be added so it builds.

It is now that I got around to this problem. (progressing one problem at a time.) (I'm too new to Gentoo to fully understand how to interpret @necrose99's advice, so will need some time to see if I can use it.

  • Anyhow, the first two links are already dead (404 errors).
  • Starting with from the github link and attempting an install following the description there.
    (and will refresh this comment once there is meaningful progress)
  • unfortunately, the instructions do not work on my system:
  • unpacking and copying the binary directly into /usr helped start emerge ghc (with bootstrap use option)
  • build completed overnight. (Today I could go on to pandoc (122 further packages to build), which is a prerequisite to be able to use Rmarkdown)

30 Oct 2020: sadly, due legal obligations arising from a recent change in my 'real world' job, I must announce I am standing down as maintainer of this project with immediate effect. For the meantime, I will leave the repo up (for historical interest, and since the images may be of use still in certain applications); however, there will be no further updates to the underlying binhost etc., nor will I be accepting / actioning further pull requests or bug reports from this point. Email requests for support will also have to be politely declined, so, please treat this as an effective EOL notice.

For further details, please see my post here.

Many thanks for your interest in this project!

With sincere apologies, sakaki ><