Using Vamp Plugins and Hosts > Host Forum: Sonic Visualiser

Built on debian wheezy amd64 no audio port

(1/2) > >>

lorenzosu:
Hi,

I'm on debian wheezy amd64. As there was no amd64 build and I couldn't get the 1.7.1cc-1_amd64 deb to work, I downloaded the source and compiled after figuring out the dependencies.
Build goes well without any evident error and I can successfully load sonic-visualiser and load a file, but when I open a file or a session I get a message: "No audio available - Could not open an audio device for playback. - Automatic audio device detection failed. Audio playback will not be available during this session. to play" and thus can't playback.
The message on the stdout is simply WARNING: AudioTargetFactory::createCallbackTarget: No suitable targets available.

I did spot these in the build process which are probably causing the trouble:
AudioCoreAudioTarget.h:0: Warning: No relevant classes found. No output generated.
AudioJACKTarget.h:0: Warning: No relevant classes found. No output generated.
AudioPortAudioTarget.h:0: Warning: No relevant classes found. No output generated.
AudioPulseAudioTarget.h:0: Warning: No relevant classes found. No output generated.

Otherwise I'm pretty clueless on what else to try,.. Any help would be appreciated.
Thanks,
Lorenzo.

cannam:
Hi -- apologies to you and to everyone for my inattention to this forum in recent weeks.


--- Quote from: lorenzosu on March 24, 2011, 21:07:59 ---I did spot these in the build process which are probably causing the trouble:
AudioCoreAudioTarget.h:0: Warning: No relevant classes found. No output generated.
AudioJACKTarget.h:0: Warning: No relevant classes found. No output generated.
AudioPortAudioTarget.h:0: Warning: No relevant classes found. No output generated.
AudioPulseAudioTarget.h:0: Warning: No relevant classes found. No output generated.

--- End quote ---

Yes, you need to have at least one playback target!  JACK and Pulse are the most likely candidates on Linux.  With the 1.7 release, this is probably a question of adjusting the defines in the prf/sv.prf file (it does use pkg-config to pick up what libraries are available, but presumably this has failed).

The recently-released 1.8 has a different build system, using autoconf for these things, which may be worth a try.  So far there is only a 32-bit Linux binary available for that, but hopefully I should be able to make a 64-bit one as well shortly.


Chris

lorenzosu:
Hi Chris,
Thanks for taking time to look into this.


--- Quote from: cannam on April 14, 2011, 14:53:58 ---Yes, you need to have at least one playback target!  JACK and Pulse are the most likely candidates on Linux.  With the 1.7 release, this is probably a question of adjusting the defines in the prf/sv.prf file (it does use pkg-config to pick up what libraries are available, but presumably this has failed).

--- End quote ---
Ok I'm not very familiar with that, but as a workaround to get at least JACK output working I dug into it a bit and thought the problem might be jack 2, so I managed to compile by:
- installing jack 1 and libs
- compile SV
- re-install jack 2

The caveat is that in this way removing jack 1 pulls all packages (e.g. ardour and many other applications) which are marked to depend on it. So it is a good idea to take a note of the removed packages.
Interestingly sonic visualiser continues to work perfectly with jack 2.


--- Quote from: cannam on April 14, 2011, 14:53:58 ---The recently-released 1.8 has a different build system, using autoconf for these things, which may be worth a try.  So far there is only a 32-bit Linux binary available for that, but hopefully I should be able to make a 64-bit one as well shortly.

--- End quote ---

Autoconf seems interesting and should make it easier to dig into the dependencies. As soon as I have the time I'll try to compile it and maybe give my feedback.

Lorenzo

lorenzosu:
Hi again,

So I tried with 1.8

I installed the same packages recommended for ubuntu in 1.7.2 (again jack2 was removed).

configure picked up jack but not portaudio. It seems portaudio19-dev is required (not libportaudio-dev)

make starts but I got an error:

/usr/bin/ld: ../svcore/libsvcore.a(Init.o): undefined reference to symbol 'XGetErrorText'
/usr/bin/ld: note: 'XGetErrorText' is defined in DSO //usr/lib64/libX11.so.6 so try adding it to the linker command line
//usr/lib64/libX11.so.6: could not read symbols: Invalid operation


This seemed to be solved by adding manually -lX11 to the Makefile in the ./sonic-visualiser dir.

But then I get an error:

../svapp/libsvapp.a(AudioTargetFactory.o): In function `AudioTargetFactory::createCallbackTarget(AudioCallbackPlaySource*)':
AudioTargetFactory.cpp:(.text+0x76f): undefined reference to `AudioJACKTarget::AudioJACKTarget(AudioCallbackPlaySource*)'
AudioTargetFactory.cpp:(.text+0xb54): undefined reference to `AudioJACKTarget::AudioJACKTarget(AudioCallbackPlaySource*)'


At this point I'm pretty much stuck. Any hint would be appreciated.

Lorenzo

cannam:

--- Quote from: lorenzosu on April 15, 2011, 16:39:09 ---
/usr/bin/ld: ../svcore/libsvcore.a(Init.o): undefined reference to symbol 'XGetErrorText'
/usr/bin/ld: note: 'XGetErrorText' is defined in DSO //usr/lib64/libX11.so.6 so try adding it to the linker command line
//usr/lib64/libX11.so.6: could not read symbols: Invalid operation


--- End quote ---

This one is an error on my part -- svcore should not be referring to this symbol.  I'm not quite sure why it should actually fail to link for you, since it works here, but if you've got a workaround that should be enough for the moment.  I'll correct it in the code in the mean time.


--- Quote from: lorenzosu on April 15, 2011, 16:39:09 ---But then I get an error:

../svapp/libsvapp.a(AudioTargetFactory.o): In function `AudioTargetFactory::createCallbackTarget(AudioCallbackPlaySource*)':
AudioTargetFactory.cpp:(.text+0x76f): undefined reference to `AudioJACKTarget::AudioJACKTarget(AudioCallbackPlaySource*)'
AudioTargetFactory.cpp:(.text+0xb54): undefined reference to `AudioJACKTarget::AudioJACKTarget(AudioCallbackPlaySource*)'


At this point I'm pretty much stuck. Any hint would be appreciated.

--- End quote ---

Can you delete svapp/o/AudioJACKTarget.o and re-run make in the svapp directory, and paste the g++ command that make runs?


Chris

Navigation

[0] Message Index

[#] Next page

Go to full version