Anyone know if UniMRCP supports Ubuntu 20.04?

264 views
Skip to first unread message

d...@amtelco.com

unread,
Jun 1, 2020, 1:30:53 PM6/1/20
to UniMRCP
We are using UniMRCP with Asterisk.  Some of our customers have started to ask about using it with Ubuntu 20.04.
Anyone know if this is supported or will it require a new UniMRCP release?

Have a good day!

Dan

Vahagn Kocharyan

unread,
Jun 3, 2020, 6:03:31 AM6/3/20
to uni...@googlegroups.com
Hi Dan
You can try packages for ubuntu 18.if it fails. you must use ubuntu18 or you must wait for release

thanks
Vahagn

--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/unimrcp/3689bf32-752f-42b8-8ebf-5acc7488c8da%40googlegroups.com.

Arsen Chaloyan

unread,
Jun 6, 2020, 8:22:29 PM6/6/20
to UniMRCP
Hi Dan,

An attempt to quickly compile all the components revealed a minor compilation problem in the dependencies, which can be easily addressed. No thorough testing has been performed on Ubuntu 20.04 so far.

--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/unimrcp/3689bf32-752f-42b8-8ebf-5acc7488c8da%40googlegroups.com.


--
Arsen Chaloyan
Author of UniMRCP
http://www.unimrcp.org

d...@amtelco.com

unread,
Jun 9, 2020, 10:31:13 AM6/9/20
to UniMRCP
Thank you Arsen and Vahagn.

At this point, I think we will migrate from Ubuntu 16 to 18.  Arsen, you did the work for us to migrate to 18 over 1 year ago.  So many priority changes where I'm at that we are finally getting around to upgrading.


Arsen Chaloyan

unread,
Jun 9, 2020, 9:35:10 PM6/9/20
to UniMRCP
Well, Dan. Glad to notice you are getting closer to upgrading to 18.04. Packages for both xenial and bionic are in a good standing. Perhaps the latter is gaining more popularity and sometime in 2021 we may retire binary packages built for 16.04 in favor of 20.04.

On Tue, Jun 9, 2020 at 7:31 AM d...@amtelco.com <d...@amtelco.com> wrote:
Thank you Arsen and Vahagn.

At this point, I think we will migrate from Ubuntu 16 to 18.  Arsen, you did the work for us to migrate to 18 over 1 year ago.  So many priority changes where I'm at that we are finally getting around to upgrading.


--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.

d...@amtelco.com

unread,
Jun 11, 2020, 4:07:26 PM6/11/20
to UniMRCP
Thank you Arsen.

I'm running into one issue trying to compile the asterisk-unimrcp-1.7.0
Any thoughts on what I need to do for libexpat.la file?

make[1]: Entering directory '/home/amtelco/projects/asterisk/asterisk-unimrcp-1.7.0/res-speech-unimrcp'
  CC     res_speech_unimrcp.lo
/bin/grep: /usr/lib/x86_64-linux-gnu/libexpat.la: No such file or directory
/bin/sed: can't read /usr/lib/x86_64-linux-gnu/libexpat.la: No such file or directory
libtool: link: `/usr/lib/x86_64-linux-gnu/libexpat.la' is not a valid libtool archive
Makefile:319: recipe for target 'res_speech_unimrcp.la' failed
make[1]: *** [res_speech_unimrcp.la] Error 1
make[1]: Leaving directory '/home/amtelco/projects/asterisk/asterisk-unimrcp-1.7.0/res-speech-unimrcp'
Makefile:320: recipe for target 'all-recursive' failed


On Tuesday, June 9, 2020 at 8:35:10 PM UTC-5, Arsen Chaloyan wrote:
Well, Dan. Glad to notice you are getting closer to upgrading to 18.04. Packages for both xenial and bionic are in a good standing. Perhaps the latter is gaining more popularity and sometime in 2021 we may retire binary packages built for 16.04 in favor of 20.04.

On Tue, Jun 9, 2020 at 7:31 AM d...@amtelco.com <d...@amtelco.com> wrote:
Thank you Arsen and Vahagn.

At this point, I think we will migrate from Ubuntu 16 to 18.  Arsen, you did the work for us to migrate to 18 over 1 year ago.  So many priority changes where I'm at that we are finally getting around to upgrading.


--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to uni...@googlegroups.com.

Vahagn Kocharyan

unread,
Jun 11, 2020, 4:21:21 PM6/11/20
to uni...@googlegroups.com
Hi Dan see this 


To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/unimrcp/2b998d53-99b4-471f-b08d-688b73e82d38o%40googlegroups.com.

d...@amtelco.com

unread,
Jun 11, 2020, 6:01:15 PM6/11/20
to UniMRCP
Thank you Vahagn.

Tried the standard install (and the resinstall) idea with the most votes, but it's still not solving it.
libexpat is present, it's just the libexpat.la file is missing.

Dan

Vahagn Kocharyan

unread,
Jun 12, 2020, 4:55:46 AM6/12/20
to uni...@googlegroups.com
Try to install expat-devel or expat. 
Thanks
Vahagn

To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/unimrcp/401d7ebe-969b-4e58-b54c-8e8e7ba772c7o%40googlegroups.com.

d...@amtelco.com

unread,
Jun 12, 2020, 9:56:05 AM6/12/20
to UniMRCP
Thanks Vahagn.

Didn't help.

There is no expat-dev

Here is a list of the expat related packages I have installed.  

$ sudo dpkg --list *expat*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                 Version                 Architecture            Description
+++-====================================-=======================-=======================-=============================================================================
ii  expat                                2.2.5-3ubuntu0.2        amd64                   XML parsing C library - example application
un  libexpat-dev                         <none>                  <none>                  (no description available)
ii  libexpat1:amd64                      2.2.5-3ubuntu0.2        amd64                   XML parsing C library - runtime library
ii  libexpat1-dev:amd64                  2.2.5-3ubuntu0.2        amd64                   XML parsing C library - development kit

sudo apt install libexpat-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libexpat1-dev' instead of 'libexpat-dev'
libexpat1-dev is already the newest version (2.2.5-3ubuntu0.2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Dan

Arsen Chaloyan

unread,
Jun 13, 2020, 4:52:43 PM6/13/20
to UniMRCP
Dan,

Let's first identify whether you have the UniMRCP client library and its dependencies built from source or use the binaries for Ubuntu 18.04.

Binary Packages

Using the binaries should be straightforward. In this case, you should not have to care about the dependencies as all the packages are installed implicitly. The procedure to build UniMRCP modules for Asterisk would be

sudo apt-get install unimrcp-client-dev
./configure --with-unimrcp=/opt/unimrcp

In fact, on my dev server for bionic, I have

apt list --installed | grep expat

libexpat1/bionic-security,bionic-updates,now 2.2.5-3ubuntu0.2 amd64 [installed]
libexpat1-dev/bionic-security,bionic-updates,now 2.2.5-3ubuntu0.2 amd64 [installed,automatic]

with the following dependencies

ldd /usr/lib/asterisk/modules/res_speech_unimrcp.so
        linux-vdso.so.1 (0x00007ffe829fe000)
        libunimrcpclient.so.0 => /opt/unimrcp/lib/libunimrcpclient.so.0 (0x00007f44c8711000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f44c8320000)
        libapr-1.so.0 => /opt/unimrcp/lib/libapr-1.so.0 (0x00007f44c80ee000)
        libaprutil-1.so.0 => /opt/unimrcp/lib/libaprutil-1.so.0 (0x00007f44c7ec8000)
        libsofia-sip-ua.so.0 => /opt/unimrcp/lib/libsofia-sip-ua.so.0 (0x00007f44c7b41000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f44c77a3000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f44c8b6e000)
        libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f44c759c000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f44c737d000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f44c7179000)
        libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f44c6f47000)
        libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f44c6d0f000)
        libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f44c6a82000)
        libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f44c65b7000)

Building from Source

Building from source is a bit tricky. In this case, it would be advisable to use the version of the expat library bundled/installed with the APR-util library. I can elaborate further if this is what you want to achieve.

To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/unimrcp/d018c5c3-e9eb-4397-8cbc-e4721f1e3518o%40googlegroups.com.

d...@amtelco.com

unread,
Jun 14, 2020, 9:25:12 PM6/14/20
to UniMRCP
Thank you Arsen.

I am attempting to build from source.

Dan

d...@amtelco.com

unread,
Jun 16, 2020, 6:39:42 PM6/16/20
to UniMRCP
Arsen,

Could you elaborate on how to use the expat library with apr-util?

I do have libaprutil1 installed and it's the latest package.

Building from Source
Building from source is a bit tricky. In this case, it would be advisable to use the version of the expat library bundled/installed with the APR-util library. I can elaborate further if this is what you want to achieve.

Dan

Arsen Chaloyan

unread,
Jun 16, 2020, 7:36:55 PM6/16/20
to UniMRCP
Dan,

If you have the dependencies built from source, then the expat library is supposed to be installed in /usr/local/apr with the following layout

ldd /usr/local/unimrcp/lib/libunimrcpclient.so
        linux-vdso.so.1 (0x00007ffeb9596000)
        libapr-1.so.0 => /usr/local/apr/lib/libapr-1.so.0 (0x00007f57e2a19000)
        libaprutil-1.so.0 => /usr/local/apr/lib/libaprutil-1.so.0 (0x00007f57e27f3000)
        libsofia-sip-ua.so.0 => /usr/local/lib/libsofia-sip-ua.so.0 (0x00007f57e2468000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f57e20ca000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f57e1cd9000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f57e1aba000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f57e18b6000)
        libexpat.so.0 => /usr/local/apr/lib/libexpat.so.0 (0x00007f57e1686000)
        libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f57e144e000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f57e2ea6000)

In your case, though, it seems that the linker does not observe the path /usr/local/apr/lib. Have you tried to issue ldconfig after installing the dependencies.

sudo ldconfig


--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/unimrcp/50fe5baf-ce8a-4140-b3be-42cbab1a0a99o%40googlegroups.com.

d...@amtelco.com

unread,
Jun 17, 2020, 9:37:30 AM6/17/20
to UniMRCP
Hi Arsen,

I am confused.  

I compile the unimrcp, but based on this I believe I'm not installing dependencies from source.

sudo apt list --installed | grep expat

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

expat/bionic-updates,bionic-security,now 2.2.5-3ubuntu0.2 amd64 [installed]
libexpat1/bionic-updates,bionic-security,now 2.2.5-3ubuntu0.2 amd64 [installed]
libexpat1-dev/bionic-updates,bionic-security,now 2.2.5-3ubuntu0.2 amd64 [installed]

sudo ./configure --                                                                                        with-unimrcp=/opt/unimrcp
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for a BSD-compatible install... /usr/bin/install -c
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking dependency style of g++... (cached) gcc3
checking how to run the C++ preprocessor... g++ -E
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libr                                                                                        aries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libr                                                                                        aries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libr                                                                                        aries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for C compiler vendor... gnu
checking for pkg-config... /usr/bin/pkg-config
configure: UniMRCP configuration
1.7.0
configure: Asterisk configuration
16.9.0
configure: enable maintainer mode: no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating res-speech-unimrcp/Makefile
config.status: creating app-unimrcp/Makefile
config.status: executing depfiles commands
config.status: executing libtool commands

****************************** REPORT ******************************

Asterisk version.............. : 16.9.0
UniMRCP version............... : 1.7.0
UniMRCP modules version....... : 1.7.0

Compiler...................... : gcc
Compiler flags................ : -g -O2
Preprocessor definitions...... :
Linker flags.................. :

Modules install path...........: /usr/lib/asterisk/modules
Configuration install path.....: /etc/asterisk
XML doc install path...........: /var/lib/asterisk/documentation/thirdparty

Speech resource module.........: yes
Application module.............: yes

********************************************************************

Next I run sudo ldconfig

After that...
sudo ldd /usr/lib/asterisk/modules/res_speech_unimrcp.so
ldd: /usr/lib/asterisk/modules/res_speech_unimrcp.so: No such file or directory

For some background, this was a box that compiled asterisk and asterisk-unimrcp 1.5.2 on Ubuntu 16.04.  I upgraded to Ubuntu 18.04 and changed to asterisk-unimrcp 1.7.0.  I have tried both 1.5.2 and 1.7.0 but both are failing.

Is there a step I'm missing?

Dan

Vahagn Kocharyan

unread,
Jun 17, 2020, 9:56:30 AM6/17/20
to uni...@googlegroups.com
Hi Dan
Verify your asterisk moduls directory or try  'module load  res_speech_unimrcp.so' in asterisk cli. Maybe your moduls directory is  /usr/lib64/asterisk/modules     or do ./configure --prefix=your/asterisk/module/directory.  when build asterisk from source or copy res_speech_unimrcp.so to your modules directory

Thanks
Vahagn

--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.

d...@amtelco.com

unread,
Jun 17, 2020, 11:50:27 AM6/17/20
to UniMRCP
Hi Vahagn,

Because we have needed to submit changes to asterisk several times, we build asterisk from scratch.

The steps I go through are to compile asterisk, then compile asterisk-unimrpc, then compile asterisk one more time now that the real asterisk-unimrcp is done.

In the steps I'm doing, I do successfully compile asterisk the first time, but it's failing the asterisk-unimrcp build.

At this point, I don't really have a working asterisk on the box because I need to get the asterisk-unimrcp to build before making a real asterisk with the unimrcp.

Dan
To unsubscribe from this group and stop receiving emails from it, send an email to uni...@googlegroups.com.

Arsen Chaloyan

unread,
Jun 17, 2020, 10:42:14 PM6/17/20
to UniMRCP
Hi Dan,

> Because we have needed to submit changes to asterisk several times, we build asterisk from scratch.

Since you build your own version of Asterisk, the asterisk-unimrcp package has to be built from source too. However, you can still use binaries for the UniMRCP client and the dependencies. And this is what I referred to in one of my previous posts by providing instructions for Binary Distribution.

> sudo ./configure --                                                                                        with-unimrcp=/opt/unimrcp
> Next I run sudo ldconfig

> After that...
> sudo ldd /usr/lib/asterisk/modules/res_speech_unimrcp.so
> ldd: /usr/lib/asterisk/modules/res_speech_unimrcp.so: No such file or directory

Sorry, but after running 

./configure --with-unimrcp=/opt/unimrcp

have you used

make
sudo make install

The procedure above should work unless something is really screwed up after the upgrade from Ubuntu 16.04.

I suggest we work on this interactively tomorrow. Maybe you can give me access to the box to take a look. It should not last long. Please contact me offline or write to sup...@unispeech.io



To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/unimrcp/b2bb2edf-a811-4db4-838f-fab1b6dab6cdo%40googlegroups.com.

d...@amtelco.com

unread,
Jun 22, 2020, 9:43:56 AM6/22/20
to UniMRCP
Thank you Arsen.

My apologies, I was out on vacation.  Just sent an e-mail for support.
Message has been deleted

Arsen Chaloyan

unread,
Feb 24, 2021, 4:03:32 PM2/24/21
to UniMRCP
Hi Dan,

Yes, all the components can be built as usual, binaries for Ubuntu 20.04 LTS are on the way and will be published by the end of Q1 as soon as the testing concludes.




On Mon, Feb 15, 2021 at 1:10 PM Dan Cropp <d...@amtelco.com> wrote:
Since Ubuntu 16 reached the end of it's LTS cycle this April, are there plans for Ubuntu 20 support coming soon?

--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/unimrcp/df6e820f-747e-42ca-9f38-aa6585a5a9c8o%40googlegroups.com.

Arsen Chaloyan

unread,
Mar 20, 2021, 9:46:14 PM3/20/21
to UniMRCP
To close the loop, the packages for Ubuntu 20.04 have been published.

Reply all
Reply to author
Forward
0 new messages