bug-gnu-pspp
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

PSPP-BUG: [bug #51967] Windows: Help -> Reference Manual does not work o


From: Friedrich Beckmann
Subject: PSPP-BUG: [bug #51967] Windows: Help -> Reference Manual does not work on Windows platform in 1.0.1
Date: Fri, 8 Sep 2017 18:21:53 -0400 (EDT)
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8

URL:
  <http://savannah.gnu.org/bugs/?51967>

                 Summary: Windows: Help -> Reference Manual does not work on
Windows platform in 1.0.1
                 Project: PSPP
            Submitted by: beckmanf
            Submitted on: Fri 08 Sep 2017 10:21:51 PM UTC
                Category: Graphical User Interface
                Severity: 5 - Average
                  Status: In Progress
             Assigned to: beckmanf
             Open/Closed: Open
         Discussion Lock: Any
                 Release: None
                  Effort: 0.00

    _______________________________________________________

Details:

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: 

* http://lists.gnu.org/archive/html/pspp-users/2017-08/msg00024.html
* http://lists.gnu.org/archive/html/pspp-users/2017-09/msg00009.html

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:


address@hidden 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


address@hidden 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 =

* Windows 7 o.k. -
http://lists.gnu.org/archive/html/pspp-users/2017-09/msg00012.html
* Windows 10 o.k. -
http://lists.gnu.org/archive/html/pspp-users/2017-09/msg00013.html

= ToDo =

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






    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?51967>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]