The first four bytes, AKA "magic number", are different for universal binaries, but they are not zeros. You could get this if you are installing openssl3 from source, with +universal. Here is a more complete reference for the first 8 bytes of Mach-O files:
https://en.wikipedia.org/wiki/Mach-O On Sat, Dec 13, 2025 at 11:52 AM Dave Allured - NOAA Affiliate < [email protected]> wrote: > I spot checked the latest pre-built binaries at > https://packages.macports.org/openssl3/. The first four bytes should be > "cf fa ed fe" for both ARM and X86 macs. Manually check your > /opt/local/libexec/openssl3/lib/libssl.3.dylib with "od -tx1 -N16" to > ensure that your configure process was not confused, but it is probably not. > > So yes, it looks like that libssl.3.dylib file is broken. I don't know > how that might have happened, but I wonder why. Try reinstalling the > openssl3 port. > > > On Sat, Dec 13, 2025 at 10:40 AM Jason Liu <[email protected]> wrote: > >> Hi all, >> >> I'm trying to build a port locally on my machine, and this port depends >> on curl/openssl3. During the build, I am getting some error messages that >> baffle me. At the configure stage, the build is giving the following: >> >> dyld: Library not loaded: /opt/local/libexec/openssl3/lib/libssl.3.dylib >> Referenced from: /opt/local/lib/libcurl.4.dylib >> Reason: no suitable image found. Did find: >> /opt/local/libexec/openssl3/lib/libssl.3.dylib: unknown file >> type, first eight bytes: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 >> /opt/local/libexec/openssl3/lib/libssl.3.dylib: stat() failed >> with errno=1 >> /opt/local/libexec/openssl3/lib/libssl.3.dylib: unknown file >> type, first eight bytes: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 >> >> Searching around online, people on Stack Overflow seem to think that >> 'unknown file type: first eight bytes' indicates that it's because the >> '.dylib' file is actually an ELF shared object format (i.e. a Linux-style >> '.so' file), instead of a Mach-O binary format. A.I. sources seem to think >> that either it's the ELF/Mach-O reason, or that the file is corrupted or an >> empty file, based on the fact that dyld is seeing all zeros for the first >> eight bytes. >> >> Has anyone else ever seen a similar error? Is it possible there could be >> something wrong with the current openssl3 port? >> >> Jason Liu >> >
