hhvm/homebrew-hhvm

Install Build Errors on MacOSX12 M1 chip

thelizzyld opened this issue · 2 comments

Description

Attempting to install via brew on a brand new macbook pro so environment is pretty clean. Installed homebrew and directly tried running this got something wrong with zstd's linking if I understand correctly? Not sure what's wrong or how to fix it though

Context and Logs

Sharing the most relevant part of the logs starting with the last line it ran before erroring out. Here is the full script output in paste form: Full script output: https://paste-bin.xyz/40735
All logs are attached in a zip as well.

dune build src/hh_server.exe src/hh_client.exe src/hh_single_type_check.exe src/hackfmt.exe src/hh_parse.exe src/generate_full_fidelity.exe src/hh_fanout/hh_fanout.exe
          sh src/version/build_banner/build-id,src/version/build_banner/build-id.c,src/version/build_banner/generate-build-id.sh
Not under source control--trying to hash source files instead
    ocamlopt src/hh_parse.exe (exit 2)
## (cd /tmp/hhvm-4.150-20220226-89470-1eziiau/hhvm-4.150.0/hphp/hack/_build/default & ....  snipped for readibility ...
## src/.hh_parse.eobjs/native/dune__exe__Hh_parse.cmx -ccopt -lpthread -ccopt -Wl,-keep_dwarf_unwind)
Undefined symbols for architecture x86_64:
  "_ZSTD_compress", referenced from:
      _hh_serialize_raw in libheap_libc_stubs.a(hh_shared.o)
      _write_at in libheap_libc_stubs.a(hh_shared.o)
  "_ZSTD_compressBound", referenced from:
      _hh_serialize_raw in libheap_libc_stubs.a(hh_shared.o)
      _write_at in libheap_libc_stubs.a(hh_shared.o)
  "_ZSTD_decompress", referenced from:
      _hh_deserialize in libheap_libc_stubs.a(hh_shared.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
File "caml_startup", line 1:
Error: Error during linking (exit code 1)
make[4]: *** [build-hack] Error 1
make[3]: *** [hphp/hack/CMakeFiles/hack_dune] Error 2
make[2]: *** [hphp/hack/CMakeFiles/hack_dune.dir/all] Error 2
make[1]: *** [hphp/hack/CMakeFiles/hack.dir/rule] Error 2
make: *** [hack] Error 2
Parameter Value
OS X Version: Monterey 12.2
Homebrew Version: 3.3.16
Xcode Version: N/A

Output of clang -v:

Apple clang version 13.0.0 (clang-1300.0.29.30)
Target: arm64-apple-darwin21.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Build logs: Link to public gist created with brew gist-logs hhvm
hhvm-4.150.zip

Tried running this on docker and got a segfault in hh_compiler_parse trying to build the basic hello world outlined on the website. Is this because M1 arm64 isn't supported?

BootStats: Process::InitProcessStatics done, took 0ms wall, 0ms cpu, 0 MB RSS
BootStats: timezone_init done, took 1ms wall, 1ms cpu, 0 MB RSS
BootStats: compilers_start done, took 1ms wall, 1ms cpu, 0 MB RSS
BootStats: xenon done, took 30ms wall, 30ms cpu, 17 MB RSS
BootStats: strobelight done, took 0ms wall, 0ms cpu, 0 MB RSS
BootStats: pcre_reinit done, took 2ms wall, 2ms cpu, 0 MB RSS
BootStats: onig_init done, took 0ms wall, 0ms cpu, 0 MB RSS
BootStats: g_vmProcessInit done, took 1145ms wall, 1145ms cpu, 68 MB RSS
BootStats: PageletServer::Restart done, took 0ms wall, 0ms cpu, 0 MB RSS
BootStats: XboxServer::Restart done, took 0ms wall, 0ms cpu, 0 MB RSS
BootStats: Stream::RegisterCoreWrappers done, took 0ms wall, 0ms cpu, 0 MB RSS

------------------------------hphp_compiler_parse-------------------------------
/:systemlib.phpimagick
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.1.log
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Atry commented

ARM64 is not a HHVM supported target arch.