Hello, I finally got around to investigating this issue a little further.
The floating point exception appears to be a result of ⎕PW being set to 0
at startup.
Applying the following changes allow GNU APL to start up, where one may
confirm that ⎕PW is 0, and evaluate expressions properly again, but
obviously this is not a proper fix.
I am not yet sure why it is getting an invalid term width from cygwin64;
r1807's commit message mentions using TIOCGWINSZ if it's available so
perhaps r1807 isn't accounting for cygwin64 builds properly, or current
cygwin64 versions don't report back the proper term values.
I had no luck getting gdb going in cygwin64 so I only narrowed it down to
this point via 'debug by printf()'. Apologies for not finding the root
cause itself.
Index: src/PrintContext.hh
===================================================================
--- src/PrintContext.hh (revision 1870)
+++ src/PrintContext.hh (working copy)
@@ -61,7 +61,7 @@
int get_PP() const { return precision; }
/// return the print width to be used
- int get_PW() const { return width; }
+ int get_PW() const { return 80 /*width*/; }
protected:
/// the print style to be used
Index: src/Workspace.hh
===================================================================
--- src/Workspace.hh (revision 1870)
+++ src/Workspace.hh (working copy)
@@ -119,7 +119,7 @@
/// return the current ⎕PW
static int get_PW()
- { return the_workspace.v_Quad_PW.current(); }
+ { return 80 /*the_workspace.v_Quad_PW.current()*/; }
/// set the current ⎕PW
static void set_PW(int PW, const char * loc)
On Mon, Feb 24, 2025 at 6:17 AM Dr. Jürgen Sauermann <
mail@jürgen-sauermann.de> wrote:
> Hi,
>
> I guess that running GNU APL in gdb might find the place where this occurs.
> Also: apl -l 37 to see how far the start-up comes. Unlike other logging
> levels
> -l 37 should work even if dynamic logging is not configured.
>
> Best Regards,
> Jürgen
>
>
> On 2/23/25 19:00, Russtopia wrote:
>
> Hi all,
>
> has anyone rebuilt gnu-apl on Win11 under cygwin64 recently? It worked
> fine a few months ago, but this past week I tried rebuilding it and now it
> just gives a Floating Point exception message right after the GNU APL
> banner and exits.
>
> I tried rewinding back a few version (to r1835), no difference.
>
> $ apl --cfg
>
> configurable options:
> ---------------------
> ASSERT_LEVEL_WANTED=1 (default)
> SECURITY_LEVEL_WANTED=0 (default)
> APSERVER_PATH=/tmp/GNU-APL/APserver (default)
> APSERVER_PORT=16366 (default)
> APSERVER_TRANSPORT=0 (default)
> CORE_COUNT_WANTED=0 (= sequential) (default)
> DYNAMIC_LOG_WANTED=no (default)
> MAX_RANK_WANTED=8 (default)
> RATIONAL_NUMBERS_WANTED=no (default)
> SHORT_VALUE_LENGTH_WANTED=12, therefore:
> sizeof(Value) : 464 bytes
> sizeof(Cell) : 24 bytes
> sizeof(Value header): 176 bytes
>
> VALUE_CHECK_WANTED=no (default)
> VALUE_HISTORY_WANTED=no (default)
> VF_TRACING_WANTED=no (default)
> VISIBLE_MARKERS_WANTED=no (default)
>
> how ./configure was (probably) called:
> --------------------------------------
> ./configure
>
> BUILDTAG:
> ---------
> Project: GNU APL
> Version / SVN: 1.9 / SVN: 1842
> Build Date: 2025-02-23 17:45:58 UTC
> Build OS: CYGWIN_NT-10.0-22631 3.5.4-1.x86_64 x86_64
> config.status: default ./configure options
> Archive SVN: 1831
>
>
>