[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sqlite-users
Subject:    Re: [sqlite] SQLite 3.21 on IBM Mainframe - z/OS
From:       mbezzi <mbezzi () tiscali ! it>
Date:       2017-12-26 12:30:36
Message-ID: 6ee17fb0-da89-a920-7028-bac5361c5c58 () tiscali ! it
[Download RAW message or body]

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-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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic