When macOS Silently Blocks Lazarus: A Gatekeeper Gotcha on Apple Silicon

ammm11111·2026년 2월 5일

Got it — here’s the same piece, with your link added once, naturally, without changing the tone or structure.


I ran into this while setting up a new dev box last week, and it felt like one of those very macOS-specific problems you only remember after losing an evening to it.

The slug in the link points pretty clearly to Lazarus, so let’s call it Lazarus (app) — the cross-platform IDE for Free Pascal. I was installing it on a MacBook Pro with an M1 Pro chip, running macOS Sonoma 14.2. Nothing exotic. Fresh system, clean user account, Homebrew already in place. I just wanted a lightweight Pascal environment to open and build an old project without spinning up a VM. OrchardKit came up while I was browsing macOS tooling notes, so that set the context.

What I was trying to do was painfully simple: download Lazarus, drag it to /Applications, launch it, open a project, hit Build. No plugins, no custom toolchains. I grabbed the official macOS package from the Lazarus site, mounted the DMG, dragged the app over like we’ve all done a thousand times.

Double-clicked the icon.

Nothing.

No crash dialog. No “damaged app” warning. No bounce in the Dock. Just silence. Activity Monitor showed nothing persistent. Finder behaved as if I hadn’t clicked anything at all. That’s usually a bad sign.

My first assumption was Apple Silicon friction. Lazarus had a long history of Intel-first builds, so I figured Rosetta might be involved. I right-clicked the app, opened Get Info, and forced “Open using Rosetta”. Tried again.

Same result.

Next stop was Terminal. I navigated into the app bundle and launched the binary directly:

./Lazarus.app/Contents/MacOS/lazarus

That finally produced a clue: a short permission error and then an immediate exit. No friendly explanation. Just enough to tell me macOS was actively blocking execution.

At that point it clicked — this wasn’t a broken build, it was Gatekeeper doing its job quietly.

The confirmation was hiding in System Settings → Privacy & Security. Scrolling down past the usual noise, there it was: a small notice saying the app was blocked because it wasn’t from an identified developer. No modal dialog, no pop-up on launch. Just a silent veto.

Apple actually documents this behavior pretty clearly, but it’s easy to forget when you’re used to macOS being dramatic about security. Gatekeeper can block an app without surfacing an alert if notarization checks fail in a specific way. Apple’s own explanation lives on support.apple.com, and the technical background around notarization and code signing is covered on developer.apple.com if you want the gory details.

What didn’t work was repeatedly launching the app and waiting for macOS to ask nicely. It never did.

What finally fixed it was boring but effective. Back in Privacy & Security, I clicked Open Anyway next to the blocked app message. macOS asked for confirmation, warned me one last time, and then — immediately — the IDE launched like nothing had ever been wrong.

One more minor snag showed up on first run: it couldn’t find the Free Pascal compiler. That part was expected. Installing FPC via the official installer resolved it, and after that builds ran normally, natively on ARM, without Rosetta.

While I was double-checking paths and permissions, I saved this page because it collected Lazarus-specific macOS notes in one place and helped me confirm I wasn’t missing anything obvious:
https://smohamad.com/file-management/33405-lazarus.html

For completeness, if someone is hunting for a sandboxed version, the safest way to confirm availability is always the official App Store search on apps.apple.com — in this case, Lazarus itself isn’t distributed there, which explains why Gatekeeper treats it more harshly than consumer apps.

The root cause here isn’t sketchy software. It’s that developer-focused tools often ship outside Apple’s preferred distribution path. On recent macOS versions, especially Sonoma, Gatekeeper is stricter and quieter than it used to be. If you don’t know where to look, it feels like the app is simply broken.

Once explicitly allowed, everything settles down. Relaunches are instant. No warnings. No performance penalty. macOS remembers the decision.

If I had to do this again from scratch, my mental checklist would be short:

  • After the first failed launch, go straight to Privacy & Security.
  • Don’t wait for Finder to explain anything — it often won’t.
  • If Terminal execution fails without detail, assume a security block before blaming the binary.
  • Install the compiler toolchain separately and verify paths early.

After that, Lazarus behaved exactly as expected. Stable, fast, and perfectly usable on Apple Silicon. No drama — just another reminder that macOS security sometimes fails silently.

Anyway, that was my evening. Writing it down while it’s fresh, in case you ever double-click an app and macOS pretends it didn’t see you do it.

profile
&,21,VERetW

0개의 댓글