Script to compile and install PulseView on Ubuntu

 Author:   Posted on:   Updated on:  2017-11-18T21:32:09Z
PulseView is an opensource GUI for sigrok. It displays recorded waveforms from logic analyzers and oscilloscopes and it can perform various signal measurements and digital protocol decoding. Being opensource and Qt based, it is also cross platform. You can find it in the Ubuntu repositories, but the version is rather old and you'll be missing some new features and protocol decoders.

You will find in this post a script based on building instructions from official sigrok/PulseView wiki that automatically downloads, builds and installs all required dependencies and PulseView itself. The script has been written and tested on Ubuntu 17.10 but it should work on other apt based distros.

Script to compile and install PulseView on Ubuntu
Before running this script, make sure you have universe repository enabled. This can be done from Software & Updates.

PulseView is a GUI that depends on command line tools. The script builds and installs the libraries libserialport, libsigrok and libsigrokdecode. Then it builds the command line tool sigrok-cli.  PulseView is the last one that is built. Qt5 is used by this script. To have access to USB devices, libsigrok needs to install some udev rules. The script handles that too. The firmware needed by some devices is downloaded as prebuilt binaries and the copied to the firmware folder.

PulseView on Ubuntu 17.10 - About dialog
PulseView on Ubuntu 17.10
Below is the script. Run it as normal user (./pulseview.sh) and enter the root password when asked for. This script does not uninstall development libraries after finishing.

2 comments :

  1. The script fails at line 34:
    sudo cp libsigrok/contrib/z60_libsigrok.rules /etc/udev/rules.d/z60-libsigrok.rules
    cp: cannot stat 'libsigrok/contrib/z60_libsigrok.rules': No such file or directory

    The copy of libsigrok pulled by the script on September 28, 2018 has the following rule sets in its contrib directory, none of which contain the 'z' in the file name:

    60-libsigrok.rules
    61-libsigrok-plugdev.rules
    61-libsigrok-uaccess.rules

    ReplyDelete
    Replies
    1. They probably changed file names. I will update the script.

      Delete

Please read the comments policy before publishing your comment.