Audacity Bug Summary
••• Introduction •••
••• Keywords •••
    Audacity 3.0.3 development began 19th April 2021

Audacity Bugzilla



Bug 1393 - Audacity does not build against wxWidgets compiled with STL
Audacity does not build against wxWidgets compiled with STL
Status: CLOSED WORKSFORME
Product: Audacity
Classification: Unclassified
Component: Application Core
2.1.3
Per OS All
: P3 Enhancement
Assigned To: Default Assignee for New Bugs
http://audacity.238276.n2.nabble.com/...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-05-19 09:41 UTC by Gale Andrews
Modified: 2019-07-28 11:13 UTC (History)
4 users (show)

See Also:
Steps To Reproduce:
1. Attempt to build Audacity with wxWidgets using STL, i.e. --enable-stl when compiling wxWidgets. Motivated by OpenSUSE but relevant on all platforms.
Release Note:
GROUP: Compiling * '''Audacity cannot build against wxWidgets compiled with STL.''' . There will be many errors of the form <nowiki>"cannot convert ‘const wxString’ to ‘const wxChar*"</nowiki>. The best approach to a solution has not been decided, but if you would like to help with this please start a discussion on our [http://lists.sourceforge.net/lists/listinfo/audacity-devel audacity-devel] mailing list.
First Git SHA:
Group: ---
Workaround:
Closed: 2019-07-28 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gale Andrews 2016-05-19 09:41:50 UTC
This is because wxWidgets is built to use STL on openSUSE. There will be many errors of the form "cannot convert ‘const wxString’ to ‘const wxChar*". 

This is fixed (as confirmed by ThomasFeher) in jengelh's fork which is offered at https://github.com/audacity/audacity/pull/112. However that commit cannot be automatically merged because it is way behind HEAD.
Comment 1 Paul L 2016-05-19 11:45:08 UTC
As you can see at github, I thought this commit was too big, and by author's admission untested, to take all at once.  And I am not sure that it changes no more than needed to fix the compilation.  It should be broken into incremental commits in case anything is wrong and later could be more easily pinned down with a git bisect.
Comment 2 Gale Andrews 2016-07-12 20:47:14 UTC
Apparently the STL version of wxWidgets 3.0.2 was an openSUSE experiment and their wxWidgets 2.8.x was non-STL, so I removed the "regression" flag. 
 
OpenSUSE have now made available a non-STL wxWidgets and released an Audacity 2.1.2 package, so demoted to P3, changed Platform to All and generalised title from "Audacity does not build on OpenSUSE using system wxWidgets" to "Audacity does not build against wxWidgets compiled with STL".
Comment 3 James Crook 2016-07-13 09:18:28 UTC
Thank you Gale for the work behind the scenes communicating with openSUSE people that led to the changes in status in comment#2.  I'm not usually chatty in bugzilla, but this one merits it.

With the bug retitled as a cross-platform STL issue, that opens the door to fix and resolution on a non SUSE platform - So a lower barrier to it being tackled.
Comment 4 James Crook 2018-10-01 07:32:03 UTC
David Plater reports (on audacity-devel)

-----
Hi, I maintain Audacity in openSUSE. I'm trying to get version 2.3.0 to build but I'm getting the following error:
widgets/NumericTextCtrl.cpp: In function 'size_t {anonymous}::ChooseNBuiltinFormatStrings(NumericConverter::Type)':
widgets/NumericTextCtrl.cpp:554:45: error: cannot convert 'std::vector<BuiltinFormatString>' to 'size_t {aka long unsigned int}' in return
    return std::vector<BuiltinFormatString> {}; 

-----

From other comments it sounds like compiling wxwidgets without STL is one workaround - but not a workaround openSUSE would want to use, i.e. to close this bug we would need to adopt the ideas of 

https://github.com/audacity/audacity/pull/112
Comment 5 James Crook 2019-07-28 11:13:31 UTC
WORKSFORME

i.e. Audacity builds on Windows, Mac and Ubuntu linux - the three officially supported platforms.  This is therefore an enhancement request.  It is not a bug against shipped audacity.