failed to compile 2.0.6

My system is CENTOS 6.6

I typed:

./configure --enable-unicode=no

That worked fine. Then I typed:

./make

That ran for a good while, and then resulted in the following error message:

g++ -DHAVE_CONFIG_H -I. -D__STDC_CONSTANT_MACROS -DLIBDIR=“/usr/local//lib” -I…/lib-src/portaudio-v19/include -I…/lib-src/lib-widget-extra -I/usr/local/lib/wx/include/x11univ-ansi-release-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXUNIVERSAL__ -D__WXX11__ -pthread -I…/lib-src/ffmpeg -I…/lib-src/lame -I…/lib-src/libnyquist -I/usr/include/soundtouch -I…/lib-src/libsoxr/src -I…/lib-src/lv2/include -I…/lib-src/portsmf -I…/lib-src/sbsms/include -Wall -Wno-unused-local-typedefs -I…/lib-src/portmixer/include -Wall -I…/lib-src/FileDialog -MT export/audacity-ExportPCM.o -MD -MP -MF export/.deps/audacity-ExportPCM.Tpo -c -o export/audacity-ExportPCM.o test -f 'export/ExportPCM.cpp' || echo './'export/ExportPCM.cpp
export/ExportPCM.cpp: In member function ‘bool ExportPCM::AddStrings(AudacityProject*, SNDFILE*, Tags*, int)’:
export/ExportPCM.cpp:740: error: ‘SF_STR_GENRE’ was not declared in this scope
export/ExportPCM.cpp:764: error: ‘SF_STR_TRACKNUMBER’ was not declared in this scope
At global scope:
cc1plus: warning: unrecognized command line option “-Wno-unused-local-typedefs”
make[2]: *** [export/audacity-ExportPCM.o] Error 1
make[2]: Leaving directory /tmp/audacity-src-2.0.6/src' make[1]: *** [all] Error 2 make[1]: Leaving directory /tmp/audacity-src-2.0.6/src’
make: *** [all-recursive] Error 1


I commented out the offending lines in the export/ExportPCM.cpp file and tried again:

./make

This yielded a different error:

g++ -DHAVE_CONFIG_H -I. -D__STDC_CONSTANT_MACROS -DLIBDIR=“/usr/local//lib” -I…/lib-src/portaudio-v19/include -I…/lib-src/lib-widget-extra -I/usr/local/lib/wx/include/x11univ-ansi-release-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXUNIVERSAL__ -D__WXX11__ -pthread -I…/lib-src/ffmpeg -I…/lib-src/lame -I…/lib-src/libnyquist -I/usr/include/soundtouch -I…/lib-src/libsoxr/src -I…/lib-src/lv2/include -I…/lib-src/portsmf -I…/lib-src/sbsms/include -Wall “” -I…/lib-src/portmixer/include -Wall -I…/lib-src/FileDialog -MT export/audacity-ExportPCM.o -MD -MP -MF export/.deps/audacity-ExportPCM.Tpo -c -o export/audacity-ExportPCM.o test -f 'export/ExportPCM.cpp' || echo './'export/ExportPCM.cpp
g++: : No such file or directory
make[2]: *** [export/audacity-ExportPCM.o] Error 1
make[2]: Leaving directory /tmp/audacity-src-2.0.6/src' make[1]: *** [all] Error 2 make[1]: Leaving directory /tmp/audacity-src-2.0.6/src’
make: *** [all-recursive] Error 1


At this point I’m stuck. Can someone suggest what I might try to get this build to succeed.

thanks - Gary Krohmer

If you are using the wxX11 wx variant, Audacity does not support it. The wxGTK implementation of wxWidgets is required.

Also ANSI builds of Audacity are no longer supported.

http://wiki.audacityteam.org/wiki/Developing_On_Linux.


Gale

Thanks for the heads up.

I fiddled a bit, and was able to get a working executable. Here are the work-arounds (including the one you mentioned) that I needed to perform:

  • compile the “gtk” version of wxWidgets. Here’s the “configure” command line that I used:

…/configure CC=‘gcc -m64’ CXX=‘g++ -m64’ --with-gtk --enable-intl --enable-unicode

I tried without the unicode option. I was able to make that work - sort of, but it necessitated too many hacks of the source in order to get the build to go

For the audacity build, the documented sequence:

./configure
make
make install

worked - mostly - I needed to hack the following files in order to get the build to go:

export/ExportPCM.cpp
import/ImportPCM.cpp

This was because the compiler was complaining about the missing symbols: SF_STR_GENRE and SF_STR_TRACKNUMBER

As it happened, the wxWidgets build wound up installing the dynamic libraries in the /usr/local/lib - even though they are 64 bit libraries. Somehow in my fiddlings, I wound up with some wxWidget libraries - along with symbolic links pointing to them in the /usr/lib64 directory. When I tried running the executable, it complained about some size mismatches in these. The runtime was accessing the libraries in /usr/lib64 whereas the build referenced the libraries in /usr/local/lib. When I re-created the symlinks in /usr/lib64 to point to the libraries in /usr/local/lib - all was well.

thanks again