problem building SQLite

Share your experience porting VMS applications to x86 here.
Post Reply
User avatar

Topic author
imiller
Master
Posts: 147
Joined: Fri Jun 28, 2019 8:45 am
Reputation: 0
Location: South Tyneside, UK
Status: Offline
Contact:

problem building SQLite

Post by imiller » Wed Mar 06, 2024 6:32 am

Using latest kit sqlite3_vms_047.zip from vms_ports

$ cc/ver
VSI C x86-64 V7.5-009 (GEM 50XBR) on OpenVMS x86_64 V9.2-2

@build_all gets quite a long way until the following error which I don't understand as SQLITE_TESTCTRL_JSON_SELFCHECK is defined in [-.sqlite-amalgamation-3450100]sqlite3.h

$ define vms_shell_include [-.sqlite-amalgamation-3450100]
$ cc /first_include=sys$disk:[]platform.h/include=[-.include]/float=ieee /list=[-.BUILD]/optimize=(tune=host)/architecture=EV56 /
gran=quad vms_shell.c/include=vms_shell_include/nest=primary/name=as_is /warn=(disable=EXTRASEMI) /define=(SQLITE_VMS,
BUILTIN_VMS_EXTENSIONS,USE_VMS_STAT)/object=[-.BUILD]shell.obj/show=(include,expan)

{"json_selfcheck", SQLITE_TESTCTRL_JSON_SELFCHECK ,0,"BOOLEAN" },
...........................^
%CC-E-UNDECLARED, In the initializer for aCtrl[7].ctrlCode, "SQLITE_TESTCTRL_JSON_SELFCHECK" is not declared.
at line number 27633 in file DATA:[IMILLER.MYSQL.sqlite-amalgamation-3450100]shell.c;1
Last edited by imiller on Wed Mar 06, 2024 6:39 am, edited 1 time in total.
Ian Miller
[ personal opinion only. usual disclaimers apply. Do not taunt happy fun ball ].


jonesd
Valued Contributor
Posts: 78
Joined: Mon Aug 09, 2021 7:59 pm
Reputation: 0
Status: Offline

Re: problem building SQLite

Post by jonesd » Wed Mar 06, 2024 7:35 am

imiller wrote:
Wed Mar 06, 2024 6:32 am
Using latest kit sqlite3_vms_047.zip from vms_ports

$ cc/ver
VSI C x86-64 V7.5-009 (GEM 50XBR) on OpenVMS x86_64 V9.2-2

@build_all gets quite a long way until the following error which I don't understand as SQLITE_TESTCTRL_JSON_SELFCHECK is defined in [-.sqlite-amalgamation-3450100]sqlite3.h
Edit [-.build]vms_shell.lis and look for "#define SQLITE_TESTCTRL_ALWAYS", then scroll up to the page header (it helps to terminal's width to 132). The first line shows the page number and compiler version. The second line tells you the actual header file the compiler found. This selfcheck macro appears to have been introduced with SQLite 3.45.0.

>>Dave
Last edited by jonesd on Wed Mar 06, 2024 7:55 am, edited 1 time in total.

User avatar

Topic author
imiller
Master
Posts: 147
Joined: Fri Jun 28, 2019 8:45 am
Reputation: 0
Location: South Tyneside, UK
Status: Offline
Contact:

Re: problem building SQLite

Post by imiller » Wed Mar 06, 2024 9:12 am

Source Listing 6-MAR-2024 11:13:50 VSI C x86-64 V7.5-009-50XBR Page 1118
9-JAN-2024 12:10:25 DATA:[IMILLER.MYSQL.port]sqlite3.h;1

I1 60850 #define SQLITE_TESTCTRL_BITVEC_TEST 8
I1 60851 #define SQLITE_TESTCTRL_FAULT_INSTALL 9
I1 60852 #define SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS 10
I1 60853 #define SQLITE_TESTCTRL_PENDING_BYTE 11
I1 60854 #define SQLITE_TESTCTRL_ASSERT 12
I1 60855 #define SQLITE_TESTCTRL_ALWAYS 13
Ian Miller
[ personal opinion only. usual disclaimers apply. Do not taunt happy fun ball ].


jonesd
Valued Contributor
Posts: 78
Joined: Mon Aug 09, 2021 7:59 pm
Reputation: 0
Status: Offline

Re: problem building SQLite

Post by jonesd » Wed Mar 06, 2024 10:02 am

imiller wrote:
Wed Mar 06, 2024 9:12 am
Source Listing 6-MAR-2024 11:13:50 VSI C x86-64 V7.5-009-50XBR Page 1118
9-JAN-2024 12:10:25 DATA:[IMILLER.MYSQL.port]sqlite3.h;1
Delete that copy of sqlite3.h and rebuild. When build_all.com invokes build_library.com, a fresh copy of sqlite3.h will be copied from the almalgamation directory.

A future kit will do a more robust check for an up-to-date header file in the port directory.

User avatar

Topic author
imiller
Master
Posts: 147
Joined: Fri Jun 28, 2019 8:45 am
Reputation: 0
Location: South Tyneside, UK
Status: Offline
Contact:

Re: problem building SQLite

Post by imiller » Wed Mar 06, 2024 10:09 am

thanks, That worked :-)

Added in 15 minutes 5 seconds:
the end of SQLITE3_STARTUP.COM displays this - is this some debug code left in?

zipfile_extension -->
vms_time --> SQLITE3_ROOT:[X86_64]VMS_TIME.EXE;1
vms_getqui --> SQLITE3_ROOT:[X86_64]VMS_GETQUI.EXE;1
ENDX = 3 Hex = 00000003 Octal = 00000000003
EXT_LIST = ",SQLITE3_ROOT:[X86_64]VMS_TIME.EXE,SQLITE3_ROOT:[X86_64]VMS_GETQUI.EXE"
Last edited by imiller on Wed Mar 06, 2024 10:31 am, edited 1 time in total.
Ian Miller
[ personal opinion only. usual disclaimers apply. Do not taunt happy fun ball ].


jonesd
Valued Contributor
Posts: 78
Joined: Mon Aug 09, 2021 7:59 pm
Reputation: 0
Status: Offline

Re: problem building SQLite

Post by jonesd » Fri Mar 08, 2024 11:12 am

imiller wrote:
Wed Mar 06, 2024 10:46 am
the end of SQLITE3_STARTUP.COM displays this - is this some debug code left in?

zipfile_extension -->
vms_time --> SQLITE3_ROOT:[X86_64]VMS_TIME.EXE;1
vms_getqui --> SQLITE3_ROOT:[X86_64]VMS_GETQUI.EXE;1
ENDX = 3 Hex = 00000003 Octal = 00000000003
EXT_LIST = ",SQLITE3_ROOT:[X86_64]VMS_TIME.EXE,SQLITE3_ROOT:[X86_64]VMS_GETQUI.EXE"
It looks like it. The 2 extension images it is looking for (symbol shell_ext_cand) are now auto-extensions built into the VFS and present by default. The shell_ext_cand list should default to empty for current builds. If you install other extensions, such as the zipfile or xlsxvtab extensions, you can put them in the shell_ext_cand list so they are automatically loaded when you run the shell (other applications still have to load them explicitly).

Post Reply