You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Faced 'Error: unable to open database "xxx.db": automatic extension loading failed: no extension with name 'http' registered'. #32
Hi,
I am attempting to statically link the sqlite-http extension with the amalgamation sqlite. I was able to succeed with another go extensions viz. sqlite-html. I face this error on extension loading in sqlite.
SQLite version 3.43.2 2023-10-10 12:14:04
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> select http_get_body('https://text.npr.org/');
Error: unable to open database ":memory:": automatic extension loading failed: no extension with name 'http' registered
I find sqlite3_http_init included in the executable,
00000000001eea7f T sqlite3_global_recover
0000000000117a5a T sqlite3_hard_heap_limit64
0000000000400cf3 T sqlite3_html_init
000000000063a546 T sqlite3_http_init <------ calls go_sqlite3_extension_init
000000000063a596 T sqlite3_http_no_network_init
00000000000ea95b T sqlite3_ieee_init
00000000001e9b6d T sqlite3_initialize
00000000004034fe T _sqlite3_interrupt
nm -gC ./libsqlite_http0.a | grep 'go_sqlite3_extension_init'
000000000011e960 T _cgoexp_97bac8ba3e87_go_sqlite3_extension_init
U go_sqlite3_extension_init
U _cgoexp_97bac8ba3e87_go_sqlite3_extension_init
000000000000017e T go_sqlite3_extension_init
U go_sqlite3_extension_init
nm -gC html0.a | grep 'go_sqlite3_extension_init'
00000000001f3ea0 T _cgoexp_97bac8ba3e87_go_sqlite3_extension_init
U go_sqlite3_extension_init
U _cgoexp_97bac8ba3e87_go_sqlite3_extension_init
000000000000017e T go_sqlite3_extension_init
U go_sqlite3_extension_init
nm -gC ./sqlite | grep 'go_sqlite3_extension_init'
00000000005f76c0 T _cgoexp_97bac8ba3e87_go_sqlite3_extension_init
0000000000400eb0 T go_sqlite3_extension_init
where is go_sqlite3_extension_init defined, Please tell me what I am missing in the build process?
Hi, I am attempting to statically link the sqlite-http extension with the amalgamation sqlite. I was able to succeed with another go extensions viz. sqlite-html. I face this error on extension loading in sqlite.
SQLite version 3.43.2 2023-10-10 12:14:04 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite> select http_get_body('https://text.npr.org/'); Error: unable to open database ":memory:": automatic extension loading failed: no extension with name 'http' registered
I find sqlite3_http_init included in the executable,
00000000001eea7f T sqlite3_global_recover 0000000000117a5a T sqlite3_hard_heap_limit64 0000000000400cf3 T sqlite3_html_init 000000000063a546 T sqlite3_http_init <------ calls go_sqlite3_extension_init 000000000063a596 T sqlite3_http_no_network_init 00000000000ea95b T sqlite3_ieee_init 00000000001e9b6d T sqlite3_initialize 00000000004034fe T _sqlite3_interrupt
nm -gC ./libsqlite_http0.a | grep 'go_sqlite3_extension_init' 000000000011e960 T _cgoexp_97bac8ba3e87_go_sqlite3_extension_init U go_sqlite3_extension_init U _cgoexp_97bac8ba3e87_go_sqlite3_extension_init 000000000000017e T go_sqlite3_extension_init U go_sqlite3_extension_init
nm -gC html0.a | grep 'go_sqlite3_extension_init' 00000000001f3ea0 T _cgoexp_97bac8ba3e87_go_sqlite3_extension_init U go_sqlite3_extension_init U _cgoexp_97bac8ba3e87_go_sqlite3_extension_init 000000000000017e T go_sqlite3_extension_init U go_sqlite3_extension_init
nm -gC ./sqlite | grep 'go_sqlite3_extension_init' 00000000005f76c0 T _cgoexp_97bac8ba3e87_go_sqlite3_extension_init 0000000000400eb0 T go_sqlite3_extension_init
where is go_sqlite3_extension_init defined, Please tell me what I am missing in the build process?
Thanks,
Issue with SQLite HTTP Extension Compilation
Hi,
I am using the http extension in a custom build. I aim to obtain a static library that can be linked with the amalgamation SQLite version.
I've observed that the $(TARGET_OBJ) in the Makefile produces a file named sqlite-http/dist/http0.o. However, this seems to be a static library rather than an object file, as evident from the following:
$ file ./sqlite-http/dist/http0.o
./sqlite-http/dist/http0.o: current ar archive
Is it necessary to compile the shared.c file, given it contains the entry point? Notably, the sqlite-html extension seems to function correctly. I am keen on making the sqlite-http extension operational as well.
Activity
avinashkurup commentedon Oct 30, 2023
Issue with SQLite HTTP Extension Compilation
Hi,
I am using the
httpextension in a custom build. I aim to obtain a static library that can be linked with the amalgamation SQLite version.I've observed that the
$(TARGET_OBJ)in the Makefile produces a file namedsqlite-http/dist/http0.o. However, this seems to be a static library rather than an object file, as evident from the following:Is it necessary to compile the shared.c file, given it contains the entry point? Notably, the sqlite-html extension seems to function correctly. I am keen on making the sqlite-http extension operational as well.
Any guidance would be immensely appreciated.
asg017 commentedon Oct 30, 2023
A few notes:
$(TARGET_OBJ)makes a static library, my bad, will fix.Do you mind sharing the compile flags you've tried so far?
avinashkurup commentedon Oct 31, 2023
Thank you, These are the compile flags I have been using for compiling the static library for Linux.
GO_BUILD_LDFLAGS=-ldflags '-X main.Version=v$(VERSION) -X main.Commit=$(COMMIT) -X main.Date=$(DATE)'
GO_BUILD_CGO_CFLAGS=CGO_ENABLED=1 CGO_CFLAGS="-DUSE_LIBSQLITE3" CPATH="$(VENDOR_SQLITE) -gcflags "all=-N -l""
riyaz-ali commentedon Nov 21, 2023
Are you trying to embed this extension in another application?