1.3.11 Compile Problem Related to wx headers

I am compiling Audacity 1.3.11 on Ubuntu 9.10 (configured successfully). An error occurs at the make stage because the included files “wx/defs.h” “wx/filedlg.h” and “wx/generic/filedlgg” cannot be found. The include statements occur in lib-src/FileDialog.h and lib-src/gtk/FileDialogPrivate.h.

Here is the error

ketan@ubuntu:~/Programming/Audacity_Source/audacity-src-1.3.11-beta$ make
make -C lib-src
make[1]: Entering directory `/home/ketan/Programming/Audacity_Source/audacity-src-1.3.11-beta/lib-src'
make -C FileDialog
make[2]: Entering directory `/home/ketan/Programming/Audacity_Source/audacity-src-1.3.11-beta/lib-src/FileDialog'
g++ -c -g -O2 -I.  -I/usr/local/lib/wx/include/gtk2-ansi-release-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -pthread -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include    FileDialog.cpp -o FileDialog.o
In file included from FileDialog.cpp:17:
FileDialog.h:24:21: error: wx/defs.h: No such file or directory
FileDialog.h:25:24: error: wx/filedlg.h: No such file or directory
In file included from FileDialog.h:34,
                 from FileDialog.cpp:17:
gtk/FileDialogPrivate.h:17:33: error: wx/generic/filedlgg.h: No such file or directory
In file included from FileDialog.h:34,
                 from FileDialog.cpp:17:
gtk/FileDialogPrivate.h:24: error: expected class-name before ‘{’ token
gtk/FileDialogPrivate.h:28: error: expected ‘)’ before ‘*’ token
gtk/FileDialogPrivate.h:38: error: ‘wxString’ does not name a type
gtk/FileDialogPrivate.h:39: error: ‘wxArrayString’ has not been declared
gtk/FileDialogPrivate.h:40: error: ‘wxString’ does not name a type
gtk/FileDialogPrivate.h:41: error: ‘wxString’ does not name a type
gtk/FileDialogPrivate.h:42: error: ‘wxArrayString’ has not been declared
gtk/FileDialogPrivate.h:45: error: ISO C++ forbids declaration of ‘wxString’ with no type
gtk/FileDialogPrivate.h:45: error: expected ‘,’ or ‘...’ before ‘&’ token
gtk/FileDialogPrivate.h:46: error: ISO C++ forbids declaration of ‘wxString’ with no type
gtk/FileDialogPrivate.h:46: error: expected ‘,’ or ‘...’ before ‘&’ token
gtk/FileDialogPrivate.h:47: error: ISO C++ forbids declaration of ‘wxString’ with no type
gtk/FileDialogPrivate.h:47: error: expected ‘,’ or ‘...’ before ‘&’ token
gtk/FileDialogPrivate.h:48: error: ISO C++ forbids declaration of ‘wxString’ with no type
gtk/FileDialogPrivate.h:48: error: expected ‘,’ or ‘...’ before ‘&’ token
gtk/FileDialogPrivate.h:49: error: ISO C++ forbids declaration of ‘wxString’ with no type
gtk/FileDialogPrivate.h:49: error: expected ‘,’ or ‘...’ before ‘&’ token
gtk/FileDialogPrivate.h:64: error: ‘wxString’ has not been declared
gtk/FileDialogPrivate.h:68: error: ISO C++ forbids declaration of ‘DECLARE_DYNAMIC_CLASS’ with no type
gtk/FileDialogPrivate.h:69: error: expected ‘;’ before ‘DECLARE_EVENT_TABLE’
gtk/FileDialogPrivate.h:72: error: ‘wxString’ does not name a type
gtk/FileDialogPrivate.h:62: error: ‘wxSIZE_AUTO’ was not declared in this scope
In file included from FileDialog.cpp:17:
FileDialog.h:57: error: ‘wxString’ does not name a type
FileDialog.cpp:19: error: variable or field ‘EnableButton’ declared void
FileDialog.cpp:19: error: ‘wxString’ was not declared in this scope
FileDialog.cpp:19: error: expected primary-expression before ‘cb’
FileDialog.cpp:19: error: expected primary-expression before ‘void’
FileDialog.cpp:52: error: ‘wxString’ does not name a type
make[2]: *** [FileDialog.o] Error 1
make[2]: Leaving directory `/home/ketan/Programming/Audacity_Source/audacity-src-1.3.11-beta/lib-src/FileDialog'
make[1]: *** [FileDialog-recursive] Error 2
make[1]: Leaving directory `/home/ketan/Programming/Audacity_Source/audacity-src-1.3.11-beta/lib-src'
make: *** [audacity] Error 2

Any suggestions on how to fix this error, or check to check if the problem is due to wxWidgets?

Ketan

Have you checked the “config.log” file? (should be in the main Audacity source code folder)

One thing you should always check and report with a “file not found” error: does the file actually exist on your system? I’d look first in the include paths (the paths in the gcc line after “-I” (that’s a capital i, not a lowercase L)), and then search in /usr/include, /usr/local/include, /usr/lib, /usr/local/lib.

The gcc line shows WxWidgets include paths in /usr/local – have you made your own build of wxWidgets?