xiph / xiph/opus

Opus not building on Ubuntu 24.04

Open
#345 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
3.3k
Forks
808
PR merge metrics
No merged PRs in 30d

Description

Not sure if it's a "me" problem but Opus isn't building for me on Ubuntu 24.04. I've cloned the GitHub repo and followed the installation instructions (running sudo apt install git autoconf automake libtool gcc make then ./autogen.sh).

When I run ./autogen.sh, this is the result:

/usr/bin/sha256sum
Validating checksum
checksums match
dnn/models/lace_v2.pth
dnn/models/nolace_v2.pth
dnn/models/nolace_192_v2.pth
dnn/models/nolace_160_v2.pth
dnn/models/fargan48bbr_adv_50.pth
dnn/models/rdovae_sparse5m_32.pth
dnn/models/plc4ar_16.pth
dnn/models/pitch_vsmallconv1.pth
dnn/lace_data.c
dnn/lace_data.h
dnn/nolace_data.c
dnn/nolace_data.h
dnn/fargan_data.c
dnn/fargan_data.h
dnn/pitchdnn_data.c
dnn/pitchdnn_data.h
dnn/plc_data.c
dnn/plc_data.h
dnn/dred_rdovae_constants.h
dnn/dred_rdovae_stats_data.h
dnn/dred_rdovae_enc_data.h
dnn/dred_rdovae_stats_data.c
dnn/dred_rdovae_dec_data.h
dnn/dred_rdovae_enc_data.c
dnn/dred_rdovae_dec_data.c
dnn/lossgen_data.c
dnn/lossgen_data.h
Updating build configuration files, please wait....
libtoolize: putting auxiliary files in '.'.
libtoolize: linking file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: linking file 'm4/libtool.m4'
libtoolize: linking file 'm4/ltoptions.m4'
libtoolize: linking file 'm4/ltsugar.m4'
libtoolize: linking file 'm4/ltversion.m4'
libtoolize: linking file 'm4/lt~obsolete.m4'
configure.ac:37: warning: m4_warn([obsolete],
configure.ac:37: [m4_warn([obsolete],
configure.ac:37: [m4_warn([obsolete],
configure.ac:37: [AC_MINGW32 is obsolete: use AC_CANONICAL_HOST and check if $host_os
configure.ac:37: matches *mingw32*])dnl
configure.ac:37: AC_CANONICAL_HOST
configure.ac:37: case $host_os in
configure.ac:37:   *mingw32* ) MINGW32=yes;;
configure.ac:37: 	  * ) MINGW32=no;;
configure.ac:37: esac
configure.ac:37:  is obsolete: use AC_CANONICAL_HOST and check if $host_os
configure.ac:37: matches *mingw32*])dnl
configure.ac:37: AC_CANONICAL_HOST
configure.ac:37: case $host_os in
configure.ac:37:   *mingw32* ) MINGW32=yes;;
configure.ac:37: 	  * ) MINGW32=no;;
configure.ac:37: esac
configure.ac:37:  is obsolete: use AC_CANONICAL_HOST and check if $host_os
configure.ac:37: matches *mingw32*])dnl
configure.ac:37: AC_CANONICAL_HOST
configure.ac:37: case $host_os in
configure.ac:37:   *mingw32* ) MINGW32=yes;;
configure.ac:37: 	  * ) MINGW32=no;;
configure.ac:37: esac
configure.ac:37:  is obsolete: use AC_CANONICAL_HOST and check if $host_os
configure.ac:37: matches *mingw32*
configure.ac:73: warning: m4_warn([obsolete],
configure.ac:73: [m4_warn([obsolete],
configure.ac:73: [m4_warn([obsolete],
configure.ac:73: [AC_PROG_CC_C99 is obsolete; use AC_PROG_CC
configure.ac:73: ])dnl
configure.ac:73: AC_REQUIRE(AC_PROG_CC) is obsolete; use AC_PROG_CC
configure.ac:73: ])dnl
configure.ac:73: AC_REQUIRE(AC_PROG_CC) is obsolete; use AC_PROG_CC
configure.ac:73: ])dnl
configure.ac:73: AC_REQUIRE(AC_PROG_CC) is obsolete; use AC_PROG_CC
configure.ac:85: warning: ac_ext=c
configure.ac:85: ac_cpp='$CPP $CPPFLAGS'
configure.ac:85: ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
configure.ac:85: ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
configure.ac:85: ac_compiler_gnu=$ac_cv_c_compiler_gnu
configure.ac:85: if test -n "$ac_tool_prefix"; then
configure.ac:85:   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
configure.ac:85: set dummy ${ac_tool_prefix}gcc; ac_word=$2
configure.ac:85: { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
configure.ac:85: printf %s "checking for $ac_word... " >&6; }
configure.ac:85: if test ${ac_cv_prog_CC+y}
configure.ac:85: then :
configure.ac:85:   printf %s "(cached) " >&6
configure.ac:85: else $as_nop
configure.ac:85:   if test -n "$CC"; then
configure.ac:85:   ac_cv_prog_CC="$CC" # Let the user override the test.
configure.ac:85: else
configure.ac:85: as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
configure.ac:85: for as_dir in $PATH
configure.ac:85: do
configure.ac:85:   IFS=$as_save_IFS
configure.ac:85:   case $as_dir in #(((
configure.ac:85:     '' is m4_require'd but not m4_defun'd
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/programs.m4:41: _AC_CHECK_PROG is expanded from...
./lib/autoconf/programs.m4:101: AC_CHECK_PROG is expanded from...
./lib/autoconf/programs.m4:221: AC_CHECK_TOOL is expanded from...
./lib/autoconf/c.m4:452: AC_PROG_CC is expanded from...
configure.ac:85: the top level
configure.ac:108: warning: ac_ext=c
configure.ac:108: ac_cpp='$CPP $CPPFLAGS'
configure.ac:108: ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
configure.ac:108: ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
configure.ac:108: ac_compiler_gnu=$ac_cv_c_compiler_gnu
configure.ac:108: if test -n "$ac_tool_prefix"; then
configure.ac:108:   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
configure.ac:108: set dummy ${ac_tool_prefix}gcc; ac_word=$2
configure.ac:108: { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
configure.ac:108: printf %s "checking for $ac_word... " >&6; }
configure.ac:108: if test ${ac_cv_prog_CC+y}
configure.ac:108: then :
configure.ac:108:   printf %s "(cached) " >&6
configure.ac:108: else $as_nop
configure.ac:108:   if test -n "$CC"; then
configure.ac:108:   ac_cv_prog_CC="$CC" # Let the user override the test.
configure.ac:108: else
configure.ac:108: as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
configure.ac:108: for as_dir in $PATH
configure.ac:108: do
configure.ac:108:   IFS=$as_save_IFS
configure.ac:108:   case $as_dir in #(((
configure.ac:108:     '' is m4_require'd but not m4_defun'd
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/programs.m4:41: _AC_CHECK_PROG is expanded from...
./lib/autoconf/programs.m4:101: AC_CHECK_PROG is expanded from...
./lib/autoconf/programs.m4:221: AC_CHECK_TOOL is expanded from...
./lib/autoconf/c.m4:452: AC_PROG_CC is expanded from...
configure.ac:108: the top level
configure.ac:283: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.ac:283: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
m4/as-gcc-inline-assembly.m4:12: AS_GCC_INLINE_ASSEMBLY is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
configure.ac:283: the top level
configure.ac:1: error: possibly undefined macro: dnl
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:37: error: possibly undefined macro: m4_warn
configure.ac:77: error: possibly undefined macro: AC_PROG_CC_C99
configure.ac:77: error: possibly undefined macro: AC_PROG_CC
configure.ac:79: error: possibly undefined macro: AC_REQUIRE
autoreconf: error: /usr/bin/autoconf failed with exit status: 1

Can someone offer help or suggestions?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing ./autogen.sh on Ubuntu 24.04 with the packages listed in the issue, then inspect autogen.sh and configure.ac around the reported macro errors. Check the referenced m4 files and autoreconf output to identify why configuration generation stops; done means ./autogen.sh completes and the project can proceed to its build step.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.