Gekko: Pre-built binaries not found for sqlite3 error when trying install in Linux

Created on 16 Jan 2018  Â·  4Comments  Â·  Source: askmike/gekko

  • I'm submitting a ...
    [x] bug report
    [ ] feature request
    [ ] question about the decisions made in the repository

* *Action taken (what you did)*
Installed Gekko in Raspbian OS using terminal instructions here: https://gekko.wizb.it/docs/installation/installing_gekko.html

Launched Gekko, and went to import data. Import fails. Gekko shows error:
"Gekko encountered an error and can't continue
Error: The plugin sqlite adapter expects the module sqlite3 to be installed. However it is not, install it by running: npm install [email protected]"

I run the command "npm install [email protected]"
(and variations of it, also tried several versions of nodejs)
Please assist!

* *Expected result (what you hoped would happen)*

sqlite3 installs, and Gekko works

* *Actual result (unexpected outcome)*

Error installing sqlite3:

node-pre-gyp info check checked for "/home/pi/gekko/node_modules/sqlite3/lib/binding/node-v57-linux-arm/node_sqlite3.node" (not found)
node-pre-gyp http GET https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v57-linux-arm.tar.gz
node-pre-gyp http 403 https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v57-linux-arm.tar.gz
node-pre-gyp ERR! Tried to download: https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v57-linux-arm.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v57 ABI) (falling back to source compile with node-gyp)
node-pre-gyp http 403 status code downloading tarball https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v57-linux-arm.tar.gz
node-pre-gyp verb command build [ 'rebuild' ]

  • Other information
    Installing gekko on raspberry pi using raspbian os
    Gekko version: v0.5.12
    Nodejs version: v8.9.3

THE FULL COMMAND RESPONSE IS BELOW

pi@raspberrypi:~/gekko $ npm install [email protected]

[email protected] install /home/pi/gekko/node_modules/sqlite3
node-pre-gyp install --fallback-to-build

node-pre-gyp info it worked if it ends with ok
node-pre-gyp verb cli [ '/usr/local/bin/node',
node-pre-gyp verb cli '/home/pi/gekko/node_modules/sqlite3/node_modules/.bin/node-pre-gyp',
node-pre-gyp verb cli 'install',
node-pre-gyp verb cli '--fallback-to-build' ]
node-pre-gyp info using [email protected]
node-pre-gyp info using [email protected] | linux | arm
node-pre-gyp verb command install []
node-pre-gyp info check checked for "/home/pi/gekko/node_modules/sqlite3/lib/binding/node-v57-linux-arm/node_sqlite3.node" (not found)
node-pre-gyp http GET https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v57-linux-arm.tar.gz
node-pre-gyp http 403 https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v57-linux-arm.tar.gz
node-pre-gyp ERR! Tried to download: https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v57-linux-arm.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v57 ABI) (falling back to source compile with node-gyp)
node-pre-gyp http 403 status code downloading tarball https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v57-linux-arm.tar.gz
node-pre-gyp verb command build [ 'rebuild' ]
make: Entering directory '/home/pi/gekko/node_modules/sqlite3/build'
ACTION deps_sqlite3_gyp_action_before_build_target_unpack_sqlite_dep Release/obj/gen/sqlite-autoconf-3090100/sqlite3.c
TOUCH Release/obj.target/deps/action_before_build.stamp
CC(target) Release/obj.target/sqlite3/gen/sqlite-autoconf-3090100/sqlite3.o
Release/obj/gen/sqlite-autoconf-3090100/sqlite3.c:9704:26: warning: ‘sqlite3one’ defined but not used [-Wunused-const-variable=]
SQLITE_PRIVATE const int sqlite3one = 1;
^~~~
AR(target) Release/obj.target/deps/sqlite3.a
COPY Release/sqlite3.a
CXX(target) Release/obj.target/node_sqlite3/src/database.o
../src/database.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE node_sqlite3::Database::New(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/database.cc:132:96: warning: ‘bool v8::Object::ForceSet(v8::Local, v8::Local, v8::PropertyAttribute)’ is deprecated: Use CreateDataProperty / DefineOwnProperty [-Wdeprecated-declarations]
orceSet(Nan::New("filename").ToLocalChecked(), info[0].As(), ReadOnly);
^
In file included from /home/pi/.node-gyp/8.9.3/include/node/v8.h:26:0,
from /home/pi/.node-gyp/8.9.3/include/node/node.h:63,
from ../node_modules/nan/nan.h:47,
from ../src/database.h:10,
from ../src/database.cc:4:
/home/pi/.node-gyp/8.9.3/include/node/v8.h:3100:22: note: declared here
bool ForceSet(Local key, Local value,
^
/home/pi/.node-gyp/8.9.3/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
~~~
../src/database.cc:133:86: warning: ‘bool v8::Object::ForceSet(v8::Local, v8::Local, v8::PropertyAttribute)’ is deprecated: Use CreateDataProperty / DefineOwnProperty [-Wdeprecated-declarations]
.This()->ForceSet(Nan::New("mode").ToLocalChecked(), Nan::New(mode), ReadOnly);
^
In file included from /home/pi/.node-gyp/8.9.3/include/node/v8.h:26:0,
from /home/pi/.node-gyp/8.9.3/include/node/node.h:63,
from ../node_modules/nan/nan.h:47,
from ../src/database.h:10,
from ../src/database.cc:4:
/home/pi/.node-gyp/8.9.3/include/node/v8.h:3100:22: note: declared here
bool ForceSet(Local key, Local value,
^
/home/pi/.node-gyp/8.9.3/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~
../src/database.cc: In static member function ‘static void node_sqlite3::Database::Work_BeginOpen(node_sqlite3::Database::Baton)’:
../src/database.cc:143:9: warning: unused variable ‘status’ [-Wunused-variable]
int status = uv_queue_work(uv_default_loop(),
^
~
../src/database.cc: In static member function ‘static void node_sqlite3::Database::Work_BeginClose(node_sqlite3::Database::Baton
)’:
../src/database.cc:227:9: warning: unused variable ‘status’ [-Wunused-variable]
int status = uv_queue_work(uv_default_loop(),
^
~
../src/database.cc: In static member function ‘static void node_sqlite3::Database::Work_BeginExec(node_sqlite3::Database::Baton)’:
../src/database.cc:505:9: warning: unused variable ‘status’ [-Wunused-variable]
int status = uv_queue_work(uv_default_loop(),
^
~
../src/database.cc: In static member function ‘static void node_sqlite3::Database::Work_BeginLoadExtension(node_sqlite3::Database::Baton
)’:
../src/database.cc:605:9: warning: unused variable ‘status’ [-Wunused-variable]
int status = uv_queue_work(uv_default_loop(),
^
~
CXX(target) Release/obj.target/node_sqlite3/src/node_sqlite3.o
CXX(target) Release/obj.target/node_sqlite3/src/statement.o
../src/statement.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE node_sqlite3::Statement::New(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/statement.cc:103:74: warning: ‘bool v8::Object::ForceSet(v8::Local, v8::Local, v8::PropertyAttribute)’ is deprecated: Use CreateDataProperty / DefineOwnProperty [-Wdeprecated-declarations]
info.This()->ForceSet(Nan::New("sql").ToLocalChecked(), sql, ReadOnly);
^
In file included from /home/pi/.node-gyp/8.9.3/include/node/v8.h:26:0,
from /home/pi/.node-gyp/8.9.3/include/node/node.h:63,
from ../src/statement.cc:2:
/home/pi/.node-gyp/8.9.3/include/node/v8.h:3100:22: note: declared here
bool ForceSet(Local key, Local value,
^
/home/pi/.node-gyp/8.9.3/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
~~~
../src/statement.cc: In static member function ‘static void node_sqlite3::Statement::Work_BeginPrepare(node_sqlite3::Database::Baton)’:
../src/statement.cc:118:9: warning: unused variable ‘status’ [-Wunused-variable]
int status = uv_queue_work(uv_default_loop(),
^~
In file included from ../src/statement.cc:6:0:
../src/statement.cc: In static member function ‘static void node_sqlite3::Statement::Work_BeginBind(node_sqlite3::Statement::Baton
)’:
../src/macros.h:125:9: warning: unused variable ‘status’ [-Wunused-variable]
int status = uv_queue_work(uv_default_loop(), \
^
../src/statement.cc:322:5: note: in expansion of macro ‘STATEMENT_BEGIN’
STATEMENT_BEGIN(Bind);
^~~~~
../src/statement.cc: In static member function ‘static void node_sqlite3::Statement::Work_BeginGet(node_sqlite3::Statement::Baton)’:
../src/macros.h:125:9: warning: unused variable ‘status’ [-Wunused-variable]
int status = uv_queue_work(uv_default_loop(), \
^
../src/statement.cc:370:5: note: in expansion of macro ‘STATEMENT_BEGIN’
STATEMENT_BEGIN(Get);
^
~~~~
../src/statement.cc: In static member function ‘static void node_sqlite3::Statement::Work_BeginRun(node_sqlite3::Statement::Baton
)’:
../src/macros.h:125:9: warning: unused variable ‘status’ [-Wunused-variable]
int status = uv_queue_work(uv_default_loop(), \
^
../src/statement.cc:438:5: note: in expansion of macro ‘STATEMENT_BEGIN’
STATEMENT_BEGIN(Run);
^~~~~
../src/statement.cc: In static member function ‘static void node_sqlite3::Statement::Work_BeginAll(node_sqlite3::Statement::Baton)’:
../src/macros.h:125:9: warning: unused variable ‘status’ [-Wunused-variable]
int status = uv_queue_work(uv_default_loop(), \
^
../src/statement.cc:504:5: note: in expansion of macro ‘STATEMENT_BEGIN’
STATEMENT_BEGIN(All);
^
~~~~
../src/statement.cc: In static member function ‘static void node_sqlite3::Statement::Work_BeginEach(node_sqlite3::Statement::Baton
)’:
../src/macros.h:125:9: warning: unused variable ‘status’ [-Wunused-variable]
int status = uv_queue_work(uv_default_loop(), \
^
../src/statement.cc:601:5: note: in expansion of macro ‘STATEMENT_BEGIN’
STATEMENT_BEGIN(Each);
^~~~~
../src/statement.cc: In static member function ‘static void node_sqlite3::Statement::Work_BeginReset(node_sqlite3::Statement::Baton*)’:
../src/macros.h:125:9: warning: unused variable ‘status’ [-Wunused-variable]
int status = uv_queue_work(uv_default_loop(), \
^
../src/statement.cc:724:5: note: in expansion of macro ‘STATEMENT_BEGIN’
STATEMENT_BEGIN(Reset);
^
~~~~
SOLINK_MODULE(target) Release/obj.target/node_sqlite3.node
COPY Release/node_sqlite3.node
COPY /home/pi/gekko/node_modules/sqlite3/lib/binding/node-v57-linux-arm/node_sqlite3.node
TOUCH Release/obj.target/action_after_build.stamp
make: Leaving directory '/home/pi/gekko/node_modules/sqlite3/build'
node-pre-gyp info ok

Most helpful comment

@gekkotrader and anyone else who might have the same problem, I think I've found a solution:

  1. Navigate to the gekko install dir
  2. Make sure you have the permissions set properly, if you're running as pi user (which you should, running as root is not recommended). To set user permissions run: chown -R pi:pi . This is particularly important on the node_modules directory or the install of sqlite3 may fail.
  3. Build sqlite3 from source, still in the gekko install dir, run: npm i sqlite3 --build-from-source

After that, fire up gekko again: node gekko --ui and your imports should be working.
Hope it helps.

All 4 comments

You need to update your version of node, you are too far out of date.

+1 on this problem. Attempting to install on my Raspberry Pi Model B.
Gekko version: v0.5.12
Nodejs version: v8.9.4
Stuck in the exact same place as @gekkotrader with failed imports due to sqlite3 cannot be installed with npm.

@gekkotrader and anyone else who might have the same problem, I think I've found a solution:

  1. Navigate to the gekko install dir
  2. Make sure you have the permissions set properly, if you're running as pi user (which you should, running as root is not recommended). To set user permissions run: chown -R pi:pi . This is particularly important on the node_modules directory or the install of sqlite3 may fail.
  3. Build sqlite3 from source, still in the gekko install dir, run: npm i sqlite3 --build-from-source

After that, fire up gekko again: node gekko --ui and your imports should be working.
Hope it helps.

Thank you @aaslun ! Your fix worked for me as well.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

clownfish44 picture clownfish44  Â·  3Comments

GiordanoFlorian picture GiordanoFlorian  Â·  4Comments

Oowii picture Oowii  Â·  4Comments

ChadTaljaardt picture ChadTaljaardt  Â·  5Comments

rcoenen picture rcoenen  Â·  3Comments