Installing OPUS in freeswitch - freeswitch

I need to install OPUS codec in my freeswitch. I have the source in my source directory. I tried to do make mod_opus from the source but it shows error. Can anyone tell me how to add mod_opus in Freeswitch?

Edit the file modules.conf in the source tree
Uncomment codecs/mod_opus
Install the libopus-dev package
Recompile Freeswitch

fs requires the version of libopus-devel to be at least 1.1 (in file configure.ac)
PKG_CHECK_MODULES([OPUS], [opus >= 1.1],[
AM_CONDITIONAL([HAVE_OPUS],[true])],[
AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_OPUS],[false])])
Install Howto
(https://centos.pkgs.org/6/linuxtech/libopus-devel-1.1-1.el6.x86_64.rpm.html)
Create the repository config file /etc/yum.repos.d/linuxtech.repo:
[linuxtech]
name=LinuxTECH
baseurl=http://pkgrepo.linuxtech.net/el6/release/
enabled=1
gpgcheck=1
gpgkey=http://pkgrepo.linuxtech.net/el6/release/RPM-GPG-KEY-LinuxTECH.NET
Install libopus-devel rpm package:
# yum install libopus-devel

you can update FreeSWITCH to a new version,and it is default load of mod_opus,and you can check the conf/vars.xml , same as:
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=OPUS,G722,PCMU,PCMA,GSM"/>

You need to comment following lines in source and then recompile again:
vi freeswitch/src/mod/codecs/mod_opus/Makefile
# Comment line 889 & 890
#install: error
#all: error

Related

Cannot Find libatomic.so.1

I'm trying to build snappy, but I end up getting the error
error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
When I go look in /lib/gcc/x86_64-redhat-linux/8/ I do find a file libatomic.so
Which has the contents
INPUT ( /usr/lib64/libatomic.so.1.2.0 )
then if I go looking in /usr/lb64/ only these files exist
libatomic_ops_gpl.so.1
libatomic_ops_gpl.so.1.1.2
libatomic_ops.so.1
libatomic_ops.so.1.1.1
I try doing yum install libatomic_ops.x86_64, it says nothing to do. That is the only package that comes up when doing yum search libatomic.
I'm confused with how to solve this issue. Thanks!
For what it matters, this is a redhat 8.6 machine.
This was solved by running dnf install gcc, this updated gcc and allowed for yum install libatomic to work

Why is /var/lib/dpkg/status missing on a BitBake-generated OS?

I have installed apt onto a system built by BitBake by adding the apt package to the IMAGE_INSTALL variable in my recipe.
apt-get and apt-cache now execute on the built system, but if I try to do anything useful with them (such as apt-get update or apt-cache search), I get the following error:
E: Could not open file /var/lib/dpkg/status - open (2: No such file or directory)
E: The package lists or status file could not be parsed or opened
After some preliminary searching, I found this exchange on the Yocto Project mailing list:
Hi,
I have some requirement with apt-get in yocto genearted rootfs.
I built the yocto source code with enabling the apt package.
But after booting the image on my machine and run the "apt-get" command for installing some package it gives the following error.
Could not open the file /var/lib/dpkg/status open(2: no such a file or directory).
The package lists or status files could not be parsed or opened.
This error is because you need to add package-management to EXTRA_IMAGE_FEATURES in local.conf,
PACKAGE_CLASSES ?= "package_deb"
EXTRA_IMAGE_FEATURES = "debug-tweaks package-management"
I've added package-management but don't see any different output.
After a touch /var/lib/dpkg/status, apt-get update returns the following:
Reading package lists...Done
How can I get apt into a functioning state through the use of BitBake metadata?
I have found a similar thread from the NXP website.
You would need to set up your own web server and provide all those packages and add the server URL to the source list. SourceList
In addition, you have to update the package manifest by running bitbake package-index and add PACKAGE_CLASSES ?= " package_deb" to conf/local.conf
I have successfully set up OPKG before. The steps are similar, you can find it here

error while installing snmp package in SUSE 11

I am trying to install SNMP package in SUSE Linux enterprise server 11. I downloaded net-snmp-5.6.1-3.3.x86_64.rpm and installed with the below command
UKGBDCESRPL048:/opt/packages # rpm -ivh --nodeps net-snmp-5.6.1-3.3.x86_64.rpm
warning: net-snmp-5.6.1-3.3.x86_64.rpm: Header V3 RSA/SHA256 signature: NOKEY, key ID 3dbdc284
Preparing...
##################################### [100%]
1:net-snmp
##################################### [100%]
Updating /etc/sysconfig/net-snmp...
But when I try to start snmpd service, I am getting an error below:
UKGBDCESRPL048:/opt/packages # /etc/init.d/snmpd start
Starting snmpd/usr/sbin/snmpd: error while loading shared libraries: libnetsnmpagent.so.25: cannot open shared object file: No such file or directory
startproc: exit status of parent of /usr/sbin/snmpd: 127
Please help me to properly install SNMP package.
Why are you trying to install the RPM with --nodeps? This breaks your RPM dependencies! Please remove the package again and try to install it without that option. This should fail with a list of additionally required RPM's.
You'll have to install them, too. BTW, I'm sure that at least the RPM libsnmp15 is missing, because libnetsnmpagent.so.25 is in there.
You could also configure SLES to use one or more (online) repositories after registering your machine with a license key. After that, a simple
zypper in net-snmp
should solve all dependencies automatically.
One more thing: net-snmp-5.6.1-3.3.x86_64.rpm doesn't seem to be a valid SLES 11 package. Latest version (even SP4) is 5.4.2.1-8.12.24.1. Where did you get the RPM from? Just wondering...

dpkg error: contains ununderstood data member

I'm trying to install a jailbreak tweak using make package install but I'm receiving this error from dpkg:
dpkg-deb: file `/tmp/_theos_install.deb' contains ununderstood data member data.tar.xz , giving up
dpkg: error processing /tmp/_theos_install.deb (--install):
subprocess dpkg-deb --fsys-tarfile returned error exit status 2
Errors were encountered while processing:
/tmp/_theos_install.deb
make: *** [internal-install] Error 1
So as far as I can tell it isn't able to understand the .xz extension, but I'm not sure why that file is being created. Thanks for the help.
I found out how to fix it. In $THEOS/makefiles/package/deb.mk replace this line:
$(ECHO_NOTHING)COPYFILE_DISABLE=1 $(FAKEROOT) -r dpkg-deb -b "$(THEOS_STAGING_DIR)" "$(_THEOS_DEB_PACKAGE_FILENAME)" $(STDERR_NULL_REDIRECT)$(ECHO_END)
with this line:
$(ECHO_NOTHING)COPYFILE_DISABLE=1 $(FAKEROOT) -r dpkg-deb -Zgzip -b "$(THEOS_STAGING_DIR)" "$(_THEOS_DEB_PACKAGE_FILENAME)" $(STDERR_NULL_REDIRECT)$(ECHO_END)
The .deb file is created because you told Theos build system to do that. The package install rule of the Makefile is creating the Debian package using xz compression. Now, this kind of compression is supported by versions of dpkg equal or higher than 1.15.6.
So, in order to solve your problem, you should update dpkg to a newer version or install Theos without packaging support. Probably a simple make install will do it.
In case that updating dpkg isn't possible and you don't want to install the program without package management support, the other (more painful) method is to change the algorithm in which the package is compressed. Here you have good information about how to do this.
In my case I was building a package on Ubuntu 18.04 and trying to install that package on Debian 7 (airgapped). I had to change the line in the Makefile that read:
dpkg --build $(DESTDIR)
..to:
dpkg-deb --build -Zgzip $(DESTDIR)
Thanks Connor!
Other option that you can try is to unpack the .deb that you where triying to install and repack with no XZ compression.
Unpack:
mkdir package/ && dpkg -x package.deb package/
Pack:
dpkg-deb --build -Zgzip package/
You can rename the resulting package with:
dpkg-name -o package.deb
Or simply name the package dir with the name of your package.
Important: In orther to perform this, you need to install dpkg-dev package:
sudo apt update
sudo apt install dpkg-dev

Can not configure Mapnik due to icuuc

Trying to compile Mapnik on OSX 10.8
So after I clone the Github repo, I go to run the configure command like so:
./configure and then get the error:
Checking for C++ library icuuc... no
Could not find required header or shared library for icuuc
and later:
Exiting... the following required dependencies were not found:
- icuuc (ICU C++ library | configure with ICU_LIBS & ICU_INCLUDES or use ICU_LIB_NAME to specify custom lib name | more info: http://site.icu-project.org/)
Looking at the Mapnik troubleshooting area for a solution: https://github.com/mapnik/mapnik/wiki/InstallationTroubleshooting
Says: Solution: If g++ is available then ICU must be in a custom location so set the paths to the libs and includes - ie. ICU_LIBS=/usr/local/lib and ICU_INCLUDES=/usr/local/include.
By running g++ from command line I get: i686-apple-darwin11-llvm-g++-4.2: no input files
So this means that g++ is available, but I have no idea how to go about setting the paths so that configure can find them.
ICU Libraries were installed by default or with homebrew, not sure which.
terminal: brew install icu4c
Warning: icu4c-51.1 already installed
Finding the icu4c install directory:
terminal: mdfind icu4c
/usr/local/Cellar/icu4c
You can add the path of your ICU_LIB/INCLUDE to your configure command:
./configure ICU_INCLUDES=/usr/local/Cellar/icu4c/include ICU_LIBS=/usr/local/Cellar/icu4c/lib
And for more help about configure on what options are accepted do:
./configure --help
For the installation reference, you can check this:
https://github.com/mapnik/mapnik/blob/v2.2.0/INSTALL.md
As per our discussion and my last comment something like the following might work.
export ICU_LIBS=/usr/local/Cellar/icu4c/lib
export ICU_INCLUDES=/usr/local/Cellar/icu4c/include
./configure
If you find same errors:
Checking for C++ library XXX... no
Follow the command
sudo apt-get install g++ libXXX-dev
Using tips (TAB button), you can see what XXX libraries you have available
sudo apt-get install libXXX(press double TAB)

Resources