Since I found out that only VBISAM 2.1.1 (the version with some additonal changes applied by Ron Norman provided in this thread: https://sourceforge.net/p/gnucobol/discussion/help/thread/8910169768/423a/#423a) works absolutely error-free with GnuCOBOL 3.2, I compiled it.
I got errors in two source members (isrecover.c + ischeck.c) and corrected them. Please find the updated VBISAM version attached. (file: vbisam-2.1.1_20240427.tar.gz). The changes in the sources are marked with "$$FC40".
When compiling GnuCOBOL I got another error in source member ../libcob/common.c:
So you must either configure GnuCOBOL with the option --without-xml2 (if you do not need it) or correct the error by adding a declaration here:
../libcob/common.c
#if defined (WITH_XML2)#include<libxml/xmlversion.h>#include<libxml/xmlwriter.h>voidxmlCleanupParser();//declaration of the function $$FC40#endif
At the end everything runs perfectly on the brand-new Fedora 40 (I am using the Fedora MATE+Compiz Spin), even the record locking works - see a screenshot of my desktop running a TUI test application developed in GnuCOBOL.
Thanks for the report. Note: the right fix for the inclusion was done with [r5240].
Please post the VBISAM fixes in the referenced post (ideally as a patch file / diff) to enable us finding it later.
I am confused. Is this VBISAM fix in the next release of GnuCOBOL 3.3 ? Is it in the Nightly build? If we use " --with-vbisam Use VBISAM (libvbisam) (ISAM handler)" will we get the new VBISAM fix (for locking as menitioned above)? Is this fix in the VBISAM stand alone project? And lastly, is V-ISAM/VBISAM all the same product?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
V*ISAM is an external library, similar to BDB. If you want to know more about that - please use the search option in this discussion board (possibly sorting by date not "relevance").
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello GnuCOBOL fans,
as an early adopter of Fedora 40 (FC40) which came out this week, I have installed GnuCOBOL 3.2 with VBISAM 2.1.1 on it.
Because there were some pitfalls, here are a few brief notes on installing the software.
With release 40 Fedora is switching to a "modern C compiler" (as they call it): gcc 14.
See:
https://fedoraproject.org/wiki/Changes/PortingToModernC
Since I found out that only VBISAM 2.1.1 (the version with some additonal changes applied by Ron Norman provided in this thread: https://sourceforge.net/p/gnucobol/discussion/help/thread/8910169768/423a/#423a) works absolutely error-free with GnuCOBOL 3.2, I compiled it.
I got errors in two source members (isrecover.c + ischeck.c) and corrected them. Please find the updated VBISAM version attached. (file: vbisam-2.1.1_20240427.tar.gz). The changes in the sources are marked with "$$FC40".
When compiling GnuCOBOL I got another error in source member ../libcob/common.c:
So you must either configure GnuCOBOL with the option --without-xml2 (if you do not need it) or correct the error by adding a declaration here:
../libcob/common.c
At the end everything runs perfectly on the brand-new Fedora 40 (I am using the Fedora MATE+Compiz Spin), even the record locking works - see a screenshot of my desktop running a TUI test application developed in GnuCOBOL.
Have a nice weekend,
Klaus
Last edit: Klaus Siebke 2024-04-27
Thanks for the report. Note: the right fix for the inclusion was done with [r5240].
Please post the VBISAM fixes in the referenced post (ideally as a patch file / diff) to enable us finding it later.
Related
Commit: [r5240]
Thank you Simon for adding the GC fix!
Never worked with diff before - I hope this is what's needed:
isrecover.c
ischeck.c
And sorry, I marked the changes (deleted lines) in VBISAM with §§§KS instead of §§FC40, like in the GC source.
I will add the diff output also in the old thread.
btw. where can I dowloadd the latest versions of GC 3.x and GC 4 including the current fixes? Link?
I am confused. Is this VBISAM fix in the next release of GnuCOBOL 3.3 ? Is it in the Nightly build? If we use " --with-vbisam Use VBISAM (libvbisam) (ISAM handler)" will we get the new VBISAM fix (for locking as menitioned above)? Is this fix in the VBISAM stand alone project? And lastly, is V-ISAM/VBISAM all the same product?
V*ISAM is an external library, similar to BDB. If you want to know more about that - please use the search option in this discussion board (possibly sorting by date not "relevance").
Mickey, neither one nor the other - this is a VBISAM version from an older post by Ron Norman:
https://sourceforge.net/p/gnucobol/discussion/help/thread/8910169768/423a/#423a
I have tried several versions of VBISAM with GC 3.2, including the latest version 2.2 from Ron Norman, available here:
http://inglenet.ca/Products/GnuCOBOL/vbisam-2.2.tar.Z
Only the version 2.1.1 works completely correctly in multiuser mode from my point of view.
The changes shown here are exclusively related to making version 2.1.1 compatible with the new gcc 14 used in Fedora 40.