Describe the bug
After running the create command cubejs create cubejs-jdbc -d jdbc the build fails during the phase "Installing DB driver dependencies".
Full log: 2020-11-02_jdbc.log
Log snippet:
[email protected] install /home/allu/dev/cubejs-jdbc/node_modules/java
> node-gyp rebuild
make: Entering directory '/home/allu/dev/cubejs-jdbc/node_modules/java/build'
CXX(target) Release/obj.target/nodejavabridge_bindings/src/java.o
In file included from ../../nan/nan_converters.h:67,
from ../../nan/nan.h:221,
from ../src/java.h:9,
from ../src/java.cpp:1:
../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ToFactoryBase<v8::Boolean>::return_t Nan::imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value>)’:
../../nan/nan_converters_43_inl.h:18:49: error: cannot convert ‘v8::Local<v8::Context>’ to ‘v8::Isolate*’
18 | val->To ## TYPE(isolate->GetCurrentContext()) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~
| |
| v8::Local<v8::Context>
To Reproduce
Run the CLI command cubejs create cubejs-jdbc -d jdbc.
Expected behavior
The JDBC driver is installed.
Screenshots
Version:
0.21.1
Additional context
$ node -v
v14.4.0
$ npm -v
6.14.5
$ python --version
Python 2.7.18
$ mvn -v
Apache Maven 3.6.3 (NON-CANONICAL_2019-11-27T20:26:29Z_root)
Maven home: /opt/maven
Java version: 11.0.8, vendor: N/A, runtime: /usr/lib/jvm/java-11-openjdk
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.8.16-2-manjaro", arch: "amd64", family: "unix"
In fact, I cannot install @cubejs-backend/[email protected] at all. A workaround I found was to patch node-java with the version 0.12.1 in package.json, but this is of course very hacky and only works with yarn:
"dependencies": {
"@cubejs-backend/jdbc-driver": "0.21.1",
"@cubejs-backend/server": "0.21.1"
},
"resolutions": {
"@cubejs-backend/jdbc-driver/jdbc/java": "0.12.1"
}
I noticed the newest version of the jdbc npm package ([email protected]) already uses [email protected], but @cubejs-backend/[email protected] uses [email protected].
Hello @LexLuengas,
The JDBC driver is outdated and ignored on our CI because it's working on Node.js <= 8. It requires migration from one JDBC vendor to another because the current one is outdated and not supported.
Thanks
Thank you very much.