Hello,

SQLite 3.21 autoconf (sqlite-autoconf-3210000.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-3210000.tar)

From your OMVS shell issue the following commands

2- pax -ofrom=iso8859-1,to=ibm-1047 -rf sqlite-autoconf-3210000.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

Reply via email to