Configure Error Compiling Audacity 2.0.5

When trying to compile Audacity 2.0.5 on OpenSuse 13.1 x64, I’m getting the error:

configure: error: Audacity requires expat to be enabled

I have expat and libexpat-devel installed. I have searched online and haven’t came up with much. How can I correct this?

As far as I know, Audacity uses wxexpat rather than expat - but expat can’t be disabled in configure.

Can you try checking out HEAD instead:

svn checkout http://audacity.googlecode.com/svn/audacity-src/trunk/ audacity-read-only

and build that? Use the default ./configure command. Make sure you built wxexpat.

Post the entire ./configure output if it fails.


Gale

It looks like wxexpat is for Windows: Library files under Windows - WxWiki, and is found in no RPM for Linux.

Here is the output when trying to compile Audacity 2.0.5:

configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for C compiler vendor... gnu
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl.exe... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether we are using the GNU C++ compiler... no
checking whether g++ accepts -g... no
checking how to run the C++ preprocessor... /lib/cpp
checking for a BSD-compatible install... /usr/bin/install -c
checking for pkg-config... yes
checking for a sed that does not truncate output... /usr/bin/sed
checking whether the linker accepts the -rdynamic flag... no
configure: WARNING: "Linker does not support -rdynamic. Could not enable exporting all symbols"
configure: WARNING: "Audacity module support will probably not work"
checking for an ANSI C-conforming const... no
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... no
checking for sys/types.h... no
checking for sys/stat.h... no
checking for stdlib.h... no
checking for string.h... no
checking for memory.h... no
checking for strings.h... no
checking for inttypes.h... no
checking for stdint.h... no
checking for unistd.h... no
checking for size_t... no
checking for alloca.h... no
checking CFLAGS for strict prototypes... no, suppressed, signal.h
checking wall_flags for maximum warnings... -Wall
checking whether the C++ compiler accepts the  -Wall flag... no
checking whether the C++ preprocessor accepts the  -Wall flag... yes
checking for simple visibility declarations... no
checking for wx-config... /usr/bin/wx-config
configure: Checking that the chosen version of wxWidgets is 2.8.x
Great, you're using wxWidgets 2.8.12!
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
configure: Configuring sources in "./lib-src/lib-widget-extra"
configure: running /bin/sh ./configure '--prefix=/usr/local/'  '--with-wx-config=/usr/bin/wx-config' --cache-file=/dev/null --srcdir=.
configure: WARNING: unrecognized options: --with-wx-config
configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl.exe... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether we are using the GNU C++ compiler... no
checking whether g++ accepts -g... no
checking how to run the C++ preprocessor... /lib/cpp
checking for a BSD-compatible install... /usr/bin/install -c
checking CFLAGS for strict prototypes... -Wstrict-prototypes
checking wall_flags for maximum warnings... -Wall
checking for a sed that does not truncate output... /usr/bin/sed
checking whether the C++ compiler accepts the  -Wall flag... no
checking whether the C++ preprocessor accepts the  -Wall flag... yes
checking for wx-config... /usr/bin/wx-config
configure: Checking that the chosen version of wxWidgets is 2.8.x
Great, you're using wxWidgets 2.8.12!
checking for an ANSI C-conforming const... no
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... no
checking for sys/types.h... no
checking for sys/stat.h... no
checking for stdlib.h... no
checking for string.h... no
checking for memory.h... no
checking for strings.h... no
checking for inttypes.h... no
checking for stdint.h... no
checking for unistd.h... no
checking for size_t... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libwidgetextra.pc
config.status: creating libwidgetextra-uninstalled.pc
configure: WARNING: unrecognized options: --with-wx-config

Run 'configure --help' for an explanation of the possible options,
otherwise run 'make' to build libwidgetextra.
configure: Done configuring in "./lib-src/lib-widget-extra"
checking for WIDGETEXTRA... yes
configure: Determining what libraries are available in this tree and on the system
checking for SNDFILE... yes
configure: Libsndfile libraries are available as system libraries
checking for ./lib-src/libsndfile/src/sndfile.h.in... no
configure: libsndfile libraries are NOT available in this source tree
checking for SOXR... no
configure: Soxr libraries are NOT available as system libraries
checking for ./lib-src/libsoxr/src/soxr.h... yes
configure: libsoxr libraries are available in the local tree
checking for ./lib-src/libresample/include/libresample.h... yes
configure: libresample libraries are available in the local tree
checking for SAMPLERATE... no
configure: Libsamplerate libraries are NOT available as system libraries
checking for ./lib-src/libsamplerate/src/samplerate.h... no
configure: libsamplerate libraries are NOT available in the local tree
checking for XML_ParserCreate in -lexpat... no
checking expat.h usability... no
checking expat.h presence... yes
configure: WARNING: expat.h: present but cannot be compiled
configure: WARNING: expat.h:     check for missing prerequisite headers?
configure: WARNING: expat.h: see the Autoconf documentation
configure: WARNING: expat.h:     section "Present But Cannot Be Compiled"
configure: WARNING: expat.h: proceeding with the compiler's result
checking for expat.h... no
configure: Expat libraries are NOT available as system libraries
checking for ./lib-src/expat/xmlparse/xmlparse.h... no
configure: Expat libraries are NOT available in the local tree
checking for vorbis_bitrate_addblock in -lvorbisfile... no
checking vorbis/vorbisfile.h usability... no
checking vorbis/vorbisfile.h presence... no
checking for vorbis/vorbisfile.h... no
configure: Vorbis libraries are NOT available as system libraries
checking for ./lib-src/libvorbis/include/vorbis/vorbisenc.h... no
checking for ./lib-src/libogg/include/ogg/ogg.h... no
configure: Vorbis libraries are NOT available in this source tree
checking for LIBMAD... no
checking for mad_decoder_init in -lmad... no
configure: libmad libraries are NOT available as system libraries
checking for ./lib-src/libmad/frame.h... no
configure: libmad libraries are NOT available in the local tree
checking for FLAC__stream_decoder_new in -lFLAC... no
checking FLAC/format.h usability... no
checking FLAC/format.h presence... no
checking for FLAC/format.h... no
configure: FLAC/FLAC++ libraries are NOT available as system libraries
checking for ./lib-src/libflac/include/FLAC/format.h... no
checking for ./lib-src/libflac/include/FLAC++/decoder.h... no
configure: FLAC libraries are NOT available in this source tree
checking for id3_file_open in -lid3tag... no
checking id3tag.h usability... no
checking id3tag.h presence... no
checking for id3tag.h... no
configure: Libid3tag libraries are NOT available as system libraries
checking for ./lib-src/libid3tag/frame.h... no
configure: libid3tag libraries are NOT available in the local tree
checking for SBSMS... no
configure: Libsbsms libraries are NOT available as system libraries
checking for ./lib-src/sbsms/include/sbsms.h... yes
configure: libsbsms libraries are available in the local tree
checking for SOUNDTOUCH... no
checking for SOUNDTOUCH... no
checking for SOUNDTOUCH... no
configure: Libsoundtouch libraries are NOT available as system libraries
checking for ./lib-src/soundtouch/include/SoundTouch.h... no
configure: libsoundtouch libraries are NOT available in the local tree
checking for ./lib-src/libnyquist/nyx.h... yes
configure: nyquist libraries are available in the local tree
checking for VAMP... no
configure: Vamp libraries are NOT available as system libraries
checking for ./lib-src/libvamp/vamp-hostsdk/PluginLoader.h... yes
configure: Vamp libraries are available in the local tree
checking for LIBTWOLAME... no
configure: Libtwolame library NOT available as system library
checking for ./lib-src/twolame/libtwolame/twolame.h... no
configure: libtwolame library is NOT available in the local tree
checking for AVCODEC... no
checking for AVFORMAT... no
checking for AVUTIL... no
configure: FFmpeg library NOT available as system library
checking for ./lib-src/ffmpeg/libavcodec/avcodec.h... yes
checking for ./lib-src/ffmpeg/libavformat/avformat.h... yes
configure: FFmpeg headers are available in the local tree
checking for PORTSMF... no
configure: portSMF library is NOT available as system library
checking for ./lib-src/portsmf/allegro.h... yes
checking for PORTAUDIO... no
configure: portaudio19 library is NOT available as system library
checking for ./lib-src/portaudio-v19/include/portaudio.h... yes
configure: portaudio19 library is available in the local tree
checking for lame_set_VBR_q in -lmp3lame... no
checking lame/lame.h usability... no
checking lame/lame.h presence... no
checking for lame/lame.h... no
configure: LAME library is NOT available as system library.
configure: Figuring out what libraries to enable
configure: disabling LIBVORBIS
configure: disabling LIBMAD
configure: Using SYSTEM libraries for LIBSNDFILE
configure: disabling LIBFLAC
configure: disabling LIBID3TAG
configure: Using LOCAL libraries for LIBSOXR
configure: Using LOCAL libraries for LIBRESAMPLE
configure: disabling LIBSAMPLERATE
configure: Using LOCAL libraries for LIBSBSMS
configure: disabling LIBSOUNDTOUCH
configure: Using LOCAL libraries for LIBNYQUIST
configure: Using LOCAL libraries for LIBVAMP
configure: disabling LIBEXPAT
configure: disabling LIBTWOLAME
configure: Using LOCAL libraries for FFMPEG
configure: Using LOCAL libraries for PORTSMF
configure: Using LOCAL libraries for PORTAUDIO
configure: Using LOCAL libraries for LAME
configure: error: Audacity requires expat to be enabled

Output from version downloaded from the SVN repository:

configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... no
checking for msgmerge... no
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for ld used by GCC... /usr/x86_64-suse-linux/bin/ld
checking if the linker (/usr/x86_64-suse-linux/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for C compiler vendor... gnu
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl.exe... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether we are using the GNU C++ compiler... no
checking whether g++ accepts -g... no
checking dependency style of g++... none
checking how to run the C++ preprocessor... /lib/cpp
checking for ar... ar
checking the archiver (ar) interface... ar
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/x86_64-suse-linux/bin/ld
checking if the linker (/usr/x86_64-suse-linux/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/x86_64-suse-linux/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %sn
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... failed
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for ANSI C header files... no
checking for sys/types.h... no
checking for sys/stat.h... no
checking for stdlib.h... no
checking for string.h... no
checking for memory.h... no
checking for strings.h... no
checking for inttypes.h... no
checking for stdint.h... no
checking for unistd.h... no
checking for dlfcn.h... no
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/x86_64-suse-linux/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for pkg-config... yes
checking whether the linker accepts the -rdynamic flag... no
configure: WARNING: "Linker does not support -rdynamic. Could not enable exporting all symbols"
configure: WARNING: "Audacity module support will probably not work"
checking for an ANSI C-conforming const... no
checking for size_t... no
checking for alloca.h... no
checking CFLAGS for strict prototypes... no, suppressed, signal.h
checking wall_flags for maximum warnings... -Wall
checking whether the C++ compiler accepts the  -Wall flag... no
checking whether the C++ preprocessor accepts the  -Wall flag... yes
checking whether the -Werror option is usable... no
checking for simple visibility declarations... no
checking for wx-config... /usr/bin/wx-config
configure: Checking that the chosen version of wxWidgets is 2.8.x
Great, you're using wxWidgets 2.8.12!
configure: Determining what libraries are available in this tree and on the system
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for EXPAT... yes
configure: Expat libraries are available as system libraries
checking for ./lib-src/expat/lib/expat.h... yes
configure: Expat libraries are available in the local tree
checking for AVCODEC... no
checking for AVFORMAT... no
checking for AVUTIL... no
configure: FFmpeg library NOT available as system library
checking for ./lib-src/ffmpeg/libavcodec/avcodec.h... yes
checking for ./lib-src/ffmpeg/libavformat/avformat.h... yes
configure: FFmpeg headers are available in the local tree
checking for lame_set_VBR_q in -lmp3lame... no
checking lame/lame.h usability... no
checking lame/lame.h presence... no
checking for lame/lame.h... no
configure: LAME library is NOT available as system library.
checking for ./lib-src/lame/lame/lame.h... yes
configure: LAME headers are available in this source tree.
checking for FLAC... no
checking for FLAC... no
configure: FLAC/FLAC++ libraries are NOT available as system libraries
checking for ./lib-src/libflac/include/FLAC/format.h... yes
checking for ./lib-src/libflac/include/FLAC++/decoder.h... yes
configure: FLAC libraries are available in this source tree
checking for ID3TAG... no
configure: Libid3tag libraries are NOT available as system libraries
checking for ./lib-src/libid3tag/frame.h... yes
configure: libid3tag libraries are available in the local tree
checking for LIBMAD... no
checking for mad_decoder_init in -lmad... no
configure: libmad libraries are NOT available as system libraries
checking for ./lib-src/libmad/frame.h... yes
configure: libmad libraries are available in the local tree
checking for ./lib-src/libnyquist/nyx.h... yes
configure: nyquist libraries are available in the local tree
checking for ./lib-src/libresample/include/libresample.h... yes
configure: libresample libraries are available in the local tree
checking for SAMPLERATE... no
configure: Libsamplerate libraries are NOT available as system libraries
checking for ./lib-src/libsamplerate/src/samplerate.h... yes
configure: libsamplerate libraries are available in the local tree
checking for SBSMS... no
configure: Libsbsms libraries are NOT available as system libraries
checking for ./lib-src/sbsms/include/sbsms.h... yes
configure: libsbsms libraries are available in the local tree
checking for SNDFILE... yes
configure: Libsndfile libraries are available as system libraries
checking for ./lib-src/libsndfile/src/sndfile.h.in... yes
configure: libsndfile libraries are available in this source tree
checking for SOUNDTOUCH... no
checking for SOUNDTOUCH... no
checking for SOUNDTOUCH... no
configure: Libsoundtouch libraries are NOT available as system libraries
checking for ./lib-src/soundtouch/include/SoundTouch.h... yes
configure: libsoundtouch libraries are available in the local tree
checking for SOXR... no
configure: Soxr libraries are NOT available as system libraries
checking for ./lib-src/libsoxr/src/soxr.h... yes
configure: libsoxr libraries are available in the local tree
checking for LIBTWOLAME... no
configure: Libtwolame library NOT available as system library
checking for ./lib-src/twolame/libtwolame/twolame.h... yes
configure: libtwolame library is available in the local tree
checking for VAMP... no
configure: Vamp libraries are NOT available as system libraries
checking for ./lib-src/libvamp/vamp-hostsdk/PluginLoader.h... yes
configure: Vamp libraries are available in the local tree
checking for LIBVORBIS... no
configure: Vorbis libraries are NOT available as system libraries
checking for ./lib-src/libvorbis/include/vorbis/vorbisenc.h... yes
checking for ./lib-src/libogg/include/ogg/ogg.h... yes
configure: Vorbis libraries are available in this source tree
checking for LV2... no
configure: LV2 libraries are NOT available as system libraries
checking for ./lib-src/lv2/configure... yes
configure: LV2 libraries are available in the local tree
checking for PORTAUDIO... no
configure: portaudio19 library is NOT available as system library
checking for ./lib-src/portaudio-v19/include/portaudio.h... yes
configure: portaudio19 library is available in the local tree
checking for PORTSMF... no
configure: portSMF library is NOT available as system library
checking for ./lib-src/portsmf/allegro.h... yes
configure: portSMF library is available in the local tree
checking for WIDGETEXTRA... no
configure: libwidgetextra library is NOT available as system library.
checking for ./lib-src/lib-widget-extra/NonGuiThread.h... yes
configure: libwidgetextra library is available in the local tree
configure: Figuring out what libraries to enable
configure: Using SYSTEM libraries for EXPAT
configure: Using LOCAL libraries for FFMPEG
configure: Using LOCAL libraries for LAME
configure: Using LOCAL libraries for LIBFLAC
configure: Using LOCAL libraries for LIBID3TAG
configure: Using LOCAL libraries for LIBMAD
configure: Using LOCAL libraries for LIBNYQUIST
configure: Using LOCAL libraries for LIBRESAMPLE
configure: Using LOCAL libraries for LIBSAMPLERATE
configure: Using LOCAL libraries for LIBSBSMS
configure: Using SYSTEM libraries for LIBSNDFILE
configure: Using LOCAL libraries for LIBSOUNDTOUCH
configure: Using LOCAL libraries for LIBSOXR
configure: Using LOCAL libraries for LIBTWOLAME
configure: Using LOCAL libraries for LIBVAMP
configure: Using LOCAL libraries for LIBVORBIS
configure: Using LOCAL libraries for LV2
configure: Using LOCAL libraries for PORTAUDIO
configure: Using LOCAL libraries for PORTSMF
configure: Using LOCAL libraries for WIDGETEXTRA
checking for library containing dlopen... no
configure: error: dlopen not found, required by Audacity

Audacity does not use the expat library in lib-src in the Audacity source code tree, but can use the wxwidgets expat library:
http://audacity.238276.n2.nabble.com/Is-it-worth-updating-td7560280.html#a7560301 .

If you look in the source code tree for wxGTK, the “expat” folder should be there in /src. This may require you to configure --with-expat=local and to have built your own copy of wxGTK, or it may also work with default ./configure using system wxGTX if there isn’t a system expat. You can experiment if you are curious.

However the default on Linux is to use the system expat library, I agree.

Use default ./configure. It looks like you are using some configure script of your own.

Default ./configure will not disable LIBEXPAT.

Have you installed devel packages for ALL the Audacity dependencies? Clearly expat.h won’t build.

Alternatively build your own wxGTK (make sure you build expat) then try

./configure --with-expat=local

See Missing features - Audacity Support .

So you don’t have a problem with expat here.

So you can see the error to fix there.

Try:

sudo apt-get install autoreconf
autoreconf -i

or after installing autoreconf, try:

autoreconf --no-recursive

or

autoreconf --no-recursive -i

Gale