[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.
- The documentation for Arch hosts is missing a package
- libxcrypt fails to build
I later tried it with hoki instead of qemux86 and it also failed.
To reproduce
Steps to reproduce the behavior:
- Follow the build instructions on https://wiki.asteroidos.org/index.php/Building_AsteroidOS on arch linux
- Watch it fail on libxcrypt because of missing python-passlib
- install python-passlib, ie. do
yay -Sy python-passlib
- clear all build caches (may be optional)
- 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
- 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
- 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.