pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

cannot build u-boot-zynq-zybo* on macOS: Bus Error



On an M1 iMac I am trying to build some u-boot packages from -current
including u-boot-zynq-zybo-z7.  I am not having much luck and I am not
sure what to try next.

The trouble is that before the build finishes, a build tool, mkimage,
crashes with a Bus Error:

  LD      spl/u-boot-spl
  OBJCOPY spl/u-boot-spl-nodtb.bin
  CAT     spl/u-boot-spl-dtb.bin
  COPY    spl/u-boot-spl.bin
  MKIMAGE spl/boot.bin
Bus error 
gmake[1]: *** [scripts/Makefile.spl:192: spl/boot.bin] Error 138
gmake: *** [Makefile:1539: spl/u-boot-spl] Error 2
*** Error code 2

Stop.
bmake[1]: stopped in
/Volumes/Case-sensitive/nbsd/pkgsrc/sysutils/u-boot-zynq-zybo-z7

So close!

Here is some info about the crashing tool,

$ file ../../../pkgobj//wrkobjdir/sysutils/u-boot-zynq-zybo/work/u-boot-2018.11/tools/mkimage
../../../pkgobj//wrkobjdir/sysutils/u-boot-zynq-zybo/work/u-boot-2018.11/tools/mkimage: Mach-O 64-bit executable arm64

$ otool -L ../../../pkgobj//wrkobjdir/sysutils/u-boot-zynq-zybo/work/u-boot-2018.11/tools/mkimage
../../../pkgobj//wrkobjdir/sysutils/u-boot-zynq-zybo/work/u-boot-2018.11/tools/mkimage:
	/Volumes/Case-sensitive/nbsd/pkg/lib/libssl.3.dylib (compatibility version 3.0.0, current version 3.0.0)
	/Volumes/Case-sensitive/nbsd/pkg/lib/libcrypto.3.dylib (compatibility version 3.0.0, current version 3.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.100.3)

Looks like the tool crashes while still in the dynamic loader,

$ lldb  ../../../pkgobj//wrkobjdir/sysutils/u-bo
ot-zynq-zybo/work/u-boot-2018.11/tools/mkimage
(lldb) target create
"../../../pkgobj//wrkobjdir/sysutils/u-boot-zynq-zybo/work/u-boot-2018.11/tools/mkimage"
Current executable set to
'/Volumes/Case-sensitive/nbsd/pkgobj/wrkobjdir/sysutils/u-boot-zynq-zybo/work/u-boot-2018.11/tools/mkimage'
(arm64).
(lldb) run
Process 94658 launched:
'/Volumes/Case-sensitive/nbsd/pkgobj/wrkobjdir/sysutils/u-boot-zynq-zybo/work/u-boot-2018.11/tools/mkimage'
(arm64)
Process 94658 stopped
* thread #1, stop reason = EXC_BAD_ACCESS (code=2, address=0x1000277c0)
    frame #0: 0x00000001001e9a54 dyld`invocation function for block in
dyld4::Loader::applyFixupsGeneric(Diagnostics&, dyld4::RuntimeState&,
dyld3::Array<void const*> const&, dyld3::Array<void const*> const&,
bool, dyld3::Array<dyld4::Loader::MissingFlatLazySymbol> const&) const +
60
dyld`invocation function for block in
dyld4::Loader::applyFixupsGeneric(Diagnostics&, dyld4::RuntimeState&,
dyld3::Array<void const*> const&, dyld3::Array<void const*> const&,
bool, dyld3::Array<dyld4::Loader::MissingFlatLazySymbol> const&) const:
->  0x1001e9a54 <+60>: str    x19, [x20]
    0x1001e9a58 <+64>: ldp    x29, x30, [sp, #0x20]
    0x1001e9a5c <+68>: ldp    x20, x19, [sp, #0x10]
    0x1001e9a60 <+72>: add    sp, sp, #0x30
Target 0: (mkimage) stopped.
(lldb) bt
* thread #1, stop reason = EXC_BAD_ACCESS (code=2, address=0x1000277c0)
  * frame #0: 0x00000001001e9a54 dyld`invocation function for block in
  * dyld4::Loader::applyFixupsGeneric(Diagnostics&,
  * dyld4::RuntimeState&, dyld3::Array<void const*> const&,
  * dyld3::Array<void const*> const&, bool,
  * dyld3::Array<dyld4::Loader::MissingFlatLazySymbol> const&) const +
  * 60
    frame #1: 0x000000010020cfd4 dyld`invocation function for block in
dyld3::MachOLoaded::fixupAllChainedFixups(Diagnostics&,
dyld_chained_starts_in_image const*, unsigned long, dyld3::Array<void
const*>, void (void*, void*) block_pointer) const + 424
    frame #2: 0x000000010020d080
dyld`dyld3::MachOLoaded::walkChain(Diagnostics&,
dyld3::MachOLoaded::ChainedFixupPointerOnDisk*, unsigned short, bool,
unsigned int, void (dyld3::MachOLoaded::ChainedFixupPointerOnDisk*,
bool&) block_pointer) const + 104
    frame #3: 0x000000010020d2b0
dyld`dyld3::MachOLoaded::forEachFixupInSegmentChains(Diagnostics&,
dyld_chained_starts_in_segment const*, bool, void
(dyld3::MachOLoaded::ChainedFixupPointerOnDisk*,
dyld_chained_starts_in_segment const*, bool&) block_pointer) const + 208
    frame #4: 0x000000010020ce04
dyld`dyld3::MachOLoaded::forEachFixupInAllChains(Diagnostics&,
dyld_chained_starts_in_image const*, bool, void
(dyld3::MachOLoaded::ChainedFixupPointerOnDisk*,
dyld_chained_starts_in_segment const*, bool&) block_pointer) const + 96
    frame #5: 0x000000010020cd98
dyld`dyld3::MachOLoaded::fixupAllChainedFixups(Diagnostics&,
dyld_chained_starts_in_image const*, unsigned long, dyld3::Array<void
const*>, void (void*, void*) block_pointer) const + 120
    frame #6: 0x00000001001e9a0c dyld`invocation function for block in
dyld4::Loader::applyFixupsGeneric(Diagnostics&, dyld4::RuntimeState&,
dyld3::Array<void const*> const&, dyld3::Array<void const*> const&,
bool, dyld3::Array<dyld4::Loader::MissingFlatLazySymbol> const&) const +
136
    frame #7: 0x00000001001e9788
dyld`dyld4::Loader::applyFixupsGeneric(Diagnostics&,
dyld4::RuntimeState&, dyld3::Array<void const*> const&,
dyld3::Array<void const*> const&, bool,
dyld3::Array<dyld4::Loader::MissingFlatLazySymbol> const&) const + 204
    frame #8: 0x00000001001ed574
dyld`dyld4::JustInTimeLoader::applyFixups(Diagnostics&,
dyld4::RuntimeState&, dyld4::DyldCacheDataConstLazyScopedWriter&, bool)
const + 604
    frame #9: 0x00000001001d9904 dyld`dyld4::prepare(dyld4::APIs&,
dyld3::MachOAnalyzer const*) + 1928
    frame #10: 0x00000001001d906c dyld`start + 488
(lldb) 

By the way, I updated pkgsrc just a day or two ago.  It's unchanged
except for a change I made to u-boot-zynq-zybo-z7/Makefile.  Because
a source file in the package tried to #include an OpenSSL header (I
believe it was called <openssl/evb.h>), I added some lines:

--- u-boot-zynq-zybo-z7/Makefile	12 Aug 2021 07:25:59 -0000
1.2
+++ u-boot-zynq-zybo-z7/Makefile	4 Apr 2024 01:01:46 -0000
@@ -4,5 +4,11 @@ UBOOT_TARGET=		zynq-zybo-z7
 UBOOT_CONFIG=		zynq_zybo_z7_defconfig
 UBOOT_BIN=		u-boot u-boot.img spl/boot.bin
 
+.include "../../mk/bsd.prefs.mk"
+
+.if ${OPSYS} == "Darwin"
+.include "../../security/openssl/buildlink3.mk"
+.endif
+
 .include "../../sysutils/u-boot/u-boot-arm.mk"
 .include "../../mk/bsd.pkg.mk"

David

-- 
David Young
dyoung%pobox.com@localhost    Urbana, IL    (217) 721-9981


Home | Main Index | Thread Index | Old Index