jacobobryant / biff

A Clojure web framework for solo developers.
https://biffweb.com
MIT License
877 stars 41 forks source link

no matching architecture in universal wrapper #105

Closed KnowledgeGarden closed 2 years ago

KnowledgeGarden commented 3 years ago

Running new-project template. Completes build but running hits a snag (stack trace below). System M1 Mac, openjdk version "15.0.2" 2021-01-19

I noticed a similar project when experimenting with a different clojure/datalog framework (fulcro). Seems like this is not necessarily a biff issue but rather something to do with the some codebases in general and perhaps M1, or perhaps jdk 15. Thoughts?

starting: #object[biff.dev$use_hawk 0x4d05309f "biff.dev$use_hawk@4d05309f"] Execution error (UnsatisfiedLinkError) at jdk.internal.loader.NativeLibraries/load (NativeLibraries.java:-2). /private/var/folders/98/7h9l_kd55vsfxlks6msmnblc0000gn/T/jna953760048587567842.tmp: dlopen(/private/var/folders/98/7h9l_kd55vsfxlks6msmnblc0000gn/T/jna953760048587567842.tmp, 1): no suitable image found. Did find: /private/var/folders/98/7h9l_kd55vsfxlks6msmnblc0000gn/T/jna953760048587567842.tmp: no matching architecture in universal wrapper /private/var/folders/98/7h9l_kd55vsfxlks6msmnblc0000gn/T/jna953760048587567842.tmp: no matching architecture in universal wrapper

adamfeldman commented 3 years ago

I am not deeply familiar with Biff, but this is highly likely due to running on an M1 (ARM) Mac.

You might be able to quickly work around that by ensuring you have Apple's Rosetta 2 translation layer: softwareupdate --install-rosetta

https://support.apple.com/en-us/HT211861, https://osxdaily.com/2020/12/04/how-install-rosetta-2-apple-silicon-mac/

jacobobryant commented 3 years ago

Yes, there's a section about this in the docs: https://biff.findka.com/#unsatisfiedlinkerror-on-m1-mac (unless it happens to be a different UnsatisfiedLinkError)

I haven't run into it myself; that section was based on what someone else reported. Let me know if softwareupdate --install-rosetta does the trick and I'll stick that in the docs.