Difference between revisions of "PortAudio"
m (typo: missing space) |
(Fix typo that could clobber ld.so.conf) |
||
(One intermediate revision by the same user not shown) | |||
Line 76: | Line 76: | ||
make install && | make install && | ||
− | cat > /etc/ld.so.conf < "EOF" | + | cat >> /etc/ld.so.conf < "EOF" |
# Begin portaudio addition to /etc/ld.so.conf | # Begin portaudio addition to /etc/ld.so.conf | ||
Line 93: | Line 93: | ||
# End /etc/profile.d/50-portaudio.sh | # End /etc/profile.d/50-portaudio.sh | ||
+ | EOF | ||
source /etc/profile.d/50-portaudio.sh | source /etc/profile.d/50-portaudio.sh | ||
Line 171: | Line 172: | ||
make install && | make install && | ||
− | cat > /etc/ld.so.conf < "EOF" | + | cat >> /etc/ld.so.conf < "EOF" |
# Begin portaudio addition to /etc/ld.so.conf | # Begin portaudio addition to /etc/ld.so.conf | ||
Line 192: | Line 193: | ||
# End /etc/profile.d/50-portaudio.sh | # End /etc/profile.d/50-portaudio.sh | ||
+ | EOF | ||
source /etc/profile.d/50-portaudio.sh | source /etc/profile.d/50-portaudio.sh |
Latest revision as of 11:24, 26 July 2009
Download Source: | http://www.portaudio.com/archives/portaudio_v18_1.zip |
---|---|
and/or Download v19 Source: | http://www.portaudio.com/archives/pa_snapshot.tgz |
Contents
Introduction to PortAudio
PortAudio is a free, cross platform, open-source, audio I/O library. It lets you write simple audio programs in 'C' that will compile and run on many platforms including Windows, Macintosh (8,9,X), Unix (OSS), SGI, and BeOS. PortAudio is intended to promote the exchange of audio synthesis software between developers on different platforms.
Project Homepage: http://www.portaudio.com/
The v19 build instructions shown here were tested using the 25-July-2009 v19 trunk snapshot.
Since the v19 API is not compatible with v18, I am adding v19 build instructions without removing the existing v18 build instructions here.Dependencies
From v19.
Optional
- ALSA Library
- JACK
- OSS
- asihpi
- pkg-config
- todo: others? (not well documented)
Configuration Information
From v19.
--enable-cxx: build C++ wrapper |
Non-Multilib v18
Compile the package:
sed -i -e "s@/usr/local@/usr@g" Makefile.linux make -f Makefile.linux
Install the package:
make -f Makefile.linux libinstall
Non-Multilib v19
If you already have v18 installed, the sharable library was probably installed without versioning. (That's what the v18 instructions here do.) To prevent conflict between the two versions, add library versioning.
mv /usr/lib/libportaudio.so /usr/lib/libportaudio.so.0.0.18 && pushd /usr/lib && ln -s libportaudio.so.0.0.18 libportaudio.so && popd
Now, the two versions of the library could co-exist in the same directory, but there are also two different incompatible versions of the header file, which would likely cause problems with future builds of other packages that need one or the other of these versions. So we had better install v19 in /opt.
Compile the package:
./configure --prefix=/opt/portaudio && make
Install the package:
make install && cat >> /etc/ld.so.conf < "EOF" # Begin portaudio addition to /etc/ld.so.conf /opt/portaudio/lib # End portaudio addition EOF cat > /etc/profile.d/50-portaudio.sh < "EOF" # Begin /etc/profile.d/50-portaudio.sh export PORTAUDIODIR="/opt/portaudio" export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}${PKG_CONFIG_PATH+:}${PORTAUDIODIR}/lib/pkgconfig" # End /etc/profile.d/50-portaudio.sh EOF source /etc/profile.d/50-portaudio.sh ldconfig
Multilib v18
32Bit
todo
The obvious transformation of the non-multilib commands works. (Author could not log in at the time.) Write this up some day.
N32
todo
64bit
todo
The obvious transformation of the non-multilib commands works. (Author could not log in at the time.) Write this up some day.
Multilib v19
32Bit
If you already have v18 installed, the sharable library was probably installed without versioning. (That's what the v18 instructions here do.) To prevent conflict between the two versions, add library versioning.
mv /usr/lib/libportaudio.so /usr/lib/libportaudio.so.0.0.18 && pushd /usr/lib && ln -s libportaudio.so.0.0.18 libportaudio.so && popd
Now, the two versions of the library could co-exist in the same directory, but there are also two different incompatible versions of the header file, which would likely cause problems with future builds of other packages that need one or the other of these versions. So we had better install v19 in /opt.
Compile the package:
./configure --prefix=/opt/portaudio && make
Install the package:
make install
N32
TO DO
64Bit
If you already have v18 installed, the sharable library was probably installed without versioning. (That's what the v18 instructions here do.) To prevent conflict between the two versions, add library versioning.
mv /usr/lib64/libportaudio.so /usr/lib64/libportaudio.so.0.0.18 && pushd /usr/lib64 && ln -s libportaudio.so.0.0.18 libportaudio.so && popd
Now, the two versions of the library could co-exist in the same directory, but there are also two different incompatible versions of the header file, which would likely cause problems with future builds of other packages that need one or the other of these versions. So we had better install v19 in /opt.
Compile the package:
./configure --prefix=/opt/portaudio --libdir=/opt/portaudio/lib64 && make
Install the package:
make install && cat >> /etc/ld.so.conf < "EOF" # Begin portaudio addition to /etc/ld.so.conf /opt/portaudio/lib /opt/portaudio/lib32 /opt/portaudio/lib64 # End portaudio addition EOF cat > /etc/profile.d/50-portaudio.sh < "EOF" # Begin /etc/profile.d/50-portaudio.sh export PORTAUDIODIR="/opt/portaudio" export PKG_CONFIG_PATH32="${PKG_CONFIG_PATH32}${PKG_CONFIG_PATH32+:}${PORTAUDIODIR}/lib/pkgconfig" export PKG_CONFIG_PATHN32="${PKG_CONFIG_PATHN32}${PKG_CONFIG_PATHN32+:}${PORTAUDIODIR}/lib32/pkgconfig" export PKG_CONFIG_PATH64="${PKG_CONFIG_PATH64}${PKG_CONFIG_PATH64+:}${PORTAUDIODIR}/lib64/pkgconfig" # End /etc/profile.d/50-portaudio.sh EOF source /etc/profile.d/50-portaudio.sh ldconfig
Contents
Installed Libraries: | libportaudio.so |
---|