[Clam-devel] Re: OSC in CLAM

Han, Yushen yushen.han at gmail.com
Wed Aug 6 10:43:54 PDT 2008


Hi, Pau

Here is the patch with all the problems that you pointed out corrected.

In this patch, I added 2 subdirs under svn:
/plugins/temporal_oboeSynthesizer/LoopMaker
/plugins/temporal_oboeSynthesizer/SDIF2Wav

and a README.txt which is the instruction for those two tools.

However, this is a new problem with my LoopMaker I compiled the lasted clam:
All .cxx .hxx files under LoopMaker could be compiled and I saw all
the .o files.
However, when I was trying to link them and to produce the executable by:

g++ -o .Exe emd.o loopMaker.o LoopPointExtractor.o SMSIo.o
-L/usr/local/lib -lclam_core -lclam_audioio
-lclam_processing

The error message it returned was just AS IF "-lclam_audioio" was
missing from g++
i.e.
g++ -o .Exe emd.o loopMaker.o LoopPointExtractor.o SMSIo.o
-L/usr/local/lib -lclam_core -lclam_processing
gave the same error message as
g++ -o .Exe emd.o loopMaker.o LoopPointExtractor.o SMSIo.o
-L/usr/local/lib -lclam_core -lclam_processing -clam_audioio
(If I missed out -lclam_core or -clam_processing intentionally, it
would gave the error message that I was expecting.)

I am sure that all CLAM modules were listed in SConstruct and all 3
libraries exist at /usr/local/lib

env.EnableClamModules([
	'clam_core',
	'clam_audioio',
	'clam_processing',
	] , CLAMInstallDir)


But why did not g++ link clam_audioio particularly? Do you have any idea?
(My plugin itself did not have this problem.)

Best regards,
Han, Yushen


-- g++ error message start --
Undefined symbols:
  "CLAM::AudioFileIn::Do(CLAM::Audio&)", referenced from:
      CLAM::WAVELoad(std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, CLAM::Segment&, int&, int&)in SMSIo.o
  "CLAM::AudioFileConfig::DefaultInit()", referenced from:
      CLAM::AudioFileConfig::AudioFileConfig()in SMSIo.o
  "CLAM::AudioFileIn::AudioFileIn()", referenced from:
      CLAM::WAVELoad(std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, CLAM::Segment&, int&, int&)in SMSIo.o
  "CLAM::AudioFileIn::~AudioFileIn()", referenced from:
      CLAM::WAVELoad(std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, CLAM::Segment&, int&, int&)in SMSIo.o
      CLAM::WAVELoad(std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, CLAM::Segment&, int&, int&)in SMSIo.o
  "CLAM::AudioFileIn::SampleRate()", referenced from:
      CLAM::WAVELoad(std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, CLAM::Segment&, int&, int&)in SMSIo.o
  "CLAM::AudioFileIn::Size() const", referenced from:
      CLAM::WAVELoad(std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, CLAM::Segment&, int&, int&)in SMSIo.o
-- g++ error message end --
On Mon, Aug 4, 2008 at 1:30 PM, Pau Arumí <parumi at iua.upf.edu> wrote:
> On dl, 2008-08-04 at 12:52 -0400, Han, Yushen wrote:
>> Pau,
>>
>> Wop! This is a lot... But thanks for your effort in pointing them all.
>>
>> I was trying to do "co" before making my new patch.
>>
>> Here I found a problem:
>>
>> 149-159-132-38:CLAM yushen$ svn co https://iua-share.upf.edu/svn/clam/trunk clam
>> svn: REPORT request failed on '/svn/clam/!svn/vcc/default'
>> svn: Working copy path 'CLAM/plugins/temporal_oboeSynthesizer' does
>> not exist in repository
>
> svn checkout runs fine here. I really don't have a clue about this err.
>
> Try do it in a different directory (anywhere but in a sandbox dir.
> Sandbox a checked out repository)
>
>> It seemed that in repository there is no temporal_oboeSynthesizer but
>> a RealtimeSMSSynthesizer dir under plugins.
>> This could be some chaos created by my own patch. I am sorry about that.
>
> Well, this might be in your local copy. The repository is ok.
>
>
>> > 4. Why these nested dirs? Fix it
>> >        loopMaker/loopMaker/
>> The reason why I have a nested dir is to keep a separate SConstruct
>> file for this dir-based loopMaker.
>> The user will go to loopMaker to compile it while the code is located
>> in oopMaker/loopMaker.
>> Is that okay?
>
> No. Prefer SConstruct and their source files in the *same* directory
> (unless in cases involving *many* sources). Simpler. Better.
>
> P
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: temporal_oboeSynthesizer_withProblematicLoopMaker.patch
Type: application/octet-stream
Size: 92256 bytes
Desc: not available
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20080806/9083be73/attachment-0003.obj>


More information about the clam-devel mailing list