Bugzilla – Bug 1818
Linux: building with autotools fails when running "make"
Last modified: 2018-08-20 11:45:19 UTC
The breakage is due to commits * cf4b9eb5c82dca2a329cc1c170818c843f54793f "Define wxDirDialogWrapper, with localized default prompt and name" * 384300016d3ddae7f6b4f550efa6a6d582df7ea4 "Define FileDialogWrapper, with localized default prompt and name" These commits add classes to src/widgets/wxPanelWrapper.h with "void Create()" methods whose implementation tries to return a value. gcc 4.9.2 refuses to allow methods with void return type to call "return" with a value. Therefore "make" fails. The error messages are: blockfile/../ondemand/../widgets/wxPanelWrapper.h:136:7: error: return-statement with a value, in function returning 'void' [-fpermissive] blockfile/../ondemand/../widgets/wxPanelWrapper.h:177:7: error: return-statement with a value, in function returning 'void' [-fpermissive]
The build can be fixed either by changing the new method's return type from "void" to "bool", or by removing the "return" keyword from their body, so that they still call the parent method but do not return its value. I am not familiar enough with wxWidgets and Audacity to decide which is the correct fix. (But I can't help noticing that other "Create()" methods in wxWidgets all have return type "bool" AFAICT.)
RESOLVED FIXED https://github.com/audacity/audacity/commit/a86decbbe6bf735d5cb7716d4f465c3602454dd8 (Travis linux build confirming fix here: https://travis-ci.org/audacity/audacity/builds/324012697?utm_source=github_status&utm_medium=notification )