AsteroidOS/asteroid

[qemux86 et. al.] Build failed due to incomplete documentation and libxcrypt

andidevi opened this issue · 2 comments

Describe the bug

I tried to build AsteroidOS following the instructions here but replacing dory with qemux86, but it failed for two reasons.

  1. The documentation for Arch hosts is missing a package
  2. libxcrypt fails to build

I later tried it with hoki instead of qemux86 and it also failed.

To reproduce
Steps to reproduce the behavior:

  1. Follow the build instructions on https://wiki.asteroidos.org/index.php/Building_AsteroidOS on arch linux
  2. Watch it fail on libxcrypt because of missing python-passlib
  3. install python-passlib, ie. do yay -Sy python-passlib
  4. clear all build caches (may be optional)
  5. see the build fail again on libxcrypt. this time it's about wrong command line parameters:
(...)
| checking whether all ucontext.h functions are available... yes
| when is deprecated at /home/papa/asteroidos-emu/repo/asteroid/build/tmp-glibc/work/core2-32-oe-linux/libxcrypt/4.4.30-r0/git/build-aux/scripts/BuildCommon.pm line 522.
| Compilation failed in require at ../git/build-aux/scripts/expand-selected-hashes line 28.
| BEGIN failed--compilation aborted at ../git/build-aux/scripts/expand-selected-hashes line 28.
| configure: error: bad value 'all' for --enable-hashes
| NOTE: The following config.log files may provide further information.
| NOTE: /home/papa/asteroidos-emu/repo/asteroid/build/tmp-glibc/work/core2-32-oe-linux/libxcrypt/4.4.30-r0/build/config.log
| ERROR: configure failed
| WARNING: /home/papa/asteroidos-emu/repo/asteroid/build/tmp-glibc/work/core2-32-oe-linux/libxcrypt/4.4.30-r0/temp/run.do_configure.2903155:285 exit 1 from 'exit 1'
| WARNING: Backtrace (BB generated script):
|       #1: bbfatal_log, /home/papa/asteroidos-emu/repo/asteroid/build/tmp-glibc/work/core2-32-oe-linux/libxcrypt/4.4.30-r0/temp/run.do_configure.2903155, line 285
|       #2: oe_runconf, /home/papa/asteroidos-emu/repo/asteroid/build/tmp-glibc/work/core2-32-oe-linux/libxcrypt/4.4.30-r0/temp/run.do_configure.2903155, line 261
|       #3: autotools_do_configure, /home/papa/asteroidos-emu/repo/asteroid/build/tmp-glibc/work/core2-32-oe-linux/libxcrypt/4.4.30-r0/temp/run.do_configure.2903155, line 231
|       #4: do_configure, /home/papa/asteroidos-emu/repo/asteroid/build/tmp-glibc/work/core2-32-oe-linux/libxcrypt/4.4.30-r0/temp/run.do_configure.2903155, line 151
|       #5: main, /home/papa/asteroidos-emu/repo/asteroid/build/tmp-glibc/work/core2-32-oe-linux/libxcrypt/4.4.30-r0/temp/run.do_configure.2903155, line 289
ERROR: Task (/home/papa/asteroidos-emu/repo/asteroid/src/oe-core/meta/recipes-core/libxcrypt/libxcrypt_4.4.30.bb:do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 2775 tasks of which 0 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
/home/papa/asteroidos-emu/repo/asteroid/src/oe-core/meta/recipes-core/libxcrypt/libxcrypt_4.4.30.bb:do_configure
Summary: There were 2 WARNING messages.
Summary: There were 2 ERROR messages, returning a non-zero exit code.

Expected behavior

  1. Build instructions on https://wiki.asteroidos.org/index.php/Building_AsteroidOS should mention python-passlib in command line for Arch linux under Distribution prerequisite installation
  2. Build succeeds

Screenshots
see attached logs

Device (please complete the following information):

  • Watch Codename: qemux86 and hoki. but other probably affected too, as this is a build tools error.
  • AsteroidOS Builddate: 2023-09-24
  • Version: 1.1 nightly

Additional context
bitbake-cookerdaemon.log
config.log of libxcrypt build
bitbake-console-output.log

@andidevi if you haven't found the solution yet, it's a version compatibility between libxcrypt and pearl.

My workaround was to ensure the most current commit of libxcrypt is fetched by editing: asteroid/src/oe-core/meta/recipes-core/libxcrypt/libxcrypt.inc

Inside, change SRCREV to SRCREV = "${AUTOREV}"

Thanks for reporting, I was able to reproduce this on Arch Linux as well.

A fix has been included in AsteroidOS/meta-asteroid#181. Feel free to reopen if you still encounter this issue.