Quick update:
The -qdll compiler option, needed to enable dynamic extensions, causes
problems with some SQLite commands. Removing it fixes those problems.
For the time being I've removed the option and I will continue to test.
Thank you,
mario
On 12/25/2017 10:08 PM, Mario Bezzi wrote:
Hello,
SQLite 3.21 autoconf (sqlite-autoconf-321.zip) compiles and runs
successfully on z/OS 2.2 with few minor modifications which I would
like the developers to consider for integration into the code base.
Namely:
1 - In sqlite3.c, in the code section coming from tokenize.c, the
EBCDIC version of the aiClass[] array defines codepoint 0x15 as class
'27' (CC_ILLEGAL). In EBCDIC (both codepages 037 and 1047, the most
common ones) 0x15 is actually NL (newline) and should be defined as
class '7' CC_SPACE to allow the tokenizer to properly manage
multi-line statements.
There are minor issues in the Makefile generated by ./configure:
2 - The ./configure process wrongly detects the presence of the posix
fallocate function, which is not actually available ("checking for
posix_fallocate... yes"), and sets -DHAVE_POSIX_FALLOCATE=1. It should
be -DHAVE_POSIX_FALLOCATE=0. I don't know why this happens as I was
not able to understand what the check does. I will be happy to help
debugging it if guided.
3- In order to successfully compile sqlite3, the C compiler command
(CC=..) should be changed from cc to xlc; the CFLAGS option should be
set to "CFLAGS = -g -qFLOAT=IEEE -qstrict -qdll" and
"-D_XOPEN_SOURCE=600" should be added to the current DEFS.
If needed I have a diff generated pach for 1) and another one for 2)
3) to make the required changes better understandable.
With these changes the process to build sqlite is as simple as:
1- Upload a non compressed tarball of the autoconf version of SQLite
to a file in your OMVS environment (let say the file is called
sqlite-autoconf-321.tar)
From your OMVS shell issue the following commands
2- pax -ofrom=iso8859-1,to=ibm-1047 -rf sqlite-autoconf-321.tar
(the "to" codepage in the pax command must be set to your actual
EBCDIC codepage)
3- ./configure --enable-dynamic-extension (I need this option myself
but of course it is not mandatory)
4- for the time being manually apply the changes described above
5- make
Et voilĂ .
At the moment I am testing with the sqlite3 cli, and I can perform
normal operations and load and use dynamic extensions.
I will keep testing and I will report other issues if any.
Hope this helps,
mario
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users