[clam-devel] CLAM Plugin Installation

David García Garzón david.garcia at upf.edu
Wed Aug 3 05:33:05 PDT 2011


(crossed mails and commits with Pau :-) )

A Dimecres 03 Agost 2011 04:18:13, Murray Meehan va escriure:
> Hello,
> 
> I am an trying to set up CLAM/NetworkEditor (the latest svn version,
> so I can enjoy the plugins) such that they can be used as course tools
> for my Audio Signal Processing class.  I've run into a few problems
> installing CLAM plugins, and have a few questions...
> 
> Re: plugin installation
> Why does the default SConstruct file in CLAM not install additional
> plugins?

Each plugin has its own SConstruct. They are meant to be distributed each one 
separatelly: some of the plugins come with their own dependencies we don't 
want to add to the core, and they might have different levels of maturity and 
release pace.

I think that the puzzling fact is that plugins are under the CLAM/ tree and 
they should be at the same level than CLAM, NetworkEditor and chordata. Indeed 
they are distributed in separate source tarballs. I would move them up right 
now but that would break some scripts and testfarm and would require an 
update.

While INSTALL documentation may get old, you can refer to testfarm script as 
the ultimate executable documentation on how the whole thing can get compiled.
	CLAM/scripts/clam_testfarm_client.py
Not an excuse for not updating INSTAL files, but might be usefull for you to 
know.

> Why is there no mention of the seperate installation
> procedure for each plugin in the CLAM INSTALL file? 
> If this is something I should submit a patch for, or am misunderstanding,
> please let me know.

Yes, that's a good idea while they are not moved. complementary to pau's 
commit i added the plugins to the section that previously explained how to 
compile applications. (commit r15122). 

Also each plugin should have an INSTALL file for itself. When they don't it's a 
fixable bug you can contribute without programming. So, yes, please, we want 
patches coming through the list :-) It is easier for us to review those files 
than to write them from scratch. So we would thank a lot such contribution. 
(imagine if you provide source patches! :-) )

I just commited (r15120) an INSTALL file for 'spatialization' which you can use 
as example for the others which i guess will be simpler but with different 
dependencies. Few plugins that have INSTALL file is just a notice about the 
required files to run the examples so they should be updated as well being that 
a section at the end.

> Re: Expression plugin (depends on boost.spirit v2.3)
> Is the CLAM project using particular versions of each dependent
> library? If so, where can I find a list of these to use? If not, are
> newer versions being included arbitrarily? And why?

There are many dependencies in clam. The reason why some dependencies require 
some versions is because those 3rd party libraries change their API and we 
have to decide whether we should stick with the old one or eventually jumping 
to the new one. These years we dealed with api jumps with qt, boost, xercesc, 
sndfile, portaudio... 

We try to use the newer apis as they become conveniently available (official 
packages) for most of the platforms. Our rule of thumb: when the new api is 
availabe to the latests stable release in our main platform (ubuntu) we take a 
look to the other supported platforms (which normally are faster) and if they 
are ready, we jump.

For the expression plugin, the author (hello Dirk) required a version of boost 
that was not ready for ubuntu at the moment, and that's why he took care of 
explaining how to compile it from sources and he provided jaunty backports 
(from karmic, unreleased  at that time). Maybe that note is not relevant 
anymore, such version and newer ones are widely available in most distros.

If you have any suggestion on how to improve the whole thing, please make us 
know.

David.

-- 
David García Garzón
(Work) david dot garcia at upf anotherdot edu
http://www.dtic.upf.edu/~dgarcia



More information about the clam-devel mailing list