09-02-2020, 06:50 AM
I am having a great deal of trouble trying to compile Jumpdrive. Specifically, the busybox dependency, but there are other failures. I'm not sure if I need to compile a different version of libc to link to, or if I'm just missing some packages for some cross dependencies. I'll post my build log below, and will answer any further questions if requested. Thank you.
Code:
$ make -j$(nproc) pine64-pinephone.img
Code:
MAKE initramfs/bin/busybox
Code:
GZ splash/pine64-pinephone.ppm.gz
Code:
GZ splash/pine64-pinephone-error.ppm.gz
Code:
MAKE kernel-sunxi.gz
Code:
MAKE kernel-sunxi.gz
Code:
MAKE build/atf/sun50i_a64/bl31.bin
Code:
make[1]: Entering directory '/home/PineTrees/src/Jumpdrive/src/busybox'
Code:
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
Code:
make[1]: Entering directory '/home/PineTrees/src/Jumpdrive/src/linux'
Code:
make[1]: Entering directory '/home/PineTrees/src/Jumpdrive/src/linux'
Code:
make[1]: Entering directory '/home/PineTrees/src/Jumpdrive/src/arm-trusted-firmware'
Code:
make[2]: Entering directory '/home/PineTrees/src/Jumpdrive/build/linux-sunxi'
Code:
make[2]: Entering directory '/home/PineTrees/src/Jumpdrive/build/linux-sunxi'
Code:
GEN Makefile
Code:
GEN Makefile
Code:
HOSTCC scripts/kconfig/conf.o
Code:
HOSTCC scripts/kconfig/conf.o
Code:
HOSTLD scripts/kconfig/conf
Code:
HOSTLD scripts/kconfig/conf
Code:
/usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/10/../../../../lib64/crt1.o: in function `_start':
Code:
(.text+0x24): undefined reference to `main'
Code:
collect2: error: ld returned 1 exit status
Code:
make[3]: *** [scripts/Makefile.host:116: scripts/kconfig/conf] Error 1
Code:
make[2]: *** [/home/PineTrees/src/Jumpdrive/src/linux/Makefile:568: olddefconfig] Error 2
Code:
make[2]: Leaving directory '/home/PineTrees/src/Jumpdrive/build/linux-sunxi'
Code:
make[1]: *** [Makefile:179: sub-make] Error 2
Code:
make[1]: Leaving directory '/home/PineTrees/src/Jumpdrive/src/linux'
Code:
make: *** [Makefile:102: kernel-sunxi.gz] Error 2
Code:
make: *** Waiting for unfinished jobs....
Code:
scripts/kconfig/conf --olddefconfig Kconfig
Code:
make[3]: scripts/kconfig/conf: Command not found
Code:
make[3]: *** [/home/PineTrees/src/Jumpdrive/src/linux/scripts/kconfig/Makefile:75: olddefconfig] Error 127
Code:
make[2]: *** [/home/PineTrees/src/Jumpdrive/src/linux/Makefile:568: olddefconfig] Error 2
Code:
make[2]: Leaving directory '/home/PineTrees/src/Jumpdrive/build/linux-sunxi'
Code:
make[1]: *** [Makefile:179: sub-make] Error 2
Code:
make[1]: Leaving directory '/home/PineTrees/src/Jumpdrive/src/linux'
Code:
make: *** [Makefile:102: dtbs/sunxi/sun50i-a64-pinephone.dtb] Error 2
Code:
GEN /home/PineTrees/src/Jumpdrive/build/busybox/Makefile
Code:
CC bl31/bl31_context_mgmt.c
Code:
CC bl31/bl31_main.c
Code:
CC bl31/interrupt_mgmt.c
Code:
Using /home/PineTrees/src/Jumpdrive/src/busybox as source for busybox
Code:
CC common/runtime_svc.c
Code:
GEN /home/PineTrees/src/Jumpdrive/build/busybox/Makefile
Code:
CC drivers/allwinner/axp/axp803.c
Code:
CC drivers/allwinner/axp/common.c
Code:
CC drivers/allwinner/sunxi_msgbox.c
Code:
CC drivers/allwinner/sunxi_rsb.c
Code:
CC drivers/arm/css/scpi/css_scpi.c
Code:
CC drivers/arm/gic/common/gic_common.c
Code:
CC drivers/arm/gic/v2/gicv2_helpers.c
Code:
CC drivers/arm/gic/v2/gicv2_main.c
Code:
CC drivers/delay_timer/delay_timer.c
Code:
CC drivers/delay_timer/generic_delay_timer.c
Code:
CC lib/cpus/errata_report.c
Code:
CC lib/el3_runtime/aarch64/context_mgmt.c
Code:
CC lib/el3_runtime/cpu_data_array.c
Code:
CC lib/locks/bakery/bakery_lock_coherent.c
Code:
CC lib/psci/psci_common.c
Code:
scripts/kconfig/conf -s Config.in
Code:
#
Code:
# using defaults found in .config
Code:
#
Code:
CC lib/psci/psci_main.c
Code:
CC lib/psci/psci_mem_protect.c
Code:
CC lib/psci/psci_off.c
Code:
CC lib/psci/psci_on.c
Code:
CC lib/psci/psci_setup.c
Code:
CC lib/psci/psci_suspend.c
Code:
CC lib/psci/psci_system_off.c
Code:
CC plat/allwinner/common/sunxi_bl31_setup.c
Code:
CC plat/allwinner/common/sunxi_cpu_ops.c
Code:
CC plat/allwinner/common/sunxi_pm.c
Code:
CC plat/allwinner/common/sunxi_security.c
Code:
CC plat/allwinner/common/sunxi_topology.c
Code:
CC plat/allwinner/sun50i_a64/sunxi_power.c
Code:
CC plat/common/plat_gicv2.c
Code:
CC plat/common/plat_psci_common.c
Code:
CC services/arm_arch_svc/arm_arch_svc_setup.c
Code:
CC services/std_svc/std_svc_setup.c
Code:
CC common/bl_common.c
Code:
CC common/tf_log.c
Code:
CC drivers/console/multi_console.c
Code:
CC plat/common/plat_bl_common.c
Code:
CC plat/common/plat_log_common.c
Code:
CC plat/common/aarch64/plat_common.c
Code:
CC lib/compiler-rt/builtins/popcountdi2.c
Code:
CC lib/compiler-rt/builtins/popcountsi2.c
Code:
CC lib/xlat_tables_v2/aarch64/xlat_tables_arch.c
Code:
CC lib/xlat_tables_v2/xlat_tables_context.c
Code:
CC lib/xlat_tables_v2/xlat_tables_core.c
Code:
CC lib/xlat_tables_v2/xlat_tables_utils.c
Code:
SPLIT include/autoconf.h -> include/config/*
Code:
CC plat/allwinner/common/sunxi_common.c
Code:
GEN include/bbconfigopts.h
Code:
GEN include/common_bufsiz.h
Code:
AS bl31/aarch64/bl31_entrypoint.S
Code:
AS bl31/aarch64/crash_reporting.S
Code:
AS bl31/aarch64/ea_delegate.S
Code:
AS bl31/aarch64/runtime_exceptions.S
Code:
GEN include/embedded_scripts.h
Code:
AS lib/cpus/aarch64/cortex_a53.S
Code:
AS lib/cpus/aarch64/cpu_helpers.S
Code:
AS lib/cpus/aarch64/dsu_helpers.S
Code:
HOSTCC applets/usage
Code:
HOSTCC applets/applet_tables
Code:
AS lib/cpus/aarch64/wa_cve_2017_5715_bpiall.S
Code:
AS lib/cpus/aarch64/wa_cve_2017_5715_mmu.S
Code:
AS lib/el3_runtime/aarch64/context.S
Code:
AS lib/el3_runtime/aarch64/cpu_data.S
Code:
AS lib/locks/exclusive/aarch64/spinlock.S
Code:
GEN include/usage_compressed.h
Code:
AS lib/psci/aarch64/psci_helpers.S
Code:
AS plat/common/aarch64/platform_mp_stack.S
Code:
GEN include/applet_tables.h include/NUM_APPLETS.h
Code:
GEN include/applet_tables.h include/NUM_APPLETS.h
Code:
HOSTCC applets/usage_pod
Code:
AS common/aarch64/debug.S
Code:
AS lib/aarch64/cache_helpers.S
Code:
AS lib/aarch64/misc_helpers.S
Code:
AS plat/common/aarch64/platform_helpers.S
Code:
CC applets/applets.o
Code:
In file included from /home/PineTrees/src/Jumpdrive/src/busybox/include/libbb.h:13,
Code:
from /home/PineTrees/src/Jumpdrive/src/busybox/include/busybox.h:8,
Code:
from /home/PineTrees/src/Jumpdrive/src/busybox/applets/applets.c:9:
Code:
/home/PineTrees/src/Jumpdrive/src/busybox/include/platform.h:164:11: fatal error: byteswap.h: No such file or directory
Code:
164 | # include <byteswap.h>
Code:
| ^~~~~~~~~~~~
Code:
compilation terminated.
Code:
make[3]: *** [/home/PineTrees/src/Jumpdrive/src/busybox/scripts/Makefile.build:198: applets/applets.o] Error 1
Code:
make[3]: *** Waiting for unfinished jobs....
Code:
AS drivers/ti/uart/aarch64/16550_console.S
Code:
make[2]: *** [/home/PineTrees/src/Jumpdrive/src/busybox/Makefile:372: applets_dir] Error 2
Code:
make[1]: *** [Makefile:112: _all] Error 2
Code:
make[1]: Leaving directory '/home/PineTrees/src/Jumpdrive/src/busybox'
Code:
make: *** [Makefile:76: initramfs/bin/busybox] Error 2
Code:
AS lib/xlat_tables_v2/aarch64/enable_mmu.S
Code:
AS plat/allwinner/common/plat_helpers.S
Code:
PP bl31/bl31.ld.S
Code:
CC lib/libfdt/fdt.c
Code:
CC lib/libfdt/fdt_addresses.c
Code:
CC lib/libfdt/fdt_empty_tree.c
Code:
CC lib/libfdt/fdt_ro.c
Code:
CC lib/libfdt/fdt_rw.c
Code:
CC lib/libfdt/fdt_strerror.c
Code:
CC lib/libfdt/fdt_sw.c
Code:
CC lib/libfdt/fdt_wip.c
Code:
AR build/sun50i_a64/release/lib/libfdt.a
Code:
CC lib/libc/abort.c
Code:
CC lib/libc/assert.c
Code:
CC lib/libc/exit.c
Code:
CC lib/libc/memchr.c
Code:
CC lib/libc/memcmp.c
Code:
CC lib/libc/memcpy.c
Code:
CC lib/libc/memmove.c
Code:
CC lib/libc/memrchr.c
Code:
CC lib/libc/memset.c
Code:
CC lib/libc/printf.c
Code:
CC lib/libc/putchar.c
Code:
CC lib/libc/puts.c
Code:
CC lib/libc/snprintf.c
Code:
CC lib/libc/strchr.c
Code:
CC lib/libc/strcmp.c
Code:
CC lib/libc/strlcpy.c
Code:
CC lib/libc/strlen.c
Code:
CC lib/libc/strncmp.c
Code:
CC lib/libc/strnlen.c
Code:
CC lib/libc/strrchr.c
Code:
AS lib/libc/aarch64/setjmp.S
Code:
AR build/sun50i_a64/release/lib/libc.a
Code:
LD build/sun50i_a64/release/bl31/bl31.elf
Code:
BIN build/sun50i_a64/release/bl31.bin
Code:
Built build/sun50i_a64/release/bl31.bin successfully
Code:
OD build/sun50i_a64/release/bl31/bl31.dump
Code:
make[1]: Leaving directory '/home/PineTrees/src/Jumpdrive/src/arm-trusted-firmware'
Code:
rm splash/pine64-pinephone-error.ppm.gz splash/pine64-pinephone.ppm.gz