With many thanks to Chuck Haatvedt and Simon Sobisch, you can now build MSYS2 32-bit and 64-bit versions of GnuCOBOL 3.2-dev for Windows, which includes gmplib, PDCursesMod, Berkeley DataBase (for ISAM), and GCSORT.exe. These versions includes GCC 12.2.0 as the embedded C Compiler, with XML parsing, cJSON, and debugging support includind code coverage testing. You can download a binary compressed with 7-Zip and rename the file extension from "7z" to "exe". Then you can run it as a self-installing archive. See the STARTHERE.txt file, or open a cmd.exe window in the install folder, and run "set_env.cmd" to set the environment variables. You can also download the MSYS2-Build-Kit.7z archive which contains the Build Guide in LibreOffice DOCX format and in PDF format.
Just a minor note: instead of opening "cmd.exe" you can also directly open (by double-click or otherwise) "set_env.cmd", which will open the "GnuCOBOL Development prompt", too.
As another option you can use it as "starter", for example: X:\GnuCOBOL\set_env.cmd cobc -x someprog.cob X:\GnuCOBOL\set_env.cmd someprog.exe
(Note: the first option is noted in STARTHERE.txt (just adding it here), but I think the "starter" option is missing there currently).
@arn79: Would you mind specifying the download size of the packages?
Last edit: Simon Sobisch 2023-01-12
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The 64-bit compiler download size is 83.1 Megabytes (about 687 MB uncompressed).
The 32-bit compiler download size is 82.6 Megabytes (about 668 MB uncompressed).
The "Build Kit" is a 5.2 Megabyte download. The only reason it is so large is because it includes PDF manuals for the compiler's \docs folder:
Directory of \MSYS2-Build-Kit\docs
12/29/2022 12:19 AM <DIR> .
12/29/2022 12:19 AM <DIR> ..
01/07/2023 06:36 PM 1,694,199 GCSORT_Manual.pdf
01/07/2023 01:00 AM 2,012,989 GnuCOBOL 3.2 Programmer's Guide.pdf
01/07/2023 01:00 AM 2,016,799 GnuCOBOL 3.2 Programmer's Reference.pdf
01/07/2023 01:00 AM 262,695 GnuCOBOL 3.2 Quick Reference.pdf
01/07/2023 01:01 AM 437,426 GnuCOBOL 3.2 Sample Programs.pdf
I will go back and update STARTHERE.txt to mention double-clicking on "set_env.cmd" to open the CMD.EXE window while setting the environment variables. That should be corrected by the time I build the download for Release Candidate 1.
Kudos to Chuck Haatvedt for making the build process so much easier!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Not working for me, the 64 bit one is the one I installed.
C:\GnuCOBOL-3.1.2.0>TestGC
VERIFY GnuCOBOL 3.2 install - by Arnold Trembley, 2021-12-06. *
This .CMD file will install non-persistent GnuCOBOL Environment *
Variables and PATH for Windows XP and higher. Then the TESTFUNC.COB *
program will be compiled and executed, once as EXE, once as DLL. *
NOTE: This .CMD file can only be executed in the directory where *
the GnuCOBOL compiler is installed. The generated EXE, DLL, and LST *
files will be stored in the temp folder and then DELETED. *
current directory = C:\GnuCOBOL-3.1.2.0\
call "C:\GnuCOBOL-3.1.2.0\set_env.cmd"
cobc (GnuCOBOL) 3.2-dev.0
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later https://gnu.org/licenses/gpl.html
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Keisuke Nishida, Roger While, Ron Norman, Simon Sobisch, Edward Hart
Built Jan 07 2023 18:08:47
Packaged Jan 06 2023 00:15:53 UTC
C version (MinGW) "12.2.0"
Well Well, I removed every thing in the folder GnuCOBOL-3.1.2.0 and reran the .exe and it installed OK and now it WORKS FINE. Sorry for the false alarm, must of had some old versions there ....
Now, back to work
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Generally it is easier to support multiple versions of the compiler under the same Windows User ID if you use temporary environment variables (from set_env.cmd) rather than permanent environment variables. Based on the symptoms I suspected either permanent environment variables pointing to a previous release, or a conflict in libraries between a previous release and current release. Unfortunately, the self-extracting archive does not clean up an existing folder the way a full-blown Windows installer would.
Kind regards,
Last edit: Arnold Trembley 2023-01-13
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
With many thanks to Chuck Haatvedt and Simon Sobisch, you can now build MSYS2 32-bit and 64-bit versions of GnuCOBOL 3.2-dev for Windows, which includes gmplib, PDCursesMod, Berkeley DataBase (for ISAM), and GCSORT.exe. These versions includes GCC 12.2.0 as the embedded C Compiler, with XML parsing, cJSON, and debugging support includind code coverage testing. You can download a binary compressed with 7-Zip and rename the file extension from "7z" to "exe". Then you can run it as a self-installing archive. See the STARTHERE.txt file, or open a cmd.exe window in the install folder, and run "set_env.cmd" to set the environment variables. You can also download the MSYS2-Build-Kit.7z archive which contains the Build Guide in LibreOffice DOCX format and in PDF format.
https://www.arnoldtrembley.com/GC32M-BDB-x64-r4918-rename-7z-to-exe.7z
https://www.arnoldtrembley.com/GC32M-BDB-x32-r4918-rename-7z-to-exe.7z
https://www.arnoldtrembley.com/MSYS2-Build-Kit.7z
Just a minor note: instead of opening "cmd.exe" you can also directly open (by double-click or otherwise) "set_env.cmd", which will open the "GnuCOBOL Development prompt", too.
As another option you can use it as "starter", for example:
X:\GnuCOBOL\set_env.cmd cobc -x someprog.cobX:\GnuCOBOL\set_env.cmd someprog.exe(Note: the first option is noted in STARTHERE.txt (just adding it here), but I think the "starter" option is missing there currently).
@arn79: Would you mind specifying the download size of the packages?
Last edit: Simon Sobisch 2023-01-12
The 64-bit compiler download size is 83.1 Megabytes (about 687 MB uncompressed).
The 32-bit compiler download size is 82.6 Megabytes (about 668 MB uncompressed).
The "Build Kit" is a 5.2 Megabyte download. The only reason it is so large is because it includes PDF manuals for the compiler's \docs folder:
I will go back and update STARTHERE.txt to mention double-clicking on "set_env.cmd" to open the CMD.EXE window while setting the environment variables. That should be corrected by the time I build the download for Release Candidate 1.
Kudos to Chuck Haatvedt for making the build process so much easier!
The build kit ideally would have a download for the PDFs with curl/wget in a script, no?
Not working for me, the 64 bit one is the one I installed.
C:\GnuCOBOL-3.1.2.0>TestGC
current directory = C:\GnuCOBOL-3.1.2.0\
call "C:\GnuCOBOL-3.1.2.0\set_env.cmd"
cobc (GnuCOBOL) 3.2-dev.0
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later https://gnu.org/licenses/gpl.html
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Keisuke Nishida, Roger While, Ron Norman, Simon Sobisch, Edward Hart
Built Jan 07 2023 18:08:47
Packaged Jan 06 2023 00:15:53 UTC
C version (MinGW) "12.2.0"
GnuCOBOL 3.2.0 (Jan 07 2023 18:07:57), (MinGW) "12.2.0"
GMP 6.2.1, libxml2 2.10.3, cJSON 1.7.15, PDCursesMod 4.3.5, BDB 18.1.40
Press any key to continue . . .
Compile the "TESTFUNC.COB" program as executable main program (-x),
enable all warnings (-Wall), with no binary truncation (-fnotrunc)
cobc.exe -x -Wall -fnotrunc -Xref -T C:\Users\19012\AppData\Local\Temp\testfunc.lst -o C:\Users\19012\AppData\Local\Temp\testfunc.exe testfunc.cob
C:/GnuCOBOL-3.1.2.0/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/GnuCOBOL-3.1.2.0/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o:crtexe.c:(.rdata$.refptr.mingw_app_type[.refptr.mingw_app_type]+0x0): undefined reference to
mingw_app_type' C:/GnuCOBOL-3.1.2.0/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/GnuCOBOL-3.1.2.0/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o:crtexe.c:(.rdata$.refptr.mingw_initcharmax[.refptr.mingw_initcharmax]+0x0): undefined reference tomingw_initcharmax'C:/GnuCOBOL-3.1.2.0/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/GnuCOBOL-3.1.2.0/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o:crtexe.c:(.rdata$.refptr.mingw_initltssuo_force[.refptr.mingw_initltssuo_force]+0x0): undefined reference to
mingw_initltssuo_force' C:/GnuCOBOL-3.1.2.0/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/GnuCOBOL-3.1.2.0/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o:crtexe.c:(.rdata$.refptr.mingw_initltsdyn_force[.refptr.mingw_initltsdyn_force]+0x0): undefined reference tomingw_initltsdyn_force'C:/GnuCOBOL-3.1.2.0/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/GnuCOBOL-3.1.2.0/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o:crtexe.c:(.rdata$.refptr.mingw_initltsdrot_force[.refptr.mingw_initltsdrot_force]+0x0): undefined reference to `mingw_initltsdrot_force'
collect2.exe: error: ld returned 1 exit status
GnuCOBOL Compile Returncode = 1
Deleting temporary files
Volume in drive C has no label.
Volume Serial Number is 70A4-EA29
Directory of C:\Users\19012\AppData\Local\Temp
01/12/2023 08:20 AM 7,690 testfunc.lst
1 File(s) 7,690 bytes
0 Dir(s) 852,746,727,424 bytes free
C:\GnuCOBOL-3.1.2.0>
Well Well, I removed every thing in the folder GnuCOBOL-3.1.2.0 and reran the .exe and it installed OK and now it WORKS FINE. Sorry for the false alarm, must of had some old versions there ....
Now, back to work
Glad to hear it!
Generally it is easier to support multiple versions of the compiler under the same Windows User ID if you use temporary environment variables (from set_env.cmd) rather than permanent environment variables. Based on the symptoms I suspected either permanent environment variables pointing to a previous release, or a conflict in libraries between a previous release and current release. Unfortunately, the self-extracting archive does not clean up an existing folder the way a full-blown Windows installer would.
Kind regards,
Last edit: Arnold Trembley 2023-01-13
Arnold, Chuck, Simon, You've Done IT !
The Windows users now have a 'click and go'.
Congratulations.