[Home]

Summary:ASTERISK-27720: [patch] BuildSystem: Enable Advanced Linux Sound Architecture (ALSA) in NetBSD.
Reporter:Alexander Traud (traud)Labels:patch
Date Opened:2018-03-05 10:03:25.000-0600Date Closed:2018-03-20 06:47:10
Priority:MinorRegression?
Status:Closed/CompleteComponents:Channels/chan_alsa Core/BuildSystem
Versions:13.19.2 15.2.2 Frequency of
Occurrence
Related
Issues:
Environment:NetBSD 7.1.1Attachments:( 0) NetBSD_enable_alsa.patch
Description:A shared library should specify all its dependencies by itself. That way, a user (here: Asterisk) simply adds that library, for example:
{code}cc hello.c -lasound{code}
Then, the platform loads the dependent libraries automatically. Therefore, looking for a library without any additional libraries should be the default. Everything else should be the exception. Since Autotools were added to Asterisk, the shared library {{libasound.so}} was always loaded together with -lm and -ldl, always. Why ever. The commit logs do not reveal which platform/version required that. Anyway, {{libdl.so}} is not available on BSD systems like NetBSD.

Therefore, the attached patch first tries without any additional libraries. To keep compatibility with an unknown platform/version, the script {{./configure}} retries with those libraries as previously.

Furthermore, the error code ESTRPIPE does not exist on NetBSD.

Finally, a check for an external library should use a symbol actually used in Asterisk. {{snd_spcm_init(.)}} is not used but {{snd_pcm_open(.)}} is.
Comments:By: Asterisk Team (asteriskteam) 2018-03-05 10:03:26.603-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.

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].

By: Alexander Traud (traud) 2018-03-16 10:02:38.556-0500

bq. To keep compatibility with an unknown platform/version, the script ./configure retries with those libraries as previously.

After retesting all officially supported platforms and their supported versions, and after retesting all platforms listed in the script {{./contrib/scripts/install_prereq}}, no installation required those additional libraries. Therefore, that second check with those additional libraries can be removed safely.

By: Friendly Automation (friendly-automation) 2018-03-20 06:47:11.573-0500

Change 8433 merged by Jenkins2:
BuildSystem: Enable Advanced Linux Sound Architecture (ALSA) in NetBSD.

[https://gerrit.asterisk.org/8433|https://gerrit.asterisk.org/8433]

By: Friendly Automation (friendly-automation) 2018-03-20 06:53:11.661-0500

Change 8435 merged by Joshua Colp:
BuildSystem: Enable Advanced Linux Sound Architecture (ALSA) in NetBSD.

[https://gerrit.asterisk.org/8435|https://gerrit.asterisk.org/8435]

By: Friendly Automation (friendly-automation) 2018-03-20 06:55:34.540-0500

Change 8434 merged by Jenkins2:
BuildSystem: Enable Advanced Linux Sound Architecture (ALSA) in NetBSD.

[https://gerrit.asterisk.org/8434|https://gerrit.asterisk.org/8434]