Not able to buld native client from source

I wanted to test out this #1275 pull request which gives the streaming speech to text capability. So I went ahead and started to build the native client from that branch.
I followed this : https://github.com/mozilla/DeepSpeech/tree/streaming-inference/native_client

now everything worked well till I had to run these commands:
cd …/DeepSpeech/native_client
make deepspeech

when i run this make it gives me the following error:

ld: library not found for -ldeepspeech_utils

Not sure how i need to proceed from this.

Thanks in advance

[Update]
I have fixed the above error by actually looking at the MakeFile and copy pasted
libdeepspeech_utils.so file into that location.

Now i am facing another error:

Undefined symbols for architecture x86_64:
“_sox_add_effect”, referenced from:
GetAudioBuffer(char const*) in client-fe3c64.o
“_sox_close”, referenced from:
GetAudioBuffer(char const*) in client-fe3c64.o
“_sox_create_effect”, referenced from:
GetAudioBuffer(char const*) in client-fe3c64.o
“_sox_create_effects_chain”, referenced from:
GetAudioBuffer(char const*) in client-fe3c64.o
“_sox_delete_effects_chain”, referenced from:
GetAudioBuffer(char const*) in client-fe3c64.o
“_sox_effect_options”, referenced from:
GetAudioBuffer(char const*) in client-fe3c64.o
“_sox_find_effect”, referenced from:
GetAudioBuffer(char const*) in client-fe3c64.o
“_sox_flow_effects”, referenced from:
GetAudioBuffer(char const*) in client-fe3c64.o
“_sox_init”, referenced from:
_main in client-fe3c64.o
“_sox_open_read”, referenced from:
GetAudioBuffer(char const*) in client-fe3c64.o
“_sox_open_write”, referenced from:
GetAudioBuffer(char const*) in client-fe3c64.o
“_sox_quit”, referenced from:
_main in client-fe3c64.o
ld: symbol(s) not found for architecture x86_64

Not sure how to go about fixing this.

Please help.

Thanks

Read again, you’ll learn that we document that this depends on libsox.

Hi @lissyx i have installed sox using
brew install sox

Still same issue.
Is that how libsox will be installed ?? Sorry if this is a very basic question.

It should but then you need to ensure the include path is properly setup when you perform the build. The streaming model is not in an experimental state even usable. What works is that we have a model that can run, but it’s not a model trained at all, it’s a one-epoch single-sample LDC93S1 model. Just to test the codebase.

You can use EXTRA_CFLAGS="-Ipath/to/include/path/of/sox" when you call make deepspeech. But technically, it should be transparent through the use of pkg-config. I thought it was installed by default when you pull sox.

Please keep us uptodate: pkg-config should be enough. If you feel the doc is not accurate enough, you are welcome to fix it in a PR, we’d be happy to review and merge any :slight_smile: