PortAudioInstall

From GNU Radio
Revision as of 01:36, 8 March 2017 by Mbr0wn (talk | contribs) (Imported from Redmine)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Building and Installing PortAudio on Windows

PortAudio (http://www.portaudio.com) provides a uniform programming interface to a variety of audio devices. For Windows users, it is a convenient way to get a working, full-duplex, soundcard interface for GNU Radio. Although PortAudio includes code to access Windows audio through DirectX, kernel streaming, ASIO, or WASAPI interfaces, performance with the traditional Windows "wave" interface is satisfactory for most GNU Radio purposes. This version is easily built under Cygwin and MinGW/MSYS. (These instructions should also work for Linux systems, but need to be tested.)

Detailed Instructions

Download pa_snapshot.tgz from http://www.portaudio.com/download.html to /usr/src. Then:

$ cd /usr/src
$ tar -zxf pa_snapshot.tgz
$ cd portaudio
$ ./configure --disable-static
$ make
$ make install

PortAudio is installed under /usr/local/* by default.

Note: On MinGW/MSYS, you should edit the file portaudio-2.0.pc.in to change the line

Libs: -L${libdir} -lportaudio @LIBS@

to

Libs: -L${libdir} -lportaudio @DLL_LIBS@

before running ./configure. This will prevent the linker from trying to include -luuid when building the gr-audio-portaudio DLL.

@ @

Notes:

  • pa_snapshot.tgz appears to build and work well, but that could change any day; if necessary, you can use pa_stable_v19_061121.tar.gz, but on Cygwin you will need to run autoconf before doing ./configure
  • version pa_stable_v19_20071207 is available, but the installation procedure omits a required file (pa_win_waveformat) when using the default audio libraries for Windows
  • you can use a directory other than /usr/src if you prefer
  • to install PortAudio somewhere other than /usr/local use the --prefix= option on ./configure (but be sure that GNU Radio's ./configure can find it)
  • for more information on PortAudio see http://www.portaudio.com