http://bugs.winehq.org/show_bug.cgi?id=33320
Bug #: 33320 Summary: WinRT/ARM port of Audacity needs msvcp110.dll.??0id@locale@std@@QAA@I@Z Product: Wine Version: 1.5.27 Platform: arm OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: msvcp AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net Classification: Unclassified
Hello folks,
as the summary says ...
--- snip --- $ wine ./Audacity.exe wine: Call from 0x403a4164 to unimplemented function msvcp110.dll.??0id@locale@std@@QAA@I@Z, aborting err:module:attach_process_dlls "wxbase28u_vc_custom.dll" failed to initialize, aborting err:module:LdrInitializeThunk Main exe initialization for L"Z:\home\linaro\wine-apps\audacity\Audacity\Audacity.exe" failed, status 80000100 --- snip ---
I found a nice online demangler that supports both, g++ and msvc++ demangling scheme: http://slush.warosu.org/c++filtjs/
??0id@locale@std@@QAA@I@Z -> public: __cdecl std::locale::id::id(unsigned int)
From C++ standard documentation:
--- quote --- The id class provides facets with an index used to identify them. Every facet class must define a public static member locale::id, or be derived from a facet that provides this member, otherwise the facet cannot be used in a locale. The locale::id ensures that each class type gets a unique identifier. --- quote ---
I'm a bit curious why Microsoft's std::locale::id class has an explicit constructor with init? value. The id needs to be unique for each kind of facet. Nathan C. Myers article about standard C++ locale implementation at http://www.cantrip.org/locale.html states that constructor based initialization for std::locale::id is not advised:
--- quote --- Recall that each facet type contains a static member of type locale::id. Thus, there is one static instance per facet type. The default constructor id() (carefully) does not initialize the member index_. Because "static constructors" are called at times that are (for most practical purposes) random, they may be called after the value has already been used, so it is essential that initialization not depend on a constructor. The members of each static instance are reliably set to zero by the program loader, and remain zero until they are set to something else. ... The [locale template] constructor begins by copying the implementation vector from other, which increments all the facet reference counts. Then it sets Facet::id.index_ to assign the facet an identity if it has none yet, and (if necessary) grows the new vector to fit. Finally, it installs the new facet, being careful to keep the reference counts right. Thus, the id::index_ member is zero until it is actually used, and it is considered used only when a locale object exists which contains the facet that owns it. --- quote ---
So it seems Microsoft moves in mysterious ways as always ;-)
$ wine --version wine-1.5.27-123-g2c2cf10
Regards
http://bugs.winehq.org/show_bug.cgi?id=33320
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://forum.xda-developers | |.com/showthread.php?t=21037 | |79
http://bugs.winehq.org/show_bug.cgi?id=33320
--- Comment #1 from Stefan Leichter Stefan.Leichter@camLine.com 2013-04-03 15:43:01 CDT --- should be fixed by a62b7679356abde12a0d4c86926d010099d1393b
http://bugs.winehq.org/show_bug.cgi?id=33320
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |a62b7679356abde12a0d4c86926 | |d010099d1393b Status|NEW |RESOLVED CC| |nerv@dawncrow.de Resolution| |FIXED
--- Comment #2 from André H. nerv@dawncrow.de 2013-04-03 16:00:41 CDT --- should be fixed by http://source.winehq.org/git/wine.git/commitdiff/a62b7679356abde12a0d4c86926... thx Piotr
http://bugs.winehq.org/show_bug.cgi?id=33320
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #3 from Alexandre Julliard julliard@winehq.org 2013-04-12 13:46:34 CDT --- Closing bugs fixed in 1.5.28.
https://bugs.winehq.org/show_bug.cgi?id=33320
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://forum.xda-developers |https://web.archive.org/web |.com/showthread.php?t=21037 |/20210725113844/https://for |79 |um.xda-developers.com/attac | |hments/audacity-zip.1884123 | |/