Skip to content

ubuntu: fix FreeSWITCH source build on 24.04 - #471

Open
jamesorose wants to merge 2 commits into
fusionpbx:masterfrom
jamesorose:ubuntu-freeswitch-build-fixes-2
Open

jamesorose wants to merge 2 commits into
fusionpbx:masterfrom
jamesorose:ubuntu-freeswitch-build-fixes-2

Conversation

@jamesorose

Copy link
Copy Markdown
Contributor

The ubuntu source-release.sh cannot build FreeSWITCH 1.10.12 on 24.04.
Two separate causes, one commit each; both are already solved in the
debian tree.

  1. Three package names no longer exist in the Ubuntu archive as of noble
    (git-core, libncurses5-dev, pip), so the whole apt install line aborts
    and no dependencies are installed. Also adds libpcre2-dev, which
    FreeSWITCH 1.10.12 requires and the list did not have.

  2. The spandsp pin predates the upstream v18 rework by twelve days and now
    breaks mod_spandsp. Replaced with the debian tree's conditional.

Verified end to end: FusionPBX 5.5.13 with FreeSWITCH 1.10.12, sofia-sip
1.13.17 and PostgreSQL 18 on Ubuntu 24.04, upgraded from 20.04. mod_spandsp
loads and T.38 fax works.

Three package names no longer exist in the Ubuntu archive as of 24.04 (noble), so the entire apt install line aborts and none of the
dependencies are installed:

  git-core         removed; "git" is already in the same list
  libncurses5-dev  -> libncurses-dev
  pip              -> python3-pip

Also adds libpcre2-dev. FreeSWITCH 1.10.12 requires PCRE2:

  configure: error: Library requirements (libpcre2-8 >= 10.00) not met

The list only had libpcre3-dev (PCRE1). The debian tree already installs libpcre2-dev, and the two do not conflict, so both are kept.

Line continuations restored for readability - this file used them until the list was collapsed into a single line, and the ./configure call below still uses them.
mod_spandsp fails to compile against the pinned spandsp commit:

  mod_spandsp_dsp.c: error: too many arguments to function 'v18_init'
  mod_spandsp_dsp.c: error: 'V18_MODE_WEITBRECHT_5BIT_4545' undeclared

The pin (0d2e6ac6, 2023-06-16) is the last spandsp commit before d9681c3 (2023-06-28) reworked the async/FSK modules and changed the v18_init signature. It was added in 671a151 (2023-07-19) and was correct then.

The 1.10.12 branch of fusionpbx/freeswitch calls v18_init with 8 arguments, so the pin now causes the failure it was added to prevent.

This is the same conditional the debian tree already carries, which is why debian builds and ubuntu does not. It needs environment.sh for $os_codename, added in the previous commit.

Verified: FreeSWITCH 1.10.12 with sofia-sip 1.13.17 builds on Ubuntu 24.04; mod_spandsp loads, txfax/rxfax present.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant