On 19-4-2025 12:42, Kenny McCormack wrote:
I recently compiled up a version of the latest GAWK (*), because I wanted
to play with some of the new features (namespaces, persistent memory, etc)
However, it looks like PMA didn't get compiled in. Here is the first line
of --version (notice the absence of the word "Avon"):
GNU Awk 5.3.2, API 4.0, (GNU MPFR 3.1.5, GNU MP 6.1.2)
And I remembered reading somewhere that the PMA feature works on 64-bit systems (implying that it *only* works on 64-bit systems).
So, I'm curious as to *why* this restriction? Could someone on the dev
team (or other knowledgeable person) comment on this?
(*) On a 32-bit Linux system.
Sorry no answer on why the restriction, but:
I tested the build on my (64-bit) WSL, and followed instructions on:
https://www.gnu.org/software/gawk/manual/html_node/Persistent-Memory.html
luuk@ZES:/mnt/d/TEMP/gawk/gawk$ ./gawk -V
GNU Awk 5.3.60, API 4.0, PMA Avon 8-g1
Copyright (C) 1989, 1991-2025 Free Software Foundation.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see
http://www.gnu.org/licenses/. luuk@ZES:/mnt/d/TEMP/gawk/gawk$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.5 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.5 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="
https://www.ubuntu.com/"
SUPPORT_URL="
https://help.ubuntu.com/" BUG_REPORT_URL="
https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="
https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
luuk@ZES:/mnt/d/TEMP/gawk/gawk$ truncate -s 4G data.pma luuk@ZES:/mnt/d/TEMP/gawk/gawk$ chmod 0600 data.pma luuk@ZES:/mnt/d/TEMP/gawk/gawk$ GAWK_PERSIST_FILE=data.pma ./gawk 'BEGIN
{ print ++i }'
1
luuk@ZES:/mnt/d/TEMP/gawk/gawk$ GAWK_PERSIST_FILE=data.pma ./gawk 'BEGIN
{ print ++i }'
2
luuk@ZES:/mnt/d/TEMP/gawk/gawk$ GAWK_PERSIST_FILE=data.pma ./gawk 'BEGIN
{ print ++i }'
3
luuk@ZES:/mnt/d/TEMP/gawk/gawk$ GAWK_PERSIST_FILE=data.pma ./gawk -f
test.gawk
4
luuk@ZES:/mnt/d/TEMP/gawk/gawk$ GAWK_PERSIST_FILE=data.pma ./gawk -f
test.gawk
5
luuk@ZES:/mnt/d/TEMP/gawk/gawk$ GAWK_PERSIST_FILE=data.pma ./gawk -f
test.gawk
6
luuk@ZES:/mnt/d/TEMP/gawk/gawk$ GAWK_PERSIST_FILE=data.pma ./gawk 'BEGIN
{ print ++i }'
7
luuk@ZES:/mnt/d/TEMP/gawk/gawk$ GAWK_PERSIST_FILE=data.pma ./gawk 'BEGIN
{ print ++i }'
8
luuk@ZES:/mnt/d/TEMP/gawk/gawk$
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)