[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/
- PSPP-BUG: [bug #51967] Windows: Help -> Reference Manual does not work on Windows platform in 1.0.1,
Friedrich Beckmann <=