Wikipedia talk:AutoWikiBrowser/Mono and Wine
don't work with wine--Ákos97 (talk) 13:29, 28 October 2015 (UTC)
- I routinely use AWB under Wine, with the caveats noted here - David Gerard (talk) 20:13, 29 October 2015 (UTC)
Wine and external processing script
[edit]AWB is working under wine on Mint in a VirtualBox - and "successfully" runs an external script (Tools->external processing) however there is a problem with the Output file. AWB doesn't see or pick it up after the script exits. I've tried many different things but not luck. Here's the relevant section from my AWB settings xml:
<ExternalProgram>
<Program>/home/adminuser/wi/wi.csh</Program>
<Parameters>%%title%%</Parameters>
<PassAsFile>true</PassAsFile>
<OutputFile>Z:\home\adminuser\wi\article.txt</OutputFile>
</ExternalProgram>
When running, AWB gives a pop-up box error: the top label says "External processing error" and the message in the box body says "Object reference not set to an instance of an object". The script nonetheless runs successfully and deposits the updated article.txt in the right place, but AWB doesn't read it back in. -- GreenC 16:28, 11 January 2016 (UTC)
- Try with the output file as /home/adminuser/wi/article.txt, AWB won't know about the virtual Z drive that wine creates. Rjwilmsi 20:51, 11 January 2016 (UTC)
- That was my original try, but it generates an error that it can't find "z:\home\adminuser\wi\home\adminuser\wi\article.txt" (or something like it, going from memory). It's a garbled path, a drive letter added and the forwardslashes converted to backslashes. That's what made me think it needed the drive letter and backslashes. -- GreenC 22:34, 11 January 2016 (UTC)
- OK, so "Object reference not set to an instance of an object" is because System.Diagnostics.Process.WaitForExit doesn't work under wine. After that, yes file paths are problematic. AWB code change rev 11780 creates a version that works. Script and I/O file need to have full Linux file paths, so in your case, /home/adminuser/wi/wi.csh and /home/adminuser/wi/article.txt, things work for me that way (testing with a .sh script). Rjwilmsi 11:36, 12 January 2016 (UTC)
- Hey that's awesome thanks for the quick patch! Wait for a next release and it will be incorporated, or does it need to be submitted for approval and go through a process? In the mean time I set up a system (method 2) that is working but is awkward, though useful in case someone can't get Wine working, or for whatever reason wants to use the native Windows version of AWB. -- GreenC 16:06, 12 January 2016 (UTC)
- OK, so "Object reference not set to an instance of an object" is because System.Diagnostics.Process.WaitForExit doesn't work under wine. After that, yes file paths are problematic. AWB code change rev 11780 creates a version that works. Script and I/O file need to have full Linux file paths, so in your case, /home/adminuser/wi/wi.csh and /home/adminuser/wi/article.txt, things work for me that way (testing with a .sh script). Rjwilmsi 11:36, 12 January 2016 (UTC)
- That was my original try, but it generates an error that it can't find "z:\home\adminuser\wi\home\adminuser\wi\article.txt" (or something like it, going from memory). It's a garbled path, a drive letter added and the forwardslashes converted to backslashes. That's what made me think it needed the drive letter and backslashes. -- GreenC 22:34, 11 January 2016 (UTC)
Would this be easy to port to Mono?
[edit]Apart from WebBrowser, shouldn't it be easy to port this to Mono? Shouldn't it be easy to port most of the functionality to Mono? Most of the other errors come from MediaWiki C# assemblies (DLLs), and not the Mono standard library. Is there a MediaWiki dev page explaining that non-Windows versions of C# code should target Wine and not Mono? The Mono standard library can do almost all of this. It's possible all of this MediaWiki C# code is really old, I don't know. I like C#, and making a polyglot project that builds on Microsoft Visual Studio and also Mono is usually really easy if it is pure C# and if you write just a few conditionals for the target platform (such as turning off WebBrowser in a graceful way, for AWB). I may have seen a Bing-related error that was also going to be hard to port. Fluoborate (talk) 12:08, 22 June 2018 (UTC)
To get AWB running on Wine 5.x
[edit]After several failed attempts to get AWB to run on Linux Mint 19.2 with Wine 5.2 installed (it crashed on start-up), I selected several extra components in Winetricks as a last-ditch effort. That got AWB up and running properly. Since I selected several in one go, I'm not sure exactly what is the bare minimum, but this is what I have currently, in a win32 (32-bit) prefix:
- corefonts (under "Fonts" category in Winetricks)
- dotnet40
- dotnet45
- dotnet46
- dotnet461 (this is what I selected, and it installed the previous ones)
- gdiplus
- ie7 (it was running before this, but since it's mentioned in the guide, I installed this too, later)
- msls31 (this was auto-installed by another component)
- msxml3
- riched20
- riched30
- vcrun2010
- vcrun2017
With all this installed, it finally succeeded to start AWB without it instantly crashing while the process bar was loading, with a zillion error messages in Terminal.
If this is useful, please put it into the main article (I don't want to step on any toes). If not, it can stand here so others can find it when they have similar start-up issues. Pangaearocks (talk) 09:34, 20 February 2020 (UTC)
- Hey Pangaearocks, under "Normal settings" in Find and Replace do you see the checkbox next to "Add replacements to edit summary"? It doesn't show for me on Wine. I'm wondering if perhaps I need to shove in a load more of those Winetricks components... Naypta ☺ | ✉ talk page | 23:19, 28 May 2020 (UTC)