* Compiling the Sqlite3 v 3.20.1 libsqlite3.x.y.dll on Cygwin
@ 2017-09-10 21:10 Keith Christian
2017-09-10 21:44 ` Keith Christian
0 siblings, 1 reply; 2+ messages in thread
From: Keith Christian @ 2017-09-10 21:10 UTC (permalink / raw)
To: cygwin
What .dll should be compiled or loaded to execute a TCL program
including the SQLite library as shown in this fragment, which used to
work a few years ago?
#!/usr/bin/tclsh
load libsqlite3.8.3.dll "SQLite3"
sqlite3 db1 ./tcl_interface.db
puts ""
puts "Dropping table t1"
puts ""
db1 eval {DROP TABLE IF EXISTS t1}
db1 eval {CREATE TABLE IF NOT EXISTS t1(a int, b text)}
db1 eval {INSERT INTO t1 VALUES('1','hello')}
db1 eval {INSERT INTO t1 VALUES('2','goodbye')}
db1 eval {INSERT INTO t1 VALUES('3','howdy!')}
close db1
I downloaded and extracted the the amalgamation as done previously:
2069637 Sep 10 14:36 sqlite-amalgamation-3200100.zip
Then ran this gcc command provided by Dr. Hipp a few years ago:
gcc -o sqlite3.exe -I. sqlite3.c shell.c
No libsqlite3.x.y.z.dll in the current directory as before. These
DLL's were created in a subdirectory, howver:
find . -type f -name 'libsqlite3*' -exec ls -dl {} +
-rw-rw-rw-+ 1 KChris0000 Domain Users 5414520 Sep 10 14:46
./.libs/libsqlite3.a
-rw-rw-rw-+ 1 KChris0000 Domain Users 159728 Sep 10 14:46
./.libs/libsqlite3.dll.a
-rw-rw-rw-+ 1 KChris0000 Domain Users 912 Sep 10 14:46
./.libs/libsqlite3.lai
-rw-rw-rw-+ 1 KChris0000 Domain Users 904 Sep 10 14:46
./libsqlite3.la
From here, with Sqlite3 v3.20.1, how to create a .dll as before? Or
is the method of loading libsqlite3 different now?
#!/usr/bin/tclsh
load libsqlite3.8.3.dll "SQLite3"
sqlite3 db1 ./tcl_interface.db
Thanks,
Keith
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Compiling the Sqlite3 v 3.20.1 libsqlite3.x.y.dll on Cygwin
2017-09-10 21:10 Compiling the Sqlite3 v 3.20.1 libsqlite3.x.y.dll on Cygwin Keith Christian
@ 2017-09-10 21:44 ` Keith Christian
0 siblings, 0 replies; 2+ messages in thread
From: Keith Christian @ 2017-09-10 21:44 UTC (permalink / raw)
To: cygwin
Works now.
Nothing helps like being in the correct directory before running
configure and make (-: (-:
I see a few errors, but the small test program works OK. Cygwin
version and gcc version output below for giggles and grins.
Sun Sep 10 15:33:05 pty2 (KChris0000@machine)
/var/kchristian/software/sqlite3/sqlite-autoconf-3200100>uname -a
CYGWIN_NT-6.1-WOW machine 2.9.0(0.317/5/3) i686 Cygwin
Sun Sep 10 15:42:10 pty2 (KChris0000@machine)
/var/kchristian/software/sqlite3/sqlite-autoconf-3200100>gcc --version
gcc (GCC) 5.4.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Sun Sep 10 15:22:59 pty2 (KChris0000@machine)
/var/kchristian/software/sqlite3/sqlite-autoconf-3200100/tea>./configure
Sun Sep 10 15:26:49 pty2 (KChris0000@machine)
/var/kchristian/software/sqlite3/sqlite-autoconf-3200100/tea>make
gcc -DPACKAGE_NAME=\"sqlite\" -DPACKAGE_TARNAME=\"sqlite\"
-DPACKAGE_VERSION=\"3.20.1\" -DPACKAGE_STRING=\"sqlite\ 3.20.1\"
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DBUILD_sqlite=/\*\*/
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1
-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
-DHAVE_UNISTD_H=1 -DNO_VALUES_H=1 -DHAVE_LIMITS_H=1
-DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1
-D_THREAD_SAFE=1 -DTCL_THREADS=1 -DSQLITE_THREADSAFE=1
-DMODULE_SCOPE=extern -DHAVE_NO_SEH=1 -DHAVE_CAST_TO_UNION=1
-DTCL_WIDE_INT_TYPE=long\ long -DUSE_TCL_STUBS=1 -DHAVE_FDATASYNC=1
-DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1
-DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DSQLITE_ENABLE_FTS3=1
-DSQLITE_3_SUFFIX_ONLY=1 -DSQLITE_ENABLE_RTREE=1 -I"./generic"
-I"/usr/include" -I./.. -pipe -O2 -DNDEBUG -Wall -c `echo
./generic/tclsqlite3.c` -o tclsqlite3.o
./generic/tclsqlite3.c: In function 'DbTraceV2Handler':
./generic/tclsqlite3.c:642:50: warning: cast from pointer to integer
of different size [-Wpointer-to-int-cast]
Tcl_NewWideIntObj((Tcl_WideInt)pStmt));
^
./generic/tclsqlite3.c:652:26: warning: cast from pointer to integer
of different size [-Wpointer-to-int-cast]
sqlite3_int64 ns = (sqlite3_int64)xd;
^
./generic/tclsqlite3.c:657:50: warning: cast from pointer to integer
of different size [-Wpointer-to-int-cast]
Tcl_NewWideIntObj((Tcl_WideInt)pStmt));
^
./generic/tclsqlite3.c:671:50: warning: cast from pointer to integer
of different size [-Wpointer-to-int-cast]
Tcl_NewWideIntObj((Tcl_WideInt)pStmt));
^
./generic/tclsqlite3.c:683:50: warning: cast from pointer to integer
of different size [-Wpointer-to-int-cast]
Tcl_NewWideIntObj((Tcl_WideInt)db));
^
In file included from ./generic/tclsqlite3.c:4:0:
./generic/tclsqlite3.c: At top level:
./../sqlite3.c:39653:22: warning: 'sqlite3Win32Wait' defined but not
used [-Wunused-function]
SQLITE_PRIVATE DWORD sqlite3Win32Wait(HANDLE hObject){
^
rm -f libsqlite3.20.1.dll
gcc -shared -o libsqlite3.20.1.dll tclsqlite3.o -lpthread -Wl,-ltclstub8.6
: libsqlite3.20.1.dll
If you have documentation to create, place the commands to
build the docs in the 'doc:' target. For example:
xml2nroff sample.xml > sample.n
xml2html sample.xml > sample.html
Keith
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-09-10 21:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-10 21:10 Compiling the Sqlite3 v 3.20.1 libsqlite3.x.y.dll on Cygwin Keith Christian
2017-09-10 21:44 ` Keith Christian
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).