[Home]

Summary:ASTERISK-29156: 13.37.1 doesn't build codec_opus.so
Reporter:Brian J. Murrell (brian_j_murrell)Labels:
Date Opened:2020-11-11 08:58:15.000-0600Date Closed:2020-11-12 14:59:56.000-0600
Priority:MajorRegression?Yes
Status:Closed/CompleteComponents:Codecs/codec_opus
Versions:13.37.1 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Attachments:
Description:I am trying to build 13.37.1 using exactly the same procedure as I built 13.36.0 with but with 13.37.1 I am no longer getting the following files built:

{noformat}
/usr/lib64/asterisk/modules/codec_opus.so
/usr/lib64/asterisk/modules/codec_opus.manifest.xml
/usr/lib64/asterisk/modules/format_ogg_opus.so
{noformat}

The only thing I can see that's different between the 13.36.0 build output and the 13.37.1 build output is that 13.36.0 did:

{noformat}
Installing modules from codecs...
codec_opus: Remote package version 13.0_1.3.0 (263680)
codec_opus: Downloading https://downloads.digium.com/pub/telephony/codec_opus/asterisk-13.0/x86-64/codec_opus-13.0_1.3.0-x86_64.tar.gz to /var/tmp/dlcache/codec_opus-13.0_1.3.0-x86_64.tar.gz
codec_opus: Installing.
codec_opus: Installed.
{noformat}

and 13.37.1 did not.
Comments:By: Asterisk Team (asteriskteam) 2020-11-11 08:58:15.562-0600

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution. Please note that log messages and other files should not be sent to the Sangoma Asterisk Team unless explicitly asked for. All files should be placed on this issue in a sanitized fashion as needed.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

Please note that once your issue enters an open state it has been accepted. As Asterisk is an open source project there is no guarantee or timeframe on when your issue will be looked into. If you need expedient resolution you will need to find and pay a suitable developer. Asking for an update on your issue will not yield any progress on it and will not result in a response. All updates are posted to the issue when they occur.

Please note that by submitting data, code, or documentation to Sangoma through JIRA, you accept the Terms of Use present at [https://www.asterisk.org/terms-of-use/|https://www.asterisk.org/terms-of-use/].

By: Joshua C. Colp (jcolp) 2020-11-11 09:05:55.368-0600

What is the contents of menuselect.makeopts? Is codec_opus selected in menuselect?

By: Joshua C. Colp (jcolp) 2020-11-11 09:14:27.710-0600

I just did a build of Asterisk 13.37.1 and after selecting codec_opus I confirmed the tarball was downloaded and installed.

By: Brian J. Murrell (brian_j_murrell) 2020-11-11 10:17:25.650-0600

Just so that I am sure I am doing things correctly, I should be able to enable codec_opus with:

{noformat}
$ menuselect/menuselect --enable codec_opus menuselect.makeopts
{noformat}

Is that correct?  After doing the above, {{menuselect.makeopts}}'s  {{MENUSELECT_CODECS}} contains:

{noformat}
MENUSELECT_CODECS=codec_silk codec_siren7 codec_siren14 codec_g729a
{noformat}

So it seems it's not getting enabled.

By: Joshua C. Colp (jcolp) 2020-11-11 10:41:09.797-0600

The file specifies what should not be built, so it is getting enabled.

By: Brian J. Murrell (brian_j_murrell) 2020-11-11 10:59:56.878-0600

Really?  So:

{noformat}
MENUSELECT_CODECS=codec_silk codec_siren7 codec_siren14 codec_g729a
{noformat}

means to *not* build codec_silk codec_siren7 codec_siren14 codec_g729a codecs?  Seems counter-intuitive, but if that's how it is.

Regardless, with my {{menuselect.makeopts}}'s {{MENUSELECT_CODECS}} set to:

{noformat}
MENUSELECT_CODECS=codec_silk codec_siren7 codec_siren14 codec_g729a
{noformat}

I am still not getting

{noformat}
/usr/lib64/asterisk/modules/codec_opus.so
/usr/lib64/asterisk/modules/codec_opus.manifest.xml
/usr/lib64/asterisk/modules/format_ogg_opus.so
{noformat}

They don't even exist in the built source tree:

{noformat}
find . -name codec_\*.so
./codecs/codec_adpcm.so
./codecs/codec_a_mu.so
./codecs/codec_g726.so
./codecs/codec_ilbc.so
./codecs/codec_dahdi.so
./codecs/codec_alaw.so
./codecs/codec_lpc10.so
./codecs/codec_gsm.so
./codecs/codec_ulaw.so
./codecs/codec_speex.so
./codecs/codec_resample.so
./codecs/codec_g722.so
{noformat}

By: Joshua C. Colp (jcolp) 2020-11-11 11:04:44.700-0600

That's the way that menuselect works. As well, they don't exist in the tree and aren't built. They are shipped as binary modules in tarballs on the downloads server. There is integration in menuselect to "enable" which downloads the tarball, extracts, and places it on the system. I don't know why that isn't working for you - I just confirmed enabling using menuselect for me downloaded the tarball and installed it, so it's not outright broken.

By: George Joseph (gjoseph) 2020-11-11 11:16:27.909-0600

I just tried as well and didn't have an issue.  Maybe the tarball got corrupted.
Check /tmp for the tarball and delete it if it's there.

If you use any the --with-externals-cache or --with-download-cache options to ./configure, check those locations as well.



By: Brian J. Murrell (brian_j_murrell) 2020-11-12 14:59:57.075-0600

Something must have changed in the build root where I have been building and the network was no longer available to download the codec.

Making the network available seems to have resolved the issue.