Linux

From sigrok
Revision as of 15:15, 2 January 2015 by Jst (talk | contribs) (AX_CXX_COMPILE_STDCXX_11 warnings)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This page describes how to build/install the sigrok subprojects on Linux.

Distribution packages

See Downloads.

Building

libserialport

Installing the requirements:

Example on Debian/Ubuntu (please check your respective distro's package manager tool if you use other distros):

$ sudo apt-get install git-core gcc make autoconf automake libtool

Building:

$ git clone git://sigrok.org/libserialport
$ cd libserialport
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

libsigrok

Installing the requirements:

Example on Debian/Ubuntu (please check your respective distro's package manager tool if you use other distros):

$ sudo apt-get install git-core gcc g++ make autoconf autoconf-archive \
  automake libtool pkg-config libglib2.0-dev libglibmm-2.4-dev libzip-dev \
  libusb-1.0-0-dev libftdi-dev check doxygen \
  python-dev python-gi-dev python-setuptools swig default-jdk

Fedora (18, 19):

$ sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel \
  libzip-devel libusb1-devel libftdi-devel check-devel

OpenSuSE (12.2):

$ zypper install git gcc make autoconf automake libtool pkg-config glib2-devel \
  libzip-devel libusb-1_0-devel libftdi1-devel check python3-devel

Building:

$ git clone git://sigrok.org/libsigrok
$ cd libsigrok
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

libsigrokdecode

Installing the requirements:

Example on Debian/Ubuntu (please check your respective distro's package manager tool if you use other distros):

$ sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev python3-dev

Fedora (18, 19, 20):

$ sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel python3-devel check-devel

Building:

$ git clone git://sigrok.org/libsigrokdecode
$ cd libsigrokdecode
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

sigrok-cli

Installing the requirements:

Example on Debian/Ubuntu (please check your respective distro's package manager tool if you use other distros):

$ sudo apt-get install git-core gcc make autoconf automake libtool pkg-config libglib2.0-dev

Fedora (18, 19):

$ sudo yum install git gcc make autoconf automake libtool pkgconfig glib2-devel

OpenSuse (13.1):

$ zypper install git gcc make autoconf automake libtool pkgconfig glib2-devel

Building:

$ git clone git://sigrok.org/sigrok-cli
$ cd sigrok-cli
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

PulseView

Installing the requirements:

Example on Debian/Ubuntu (please check your respective distro's package manager tool if you use other distros):

$ sudo apt-get install git-core g++ make cmake libtool pkg-config \
  libglib2.0-dev libqt4-dev libboost-test-dev \
  libboost-filesystem-dev libboost-system-dev

Fedora (18, 19):

$ sudo yum install git gcc cmake libtool pkgconfig glib2-devel \
  boost-devel qt-devel boost-devel

Building:

$ git clone git://sigrok.org/pulseview
$ cd pulseview
$ cmake .
$ make
$ sudo make install

Common problems

libsigrok's autogen.sh outputs the following warning:

--- Warning: AX_CXX_COMPILE_STDCXX_11 macro not found.
--- You won't be able to build the language bindings!

That means that the m4 macro used to detect C++11 support was not found. Use the package manager of your distribution to install the package that included the macro. Most distributions package this file in a package called autoconf-archive or similar.


libsigrok's autogen.sh outputs the following warning:

--- Warning: AX_CXX_COMPILE_STDCXX_11 macro is too old.
--- (found version <version>, at least 4 is required)
--- You won't be able to build the language bindings!

That means that the version of the macro included with your distribution is too old. You can:

  • Download the latest version of the macro from here, and use the ACLOCAL_PATH environment variable to point aclocal to the file:
$ ACLOCAL_PATH=/path/to/directory/containing/macro ./autogen.sh
  • Download the latest version of the macro and overwrite the file included with your distribution, most often located in /usr/share/aclocal/.

If you get this error:

sigrok-cli: error while loading shared libraries: libsigrok.so.0: cannot open shared object file: No such file or directory

Then you have to rebuild the links to your shared libraries:

$ sudo ldconfig /usr/local/lib