Skip to content

Commit 96d49d5

Browse files
committed
v3.0 release, mainly to provide installers. Add display of FX path to build.bat. Update web pages.
1 parent b2c1c55 commit 96d49d5

File tree

6 files changed

+144
-321
lines changed

6 files changed

+144
-321
lines changed

README.md

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
11
# Run-REDUCE
22

3-
## A JavaFX GUI to run CLI versions of the REDUCE Computer Algebra System
3+
## A JavaFX GUI to run any CLI version of the REDUCE Computer Algebra System
44

5-
### Francis Wright, December 2020
5+
### Francis Wright, March 2021
66

77
I originally implemented Run-REDUCE using Swing as the obsolete
88
project now called
9-
[Run-REDUCE-0](https://fjwright.github.io/Run-REDUCE-0/). I
10-
originally called the current JavaFX version Run-REDUCE-FX but I have
11-
now dropped the "-FX" suffix. It requires Java 11 or later plus
12-
JavaFX 11 or later, although I recommend using Java 15 plus JavaFX 15
13-
since I currently build Run-REDUCE using Java 15, set to language
14-
level 11, plus JavaFX 15.
9+
[Run-REDUCE-0](https://fjwright.github.io/Run-REDUCE-0/) and I called
10+
the current JavaFX version Run-REDUCE-FX, but I have since dropped the
11+
"-FX" suffix. Run-REDUCE requires Java and JavaFX version 11 or
12+
later, although I recommend using version 16 since I currently build
13+
Run-REDUCE using Java 16, set to language level 11, plus JavaFX 16.
14+
Future versions may require Java 16 or later.
15+
16+
However, if possible, I recommend using the self-contained installers
17+
available for 64-bit Windows 10 and Gnu/Linux distributions based on
18+
Debian (e.g. Ubuntu) or Red Hat (e.g. Fedora), which include all
19+
required Java and JavaFX support and hide the implementation details.
1520

1621
For further general background information please see the [Run-REDUCE
1722
web page](https://fjwright.github.io/Run-REDUCE/). For information
@@ -22,10 +27,10 @@ Guide](https://fjwright.github.io/Run-REDUCE/UserGuide.html) (which is
2227
also included in Run-REDUCE and easily accessible via the Help menu).
2328

2429
See also the [release notes for all recent
25-
releases](https://github.com/fjwright/Run-REDUCE/releases).
30+
version](https://github.com/fjwright/Run-REDUCE/releases).
2631

2732
Run-REDUCE should run on any platform that supports JavaFX 11 (or
28-
later), but I can only test it on Microsoft Windows and Linux.
33+
later), but I can only test it on Microsoft Windows and Gnu/Linux.
2934
(Whilst Java is portable, filesystem structures, installation
3035
conventions and display systems are not!)
3136

docs/InstallAndRun.md

Lines changed: 97 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,79 @@
11
# Run-REDUCE Install and Run Guide
22

3-
## Francis Wright, December 2020
4-
53
Run-REDUCE is an open-source JavaFX GUI to run the REDUCE Computer
64
Algebra System. REDUCE must be obtained from
75
[SourceForge](https://sourceforge.net/projects/reduce-algebra/) and
86
installed separately. Run-REDUCE should find a standard REDUCE
97
installation automatically and not **require** any initial
10-
configuration, at least on Microsoft Windows and Linux. With
8+
configuration, at least on Microsoft Windows and Gnu/Linux. With
119
[suitable
1210
configuration](https://fjwright.github.io/Run-REDUCE/UserGuide.html#Configure)
13-
it **should** run on any platform that supports JavaFX 11 or later,
14-
but I can only test on 64-bit Windows 10, Ubuntu 18/20 and Fedora 32.
11+
it **should** run on any platform that supports JavaFX, but I can only
12+
test on 64-bit Windows, Ubuntu and Fedora.
13+
14+
I recommend that you use the appropriate installer but you can also
15+
use the platform-independent JAR, although this is considerably more
16+
complicated. Please note that: the installers are quite large, around
17+
50 MB, whereas the JAR is well under 1 MB; I may release installers
18+
less frequently than JARs.
19+
20+
21+
## Using an Installer
22+
23+
I provide installers for 64-bit Windows and Gnu/Linux, which include
24+
customised versions of Java and JavaFX (but not REDUCE). The
25+
appropriate installer will have a name of the following form, where
26+
*\<version\>* represents the version of Run-REDUCE:
27+
28+
Platform | Installer Filename
29+
-------------------------------------|-------------------
30+
Microsoft Windows | Run-REDUCE-*\<version\>*.msi
31+
Debian-based Gnu/Linux, e.g. Ubuntu | run-reduce\_*\<version\>*-1_amd64.deb
32+
Red Hat-based Gnu/Linux, e.g. Fedora | run-reduce-*\<version\>*-1.x86\_64.rpm
33+
34+
Download the latest available installer file for your platform from
35+
the [GitHub releases
36+
page](https://github.com/fjwright/Run-REDUCE/releases) and run it,
37+
e.g. by double-clicking on it.
38+
39+
### Microsoft Windows
40+
41+
The Run-REDUCE package will be installed in the folder `C:\Program
42+
Files\Run-REDUCE` by default, but you can change this. It will appear
43+
as an installed app in *Settings* under *Apps & features*, which can
44+
be used to uninstall it. It will also appear in the *Start Menu* in
45+
the *Reduce* folder, which provides the recommended way to run it. To
46+
update the Run-REDUCE package you just need to run the installer for
47+
the new version.
48+
49+
### Gnu/Linux
1550

16-
You need to have a Java Runtime Environment (JRE) and JavaFX libraries
17-
installed, both version 11 or later (preferably the latest release);
18-
see below for details.
51+
The Run-REDUCE package will be installed in the directory
52+
`/opt/run-reduce` and will appear as an installed app in *Software*,
53+
which can be used to uninstall it. It will also appear in
54+
*Applications* in the *Unknown/Other* category, which provides the
55+
easiest way to run it.
56+
57+
To update the Run-REDUCE package you need to uninstall the old version
58+
and then install the new version. One way to do this is to run the
59+
installer for the new version **twice**; the first run just invites
60+
you to uninstall the old version, but does not install the new
61+
version.
62+
63+
The executable is actually installed as
64+
`/opt/run-reduce/bin/Run-REDUCE` and you can use this full pathname as
65+
a shell command to run Run-REDUCE if you want, but the directory is
66+
not automatically added to your PATH. Note that if you run Run-REDUCE
67+
this way then you will probably see a GDK warning message, which you
68+
can ignore. (It is not displayed when you run Run-REDUCE from
69+
*Applications*.)
70+
71+
72+
## Using the JAR
73+
74+
To run the JAR, you need to have a Java Runtime Environment (JRE) and
75+
JavaFX libraries installed, both version 11 or later (preferably the
76+
latest release); see below for details.
1977

2078
You also need to download the file
2179
[Run-REDUCE.jar](https://github.com/fjwright/Run-REDUCE/releases/latest/download/Run-REDUCE.jar)
@@ -71,20 +129,19 @@ option unless you want it for running other Java applications (but
71129
keep the *Add to PATH* option).
72130

73131
On other platforms, install `adoptopenjdk-<latest>-hotspot-jre`, where
74-
`<latest>` represents the highest number available, currently 15. If
75-
you prefer, you can use Java 11 and the non-JRE version (see above).
132+
`<latest>` represents the highest number available. If you prefer,
133+
you can use Java 11 and/or the non-JRE version (see above).
76134

77135

78136
## Install OpenJFX
79137

80138
Visit [OpenJFX](https://openjfx.io/), scroll down and click on the
81-
*Download* button. Scroll down to *Latest Release* (or you can
82-
currently use JavaFX 11 if you prefer), download the appropriate
83-
*JavaFX SDK* file (not the *jmods* file) and save it. Move it
84-
somewhere appropriate (anywhere should work) and unzip it. Make a
85-
note of the full pathname of the *lib* sub-directory or copy it, since
86-
you need it to set up the `PATH_TO_FX` environment variable; see
87-
below.
139+
*Download* button. Scroll down to *Latest Release* (or you can use
140+
JavaFX 11 if you prefer), download the appropriate *JavaFX SDK* file
141+
(**not** the *jmods* file) and save it. Move it somewhere appropriate
142+
(anywhere should work) and unzip it. Make a note of the full pathname
143+
of the *lib* sub-directory or copy it, since you need it to set up the
144+
`PATH_TO_FX` environment variable; see below.
88145

89146

90147
## Run Run-REDUCE using a Batch File on...
@@ -131,33 +188,25 @@ PATH_TO_FX=path-to-openjfx/lib
131188
followed by a space.
132189

133190
An easy way to run Run-REDUCE using a shell command is first to open
134-
*Files* and navigate to the directory to which you downloaded
135-
*Run-REDUCE.jar*. Right-click in this directory and select *Open
136-
in Terminal*. You can now run Run-REDUCE as described above by
137-
executing the shell command
191+
*Files*, navigate to the directory to which you downloaded
192+
*Run-REDUCE.jar* and set the file permissions to make *Run-REDUCE*
193+
executable. Right-click in, or open the drop-down menu for, this
194+
directory and select *Open in Terminal*. You can now run Run-REDUCE
195+
as described above by executing the shell command
138196

139197
``` shell
140-
. Run-REDUCE
198+
./Run-REDUCE
141199
```
142200

143-
(Note that the above command has the form dot space filename, where
144-
dot is a short name for the *source* command. If you set the file
145-
permissions to make Run-REDUCE executable, you can run it as
146-
`./Run-REDUCE`, but this doesn't gain much!)
147-
148201

149202
## Known Issues
150203

151-
On my main Windows computer, which has an HD display, I find that I
152-
need to use a larger REDUCE I/O font size than I would expect. (A
153-
font with the same numerical size appears smaller than in Run-REDUCE.)
154-
This may be because JavaFX font sizes don't reflect display scaling.
155-
156-
On Ubuntu 18 and 20, by default, two warning message appears and on
157-
Ubuntu 18 some dialogues jump when they first appear. The warning
158-
about *libcanberra-gtk-module* can be avoided by using *Synaptic* to
159-
install *libcanberra-gtk-module* (or you can just ignore it). In
160-
order to avoid the other problems, I have included the option
204+
When running *Run-REDUCE.jar* on Ubuntu 18 and 20, by default, two
205+
warning messages appear and on Ubuntu 18 some dialogues jump when they
206+
first appear. The warning about *libcanberra-gtk-module* can be
207+
avoided by using *Synaptic* to install *libcanberra-gtk-module* (or
208+
you can just ignore the warning). In order to avoid the other
209+
problems, I have included the option
161210

162211
``` shell
163212
-Djdk.gtk.version=2
@@ -171,13 +220,19 @@ I have been advised that on Kubuntu 18.04.4 it may be necessary to
171220
install the Gnome 2 theme Adwaita. You may also find that the About
172221
and error dialogue boxes are too small by default.
173222

174-
If *Run-REDUCE* misbehaves or crashes, try including the option
223+
If *Run-REDUCE.jar* misbehaves or crashes, try including the option
175224

176225
``` shell
177226
-Dprism.order=sw
178227
```
179228

180-
which tells Java to use software display rendering. On Fedora, you
181-
may find that the *Gnome Classic* desktop environment works better
182-
than *Gnome*. (One way to select your desktop environment is by using
183-
the settings icon on the login screen.)
229+
which tells Java to use software display rendering.
230+
231+
On Fedora, you may find that the *Gnome Classic* desktop environment
232+
works better than *Gnome*. (One way to select your desktop
233+
environment is by using the settings icon on the login screen.) I
234+
find that on Fedora 32 and 33 using the default desktop, namely GNOME
235+
(Wayland), dialogues jump when opened or closed, whereas using either
236+
GNOME Classic or GNOME on Xorg (X11) avoids this problem.
237+
238+
Francis Wright, March 2021

0 commit comments

Comments
 (0)