bugPSPP - Bugs: bug #51967, Windows: Help -> Reference...

 
 

bug #51967: Windows: Help -> Reference Manual does not work on Windows platform in 1.0.1

Submitter:  Friedrich Beckmann <beckmanf>
Submitted:  Fri 08 Sep 2017 10:21:51 PM UTC
   
 
Category:  Graphical User Interface Severity:  5 - Average
Status:  Fixed Assigned to:  beckmanf
Open/Closed:  Closed Release:  None
Effort:  0.00
* Mandatory Fields

Add a New Comment Rich Markup
   

Sun 10 Sep 2017 12:23:47 PM UTC, comment #3: 

Thanks for fixing and testing!

http://lists.gnu.org/archive/html/pspp-users/2017-09/msg00015.html

I closed this issue after Harry made a new Windows release which was tested by Frans.

Friedrich Beckmann <beckmanf>
Group Member
Sun 10 Sep 2017 12:01:19 PM UTC, comment #2: 

The MSWindows installation has been changed. The issue is solved.

Harry Thijssen <unknown_one>
Fri 08 Sep 2017 10:36:07 PM UTC, comment #1: 
Friedrich Beckmann <beckmanf>
Group Member
Fri 08 Sep 2017 10:21:51 PM UTC, original submission:  

The reference manual does not open on the Windows platform when Help->Reference Manual is clicked via menu. This works on Linux and on MacOS.

Error Description

The original report is here:


The error message that appears in the output window in the french version is:


erreur: Impossible d’ouvrir le manuel de référence via yelp : L'exécution du
programme d'aide a échoué (Invalid argument). Impossible d’ouvrir via html :
L'exécution du programme d'aide a échoué (Invalid argument) avec l’URI file:///C:/Program%20Files%20(x86)/PSPP/share/doc/pspp/pspp.html/index.html.

Le manuel utilisateur de PSPP est aussi disponible à l’adressse http://www.gnu.org/software/pspp/documentation.html


Discussion of the problem


I reactivated my Windows 7 virtual machine and also looked into this.
I tested with GNU pspp 0.10.5-pre2g9a68ff.

First the yelp system is tested which fails on windows. The process
for opening the html help on windows is:

a) psppire creates a file „pspp-help-open.vbs“ file in a temporary directory.
The location of the temporary directory is given by the TEMP environment variable. For me this is

TEMP = C:\Users\Fredo\AppData\Local\Temp

In my Windows installation this step works. The content of the file pspp-help-open.vbs is:


CreateObject("WScript.Shell").Run "file:///c:/Programme/PSPP/share/doc/pspp/pspp.html/index.html"


My location of the html help files is: C:\Programme\PSPP\share\doc\pspp\pspp.html\index.html.

b) Then the visual basic script is executed via wscript. I can do this via the command terminal in a manual way.
When I run


wscript C:\Users\Fredo\AppData\Local\Temp\pspp-help-open.vbs


the Internet Explorer opens and shows the html help file. So this step also works.

The problem is that the wscript is not started via the g_spawn_async call from
psppire. To debug this I added the environment variable: G_SPAWN_WIN32_DEBUG

When I then start psppire via a MinGW shell, then I can see the following:


Fredo@Fredo-PC MINGW32 /c/Programme/PSPP/bin
$ ./psppire.exe
calling C:\Programme\PSPP\bin\gspawn-win32-helper.exe with argv:
argv[0]: C:\Programme\PSPP\bin\gspawn-win32-helper.exe
argv[1]: 5
argv[2]: 6
argv[3]: z
argv[4]: -
argv[5]: -
argv[6]: -
argv[7]: y
argv[8]: y
argv[9]: -
argv[10]: yelp
argv[11]: file://C:\Programme\PSPP/share/doc/pspp/pspp.xml
argv[12]: NULL
calling C:\Programme\PSPP\bin\gspawn-win32-helper.exe with argv:
argv[0]: C:\Programme\PSPP\bin\gspawn-win32-helper.exe
argv[1]: 5
argv[2]: 6
argv[3]: z
argv[4]: -
argv[5]: -
argv[6]: -
argv[7]: y
argv[8]: y
argv[9]: -
argv[10]: wscript
argv[11]: C:\msys32\tmp\pspp-help-open.vbs
argv[12]: NULL


This means that psppire tries to start "gspawn-win32-helper.exe" in the bin directory
of the pspp installation. But the gspawn-helper there is called gspawn-win32-helper-console.exe.

I renamed the file to gspawn-win32-helper.exe and then the help files open as expected. When started
from the MinGW shell, then I see the following output


Fredo@Fredo-PC MINGW32 /c/Programme/PSPP/bin
$ ./psppire.exe
calling C:\Programme\PSPP\bin\gspawn-win32-helper.exe with argv:
argv[0]: C:\Programme\PSPP\bin\gspawn-win32-helper.exe
argv[1]: 5
argv[2]: 6
argv[3]: z
argv[4]: -
argv[5]: -
argv[6]: -
argv[7]: y
argv[8]: y
argv[9]: -
argv[10]: yelp
argv[11]: file://C:\Programme\PSPP/share/doc/pspp/pspp.xml
argv[12]: NULL
gspawn-win32.c:read_helper_report: read 8...
...got 4 bytes
gspawn-win32.c:read_helper_report: read 4...
...got 4 bytes
calling C:\Programme\PSPP\bin\gspawn-win32-helper.exe with argv:
argv[0]: C:\Programme\PSPP\bin\gspawn-win32-helper.exe
argv[1]: 5
argv[2]: 6
argv[3]: z
argv[4]: -
argv[5]: -
argv[6]: -
argv[7]: y
argv[8]: y
argv[9]: -
argv[10]: wscript
argv[11]: C:\msys32\tmp\pspp-help-open.vbs
argv[12]: NULL
gspawn-win32.c:read_helper_report: read 8...
...got 4 bytes
gspawn-win32.c:read_helper_report: read 4...
...got 4 bytes


I remember that we had some discussion about this helper exe which is required for the
spawning. I have a mingw installation from my experiments
last year and there this „gspawn-win32-helper-console.exe“ is called, i.e. with
this console ending. Using the file you bundled the console opens shortly. Using the
correct gspawn-win32-helper.exe from my mingw installation avoids this.

I think you need to make sure that during your packaging the file

gspawn-win32-helper.exe

is put into the bin directory of pspp.

I also checked the space in the full filename on Windows7 and at least
there is works. I tested the following:


CreateObject("WScript.Shell").Run "file:///c:/Programme/PSPP/share/doc/ps%20pp/pspp.html/index.html“


with the space in the path name.

The relevant source code for the help menu (which is not the problem) is here:

http://git.savannah.gnu.org/cgit/pspp.git/tree/src/ui/gui/help-menu.c

Preliminary testing results



ToDo


Change the windows installation bundle such that the correct gspawn-win32-helper.exe file is
installed in the <pspp>/bin directory.


Friedrich Beckmann <beckmanf>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by unknown_one (Posted a comment)
  • -email is unavailable- added by beckmanf (Submitted the item)
  • -email is unavailable- added by beckmanf
  • -email is unavailable- added by beckmanf
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-09-10 beckmanf StatusIn Progress Fixed
        Open/ClosedOpen Closed
    2017-09-08 beckmanf Carbon-Copy- Added -email is unavailable-
        Carbon-Copy- Added -email is unavailable-

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code