Skip to content

Instantly share code, notes, and snippets.

@mandrean
Created January 23, 2023 17:29
Show Gist options
  • Save mandrean/fbe00ac1fc11b1b2625e8e9e53c1f7dc to your computer and use it in GitHub Desktop.
Save mandrean/fbe00ac1fc11b1b2625e8e9e53c1f7dc to your computer and use it in GitHub Desktop.
Install PulseView (& gettext) on Apple M1 Silicon (aarch64, arm64)
# install xcodes
brew install robotsandpencils/made/xcodes aria2
# install & select latest version of xcode
xcodes list | awk 'END{system("xcodes install " $1"; xcodes select " $1)}'
# install x86-64 homebrew
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# switch to x86_64 homebrew
eval "$(/usr/local/homebrew/bin/brew shellenv)"
# install x86_64 gettext
arch -x86_64 brew install gettext
# link libintl.8.dylib into expected location
sudo mkdir -p /usr/local/opt/gettext/lib
sudo ln -s /usr/local/Cellar/gettext/0.21.1/lib/libintl.8.dylib /usr/local/opt/gettext/lib/libintl.8.dylib
# download PulseView-NIGHTLY.dmg and copy PulseView.app to your /Applications folder
https://sigrok.org/download/binary/pulseview/PulseView-NIGHTLY.dmg
# ...then CTRL+right click PulseView.app and left click "Open". Done!
# and for switching back to arm64 homebrew, just run:
eval "$(/opt/homebrew/bin/brew shellenv)"
@Architeuthis-Flux
Copy link

Hey thanks! I've never been able to get this to work until now (and holy crap I have tried).

One thing I had to change was updating that path to gettext for the most recent version,

So instead of:
sudo ln -s /usr/local/Cellar/gettext/0.21.1/lib/libintl.8.dylib /usr/local/opt/gettext/lib/libintl.8.dylib

I used:
sudo ln -s /usr/local/Homebrew/Cellar/gettext/0.22.5/lib/libintl.8.dylib /usr/local/opt/gettext/lib/libintl.8.dylib

Also I would warn people that running
arch -x86_64 brew install gettext
takes a really long time (18 minutes on my computer) and doesn't say anything, which at first led me to think it was stuck

@rtm7777
Copy link

rtm7777 commented Apr 2, 2024

Still not working on M2, some Qt related error...

@jwhitlark
Copy link

I couldn't get nightly working on an x86 mac, but stable worked fine, so maybe try that instead of nightly with these instructions. There seems to be something broken on the mac nightly build for both pulseview and sigrok-cli.

@al123xiaaaa
Copy link

I've successfully got it working following the optimizations by @Architeuthis-Flux and @jwhitlark's adjustments to the original instructions. If you're encountering issues, consider using the stable version instead of the nightly build.

@jorgerance
Copy link

I've successfully got it working following the optimizations by @Architeuthis-Flux and @jwhitlark's adjustments to the original instructions. If you're encountering issues, consider using the stable version instead of the nightly build.

Can you please share those adjustments?

@jniemin
Copy link

jniemin commented May 9, 2024

Did get this work on M2 using @Architeuthis-Flux and @jwhitlark addition. Seems that gettext has newer version as mentioned by @Architeuthis-Flux mentioned. I also needed to download latest stable 0.4.2.

This is exact steps I followed

# install xcodes
brew install robotsandpencils/made/xcodes aria2

# install & select latest version of xcode
xcodes list | awk 'END{system("xcodes install " $1"; xcodes select " $1)}'

# install x86-64 homebrew
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# switch to x86_64 homebrew
eval "$(/usr/local/homebrew/bin/brew shellenv)"

# install x86_64 gettext
arch -x86_64 brew install gettext

# link libintl.8.dylib into expected location
sudo mkdir -p /usr/local/opt/gettext/lib
sudo ln -s /usr/local/Homebrew/Cellar/gettext/0.22.5/lib/libintl.8.dylib /usr/local/opt/gettext/lib/libintl.8.dylib
## NOTE THIS MIGHT HAVE NEWER VERSION, SO CHECK VERSION NUMBER

# download latest stable and copy PulseView.app to your /Applications folder
https://sigrok.org/download/binary/pulseview/PulseView-0.4.2.dmg
# need to use this version stable version

# ...then CTRL+right click PulseView.app and left click "Open". Done!

# and for switching back to arm64 homebrew, just run:
eval "$(/opt/homebrew/bin/brew shellenv)"

I believe nightly versions are using different python version or something as that's where it crashes.

@jwhitlark
Copy link

Thank you for confirming it worked for you @jniemin! I had it working on an old intel mac, and had given up on my M2 until I saw your comment.

Your instructions worked for me! I had a couple of problems around signing into my apple developers account, and gettext install hanging, but the first was easily solved, and the second don't seem to be an issue.

So now Pulseview works fine for me. Thanks again!

@pvgennip
Copy link

As an extra step for Mac M2max I had to brew reinstall dbus and link the specific /opt path to the installed homebrew lib fln -s /usr/local/opt/dbus/lib/libdbus-1.3.dylib /usr/local/homebrew/Cellar/dbus/1.14.10/lib/libdbus-1.3.dylib.

But then it also works to open pulseview.app.

@Wyatt-Bennett
Copy link

Right now, version PulseView 0.4.2 (64bit) works directly on my Mac M3 Pro without additional steps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment