alumae / kaldi-gstreamer-server

Real-time full-duplex speech recognition server, based on the Kaldi toolkit and the GStreamer framwork.
BSD 2-Clause "Simplified" License
1.07k stars 341 forks source link

Symbol lookup error: ../libmkl_vml_avx.so: undefined symbol: mkl_serv_getenv #113

Closed nhua6456 closed 6 years ago

nhua6456 commented 6 years ago

I am getting a symbol lookup error when I send an audio file to the kaldi gst worker. However, after much searching around, I can't seem to find if mkl_serv_getenv was deprecated in any recent MKL versions or not.

I have tested with Intel MKL 2017 and 2018, and I'm getting the same issue. I have tried to transcribe my clip using online2-wav-nnet3-latgen-faster which works fine, so I'm not sure if the problem is my python environment or if my MKL is too new.

Has anyone had success with any versions of MKL 2017 and above?

nhua6456 commented 6 years ago

For the record, I've just recompiled using OpenBLAS which provided a significant speedup over (single threaded) ATLAS. However, the accuracy has taken a huge hit. I wonder if anyone has experienced the same too?

nhua6456 commented 6 years ago

MKL 2018 works fine. However, to be able to compile kaldi, you need to edit the Makefile in gst-plugin and remove -lmkl_p4n It seems like Intel deprecated this a while back. I'm haven't looked through much of the code to see if this affects anything, but if it compiled fine, hopefully everything should be ok.