[CLAM] CLAM 1.4 Fedora 12 x86_64 build issue (was [PlanetCCRMA] CLAM on CCRMA or Fedora please??)

Niels Mayer nielsmayer at gmail.com
Mon Apr 26 15:06:41 PDT 2010


This one is beyond me -- can anybody help??

Thanks!
Niels.
http://nielsmayer.com

---------- Forwarded message ----------
From: Simon Lewis
Date: Mon, Apr 26, 2010 at 1:45 PM
Subject: Re: [PlanetCCRMA] CLAM on CCRMA or Fedora please??
To: Niels Mayer
Cc: PlanetCCRMA mailinglist <planetccrma at ccrma.stanford.edu>,
music at lists.fedoraproject.org

Hi Niels

Can you help?

I am trying to build clam 1.4.0 on Fedora 12 x86_64

Using the attached rpm spec file I can successfully build libclam.

However, the build stops when trying to build the plug-ins... See Konsole
output below...

The CLAM source code is not particularly lib64 savy - clam_build_helpers.py
has to be modified to build libclam.

How to build the plug-ins on 64bit linux systems?

Simon


+ for i in Filters GuitarEffects MIDI resampling samplebysample sndfile
spacialization speech osc
+ pushd plugins/Filters
~/rpmbuild/BUILD/CLAM-1.4.0/plugins/Filters ~/rpmbuild/BUILD/CLAM-1.4.0
+ export
PKG_CONFIG_PATH=/home/simon/rpmbuild/BUILDROOT/libclam_core1_4-1.4.0-2.sl.fc12.x86_64/usr/lib64/pkgconfig
+
PKG_CONFIG_PATH=/home/simon/rpmbuild/BUILDROOT/libclam_core1_4-1.4.0-2.sl.fc12.x86_64/usr/lib64/pkgconfig
+ scons
clam_prefix=/home/simon/rpmbuild/BUILDROOT/libclam_core1_4-1.4.0-2.sl.fc12.x86_64/usr
prefix=/home/simon/rpmbuild/BUILDROOT/libclam_core1_4-1.4.0-2.sl.fc12.x86_64/usr
scons: Reading SConscript files ...
Package clam_core was not found in the pkg-config search path.
Perhaps you should add the directory containing `clam_core.pc'
to the PKG_CONFIG_PATH environment variable
No package 'clam_core' found
OSError:
'PKG_CONFIG_PATH=/home/simon/rpmbuild/BUILDROOT/libclam_core1_4-1.4.0-2.sl.fc12.x86_64/usr/lib/pkgconfig
pkg-config clam_core --libs --cflags' exited 1:
  File "/home/simon/rpmbuild/BUILD/CLAM-1.4.0/plugins/Filters/SConstruct",
line 36:
    env.EnableClamModules(clamDependencies, CLAMInstallDir)
  File "/usr/lib/scons/SCons/Environment.py", line 217:
    return apply(self.method, nargs, kwargs)
  File
"/home/simon/rpmbuild/BUILDROOT/libclam_core1_4-1.4.0-2.sl.fc12.x86_64/usr/share/clam/sconstools/clam.py",
line 166:
    ' '.join(libs)))
  File "/usr/lib/scons/SCons/Environment.py", line 1447:
    return function(self, self.backtick(command))
  File "/usr/lib/scons/SCons/Environment.py", line 585:
    raise OSError("'%s' exited %d" % (command, status))


Am 26.04.2010 18:32, schrieb Niels Mayer:

I noticed that CLAM stopped being supported by PlanetCCRMA around F8
timeframe.

 It looks like a lot of new and cool stuff is available. Any interest in
getting this added?

 http://clam-project.org/

 CLAM 1.4.0, 3D molluscs in the space


>  The CLAM project is delighted to announce the long awaited 1.4.0 release
> of CLAM, the C++ framework for audio and music, code name 3D molluscs in the
> space.


>  In summary, this long term release includes a lot of new spacialization
> modules for 3D audio; MIDI, OSC and guitar effectsmodules; architectural
> enhancements such as typed controls; nice usability features for the
> NetworkEditor interface; convenience tools and scripts to make CLAM
> experience better; enhanced building of LADSPA plugins and new support
> for LV2 and VST plugin building; a new easy to use application to explore
> songs chords called Chordata; many optimizations, bug fixing and code clean
> ups.


 It looks great and easy to use:
http://clam-project.org/wiki/Development_screenshots

 See also:

 http://vokicodder.blogspot.com/2007/04/educational-vowel-synth-and.html
http://vokicodder.blogspot.com/2007/04/realtime-mfcc-and-lpc-analysis.html
http://vokicodder.blogspot.com/2007/04/realtime-voice-gender-change.html
http://vokicodder.blogspot.com/2009/04/vst-plugins-with-qt-user-interface.html

 ... CLAM allows to visually build JACK and PortAudio based applications
> with Qt interfaces as well as GUI-less VST and LADSPA plugins. The more
> flashy feature of VST is user interfaces that are mostly built using VSTGUI.
> We are using Qt as interface for JACK and Portaudio based apps because we
> are using the nice features of Qt toolkit to dynamically bind the UI
> elements and the underlaying processing. Moreover, Qt styling features
> enables shinning designer-made interfaces. Why not being able to reuse the
> same interface for VST and JACK? That has been a long standing TODO in CLAM
> so now is time to address it.


>  In summary, we fully solved croscompiling vst's from linux and we even
> started using qt interfaces as vst gui. In that last point, there still is a
> lot of work to do, but the basic question on whether you can use qt to edit
> a vst plugin is now out of any doubt.


>  To make the spike simpler, and in order not to collide with other CLAM
> developers, currently working on it, i just left apart all the CLAM wrapping
> part, just addressing vst crosscompiling and Qt with the sdk examples.


>  Cross compilation was pretty easy. This time I found lot more
> documentation on mingw and even scons. Just by adding the crossmingw scons
> tool we are already using for the apps and i managed to get Linux
> cross-compiled plugins running on Wine.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.clam-project.org/pipermail/clam-users-clam-project.org/attachments/20100426/1a4eb418/attachment-0001.htm>
-------------- next part --------------
%define _prefix	/usr
%define _SONr	1_4

Summary:	CLAM - C++ Library for Audio and Music
Name:		libclam_core%{_SONr}
Version:	1.4.0
Release:	2.sl.fc12
License:	GPL
URL:		http://clam.iua.upf.edu
Group:		System/Libraries
Source0:	CLAM-%{version}.tar.gz
Source90:	clam-rpmlintrc
Patch1:		clam-qt4.patch
Patch2:		clam-gcc44.patch
Patch3:		clam-no-return-in-nonvoid-function.patch

BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-buildroot

BuildRequires:	alsa-lib-devel
BuildRequires:	desktop-file-utils
BuildRequires:	doxygen
BuildRequires:	fftw-devel >= 3.0
BuildRequires:	gcc-c++
BuildRequires:	ghostscript-devel
BuildRequires:	hpijs
BuildRequires:	graphviz
BuildRequires:	id3lib-devel
BuildRequires:	jack-audio-connection-kit-devel
BuildRequires:	ladspa-devel
BuildRequires:	libjpeg-devel
BuildRequires:	liblo-devel
BuildRequires:	libogg-devel
BuildRequires:	libsamplerate-devel
BuildRequires:	libsndfile-devel
BuildRequires:	libvorbis-devel
BuildRequires:	libmad-devel
BuildRequires:	mesa-libGL-devel
BuildRequires:	mesa-libGLU-devel
BuildRequires:	mesa-libGLw-devel
BuildRequires:	mesa-libOSMesa-devel
BuildRequires:	oscpack
BuildRequires:	pkgconfig
BuildRequires:	portaudio-devel
BuildRequires:	qt-devel >= 4.4
BuildRequires:	scons >= 0.96.92
BuildRequires:	texlive-latex
BuildRequires:	xerces-c-devel

Requires:	alsa-lib
Requires:	jack-audio-connection-kit
Requires:	libmad
Requires:	xerces-c
Obsoletes:	libclam1 < 1.2.0
Provides:	libclam1 = 1.2.0
Obsoletes:	libclam13 < 1.3.0
Provides:	libclam13 = 1.3.0

%description
CLAM stands for C++ Library for Audio and Music and in Catalan means
something like a 'continuous sound produced by a large number of
people as to show approval or disapproval of a given event' It is
the best name we could find after long discussions and it is
certainly much better than its original name (MTG-Classes).

CLAM is a framework to develop audio and music applications in C++.

It provides tools to perform advanced analysis, transformations and
synthesis, visualization for audio and music related objects, and
other tools that are useful to abstract target platform for most
tasks in an audio applications such as audio devices, file formats,
threading...

%package -n libclam-devel
Summary:	CLAM - C++ Library for Audio and Music - development files
Group:		Development/Libraries/C and C++
Requires:	fftw-devel >= 3.0
Requires:	gcc-c++
Requires:	id3lib-devel
Requires:	jack-audio-connection-kit-devel
Requires:	ladspa-devel
Requires:	libclam_audioio%{_SONr} = %{version}
Requires:	libclam_core%{_SONr} = %{version}
Requires:	libclam_processing%{_SONr} = %{version}
Requires:	libogg-devel
Requires:	libsamplerate-devel
Requires:	libsndfile-devel
Requires:	libvorbis-devel
Requires:	libmad-devel
Requires:	oscpack
Requires:	pkgconfig
Requires:	portaudio-devel
Requires:	qt-devel >= 4.4

%description -n libclam-devel
CLAM is a framework to develop audio and music applications in C++.
It provides tools to perform advanced analysis, transformations and
synthesis, visualization for audio and music related objects, and
other tools that are useful to abstract target platform for most
tasks in an audio applications such as audio devices, file formats,
threading...

This package contains the files needed to develop programs with the
clam library.

%package -n clam-doc
Summary:	Contains the clam-framework documentation and some example programs
Group:		Documentation/Other
Provides:	libclam-doc = 1.3.0
Obsoletes:	libclam-doc < 1.3.0

%description -n clam-doc
This package contains the framework documentation and some example
programs.

%package -n libclam_audioio%{_SONr}
Summary:	Shared library for CLAM
Group:		System/Libraries

%description -n libclam_audioio%{_SONr}
Shared library for package CLAM.

%package -n libclam_processing%{_SONr}
Summary:	Shared library for CLAM
Group:		System/Libraries

%description -n libclam_processing%{_SONr}
Shared library for package CLAM.

%package -n libclam_filterspkg%{_SONr}
Summary:	Shared library for CLAM
Group:		System/Libraries

%description -n libclam_filterspkg%{_SONr}
Shared library for package CLAM.

%package -n libclam_guitareffects%{_SONr}
Summary:	Shared library for CLAM
Group:		System/Libraries

%description -n libclam_guitareffects%{_SONr}
Shared library for package CLAM.

%package -n libclam_midi%{_SONr}
Summary:	Shared library for CLAM
Group:		System/Libraries

%description -n libclam_midi%{_SONr}
Shared library for package CLAM.

%package -n libclam_osc%{_SONr}
Summary:	Shared library for CLAM
Group:		System/Libraries

%description -n libclam_osc%{_SONr}
Shared library for package CLAM.

%package -n libclam_resampling%{_SONr}
Summary:	Shared library for CLAM
Group:		System/Libraries

%description -n libclam_resampling%{_SONr}
Shared library for package CLAM.

%package -n libclam_samplebysample%{_SONr}
Summary:	Shared library for CLAM
Group:		System/Libraries

%description -n libclam_samplebysample%{_SONr}
Shared library for package CLAM.

%package -n libclam_sndfile%{_SONr}
Summary:	Shared library for CLAM
Group:		System/Libraries

%description -n libclam_sndfile%{_SONr}
Shared library for package CLAM.

%package -n libclam_spacialization%{_SONr}
Summary:	Shared library for CLAM
Group:		System/Libraries

%description -n libclam_spacialization%{_SONr}
Shared library for package CLAM.

%package -n libclam_speech%{_SONr}
Summary:	Shared library for CLAM
Group:		System/Libraries

%description -n libclam_speech%{_SONr}
Shared library for package CLAM.

%package -n clam-plugins
Summary:	Plugins for CLAM
Group:		System/Libraries

%description -n clam-plugins
Plugins for package CLAM.

%prep
%setup -q -n CLAM-%{version}
%patch1
%patch2 -p1
%patch3 -p1

%__sed -i -e 's|/lib|/%{_lib}|g' \
	scons/libs/clam_build_helpers.py

%build

%install
%__rm -rf %{buildroot}
%__install -dm 755 %{buildroot}%{_prefix}

scons \
	prefix=%{buildroot}%{_prefix} \
	release=1 \
	double=0 \
	xmlbackend=xercesc \
	with_ladspa=1 \
	with_osc=1 \
	with_jack=1 \
	with_fftw3=1 \
	with_fftw=0 \
	with_nr_fft=1 \
	with_sndfile=1 \
	with_oggvorbis=1 \
	with_mad=1 \
	with_id3=1 \
	with_portaudio=1 \
	with_alsa=1 \
	with_portmidi=0

scons
scons install

%__sed -i -e 's|#include <fstream>|#include <fstream>\n#include <cstdlib>|g' \
	plugins/temporal_oboeSynthesizer/TestScore.cxx

for i in Filters GuitarEffects MIDI resampling samplebysample \
	sndfile spacialization speech osc; do
	pushd plugins/$i
		export PKG_CONFIG_PATH=${PATH}:%{buildroot}%{_libdir}/pkgconfig
		scons \
			clam_prefix=%{buildroot}%{_prefix} \
			prefix=%{buildroot}%{_prefix}
		scons install
	popd
done

doxygen ./doxygen.cfg
%__rm -f doxygen/html/installdox

%__sed -i -e 's|%{buildroot}||g' \
	%{buildroot}%{_libdir}/pkgconfig/*.pc

%clean
%__rm -rf %{buildroot}

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%post -n libclam_processing%{_SONr} -p /sbin/ldconfig
%postun -n libclam_processing%{_SONr} -p /sbin/ldconfig

%post -n libclam_audioio%{_SONr} -p /sbin/ldconfig
%postun -n libclam_audioio%{_SONr} -p /sbin/ldconfig

%post -n libclam_filterspkg%{_SONr} -p /sbin/ldconfig
%postun -n libclam_filterspkg%{_SONr} -p /sbin/ldconfig

%post -n libclam_guitareffects%{_SONr} -p /sbin/ldconfig
%postun -n libclam_guitareffects%{_SONr} -p /sbin/ldconfig

%post -n libclam_midi%{_SONr} -p /sbin/ldconfig
%postun -n libclam_midi%{_SONr} -p /sbin/ldconfig

%post -n libclam_osc%{_SONr} -p /sbin/ldconfig
%postun -n libclam_osc%{_SONr} -p /sbin/ldconfig

%post -n libclam_resampling%{_SONr} -p /sbin/ldconfig
%postun -n libclam_resampling%{_SONr} -p /sbin/ldconfig

%post -n libclam_samplebysample%{_SONr} -p /sbin/ldconfig
%postun -n libclam_samplebysample%{_SONr} -p /sbin/ldconfig

%post -n libclam_sndfile%{_SONr} -p /sbin/ldconfig
%postun -n libclam_sndfile%{_SONr} -p /sbin/ldconfig

%post -n libclam_spacialization%{_SONr} -p /sbin/ldconfig
%postun -n libclam_spacialization%{_SONr} -p /sbin/ldconfig

%post -n libclam_speech%{_SONr} -p /sbin/ldconfig
%postun -n libclam_speech%{_SONr} -p /sbin/ldconfig

%files
%defattr(-,root,root)
%{_libdir}/libclam_core.so.*

%files -n libclam_processing%{_SONr}
%defattr(-,root,root)
%{_libdir}/libclam_processing.so.*

%files -n libclam_audioio%{_SONr}
%defattr(-,root,root)
%{_libdir}/libclam_audioio.so.*

%files -n libclam_filterspkg%{_SONr}
%defattr(-,root,root)
%{_libdir}/libclam_filterspkg.so.*

%files -n libclam_guitareffects%{_SONr}
%defattr(-,root,root)
%{_libdir}/libclam_guitareffects.so.*

%files -n libclam_midi%{_SONr}
%defattr(-,root,root)
%{_libdir}/libclam_midi.so.*

%files -n libclam_osc%{_SONr}
%defattr(-,root,root)
%{_libdir}/libclam_osc.so.*

%files -n libclam_resampling%{_SONr}
%defattr(-,root,root)
%{_libdir}/libclam_resampling.so.*

%files -n libclam_samplebysample%{_SONr}
%defattr(-,root,root)
%{_libdir}/libclam_samplebysample.so.*

%files -n libclam_sndfile%{_SONr}
%defattr(-,root,root)
%{_libdir}/libclam_sndfile.so.*

%files -n libclam_spacialization%{_SONr}
%defattr(-,root,root)
%{_libdir}/libclam_spacialization.so.*

%files -n libclam_speech%{_SONr}
%defattr(-,root,root)
%{_libdir}/libclam_speech.so.*

%files -n libclam-devel
%defattr(-,root,root)
%dir %{_includedir}/CLAM
%{_includedir}/CLAM/*
%{_libdir}/libclam_*.so
%{_libdir}/pkgconfig/clam_*.pc
%dir %{_datadir}/clam
%dir %{_datadir}/clam/sconstools
%{_datadir}/clam/sconstools/*.py*

%files -n clam-doc
%defattr(-,root,root)
%doc CHANGES
%doc doxygen/*

%files -n clam-plugins
%defattr(-,root,root)
%dir %{_libdir}/clam
%{_libdir}/clam/libclam_*_plugin.so*
%dir %{_datadir}/networkeditor
%{_datadir}/networkeditor/*

%changelog
* Sun Apr 25 2010 Simon Lewis <simon.lewis at slnet-online.de> - 1.4.0-2.sl.fc12
- Build 1


More information about the clam-users mailing list