ExpoSEJS / ExpoSE

A Dynamic Symbolic Execution (DSE) engine for JavaScript. ExpoSE is highly scalable, compatible with recent JavaScript standards, and supports symbolic modelling of strings and regular expressions.
MIT License
183 stars 36 forks source link

Permission denied for z3javascript #106

Closed sobhansaf closed 3 years ago

sobhansaf commented 3 years ago

Hi. I am trying to run ExpoSE to analyze some javascript codes. After running npm install, I got some errors:

npm WARN deprecated typings@2.1.1: Typings is deprecated in favor of NPM @types -- see README for more information
npm WARN deprecated popsicle-proxy-agent@3.0.0: Use `agent` option with `popsicle` directly
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated

> expose@1.0.0 postinstall /home/sobhan/ExpoSE
> ./scripts/setup/setup

Setting up for Node
v10.22.0
Setting Up Packages
Cleaning lib/S$
Setting up lib/S$
Pulling Dependencies
npm WARN SDollar@0.0.1 No repository field.
npm WARN SDollar@0.0.1 license should be a valid SPDX license expression

up to date in 1.614s
found 0 vulnerabilities

Cleaning lib/Stats
Setting up lib/Stats
Pulling Dependencies
npm WARN Stats@0.0.5 No description
npm WARN Stats@0.0.5 No repository field.
npm WARN Stats@0.0.5 No license field.

up to date in 1.419s
found 0 vulnerabilities

Cleaning Analyser
Setting up Analyser
Pulling Dependencies
npm WARN deprecated babel-preset-es2015@6.24.1: 🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!
npm WARN deprecated babel-preset-es2017@6.24.1: 🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!
npm WARN deprecated mkdirp@0.5.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated datatables@1.10.6: This NPM package for DataTables has now been deprecated and the 'datatables.net' set of packages should be used in preference to this one. Please see the NPM installation guide for DataTables for more details: https://datatables.net/download/npm.
npm WARN deprecated core-js@2.6.12: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated natives@1.1.6: This module relies on Node.js's internals and will break at some point. Do not use it, and update to graceful-fs@4.x.

> core-js@2.6.12 postinstall /home/sobhan/ExpoSE/Analyser/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 
> https://opencollective.com/core-js 
> https://www.patreon.com/zloirock 

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

> ExpoSE@0.0.2 postinstall /home/sobhan/ExpoSE/Analyser
> ./scripts/postinstall

npm WARN deprecated datatables@1.10.6: This NPM package for DataTables has now been deprecated and the 'datatables.net' set of packages should be used in preference to this one. Please see the NPM installation guide for DataTables for more details: https://datatables.net/download/npm.
npm WARN deprecated babel-preset-es2017@6.24.1: 🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!
npm WARN deprecated mkdirp@0.5.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated babel-preset-es2015@6.24.1: 🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!
npm WARN deprecated natives@1.1.6: This module relies on Node.js's internals and will break at some point. Do not use it, and update to graceful-fs@4.x.
npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated to-iso-string@0.0.2: to-iso-string has been deprecated, use @segment/to-iso-string instead.
npm WARN deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated core-js@2.6.12: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated mkdirp@0.3.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)

> core-js@2.6.12 postinstall /home/sobhan/ExpoSE/Analyser/node_modules/jalangi2/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

npm notice created a lockfile as package-lock.json. You should commit this file.
added 148 packages from 875 contributors and audited 149 packages in 10.057s

2 packages are looking for funding
  run `npm fund` for details

found 15 vulnerabilities (3 low, 6 moderate, 5 high, 1 critical)
  run `npm audit fix` to fix them, or `npm audit` for details
Cloning into 'node_modules/z3javascript'...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
npm ERR! code ELIFECYCLE
npm ERR! errno 128
npm ERR! ExpoSE@0.0.2 postinstall: `./scripts/postinstall`
npm ERR! Exit status 128
npm ERR! 
npm ERR! Failed at the ExpoSE@0.0.2 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/sobhan/.npm/_logs/2021-04-21T05_05_25_690Z-debug.log
Cleaning Tester
Setting up Tester
Pulling Dependencies

> core-js@2.6.12 postinstall /home/sobhan/ExpoSE/Tester/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

npm WARN Tester@0.0.1 No repository field.
npm WARN Tester@0.0.1 license should be a valid SPDX license expression
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 334 packages from 128 contributors and audited 338 packages in 5.626s

2 packages are looking for funding
  run `npm fund` for details

found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details
Cleaning Distributor
Setting up Distributor
Pulling Dependencies
npm WARN Distributor@0.0.1 No repository field.
npm WARN Distributor@0.0.1 license should be a valid SPDX license expression

added 17 packages from 14 contributors and audited 17 packages in 1.659s

2 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

Cleaning Dashboard
Setting up Dashboard
Pulling Dependencies

> core-js@3.10.0 postinstall /home/sobhan/ExpoSE/Dashboard/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

> electron@9.4.4 postinstall /home/sobhan/ExpoSE/Dashboard/node_modules/electron
> node install.js

npm WARN expose-dashboard@1.0.0 No description
npm WARN expose-dashboard@1.0.0 No repository field.
npm WARN expose-dashboard@1.0.0 No license field.

added 96 packages from 100 contributors and audited 96 packages in 8.708s

6 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

Cleaning Browser
Setting up Browser
Pulling Dependencies

> electron@2.0.18 postinstall /home/sobhan/ExpoSE/Browser/node_modules/electron
> node install.js

npm WARN browser@1.0.0 No repository field.

added 154 packages from 136 contributors and audited 154 packages in 7.349s

6 packages are looking for funding
  run `npm fund` for details

found 1 moderate severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details
Building Analyser

/home/sobhan/ExpoSE/.eslintrc.json
  0:0  warning  File ignored by default.  Use a negated ignore pattern (like "--ignore-pattern '!<relative/path/to/filename>'") to override

/home/sobhan/ExpoSE/Distributor/src/Spawn.js
  99:21  warning  Unnecessary escape character: \/  no-useless-escape

✖ 2 problems (0 errors, 2 warnings)

Building Libs
Successfully compiled 1 file with Babel (476ms).
Building Distributor
Successfully compiled 15 files with Babel (969ms).
Building Analyser
Successfully compiled 24 files with Babel (1644ms).
Building into
Bundling Analyser/bin/Analyser.js into bin/bundle.js
Copying Analyser Dependencies to Browser
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.1 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN expose@1.0.0 No repository field.
npm WARN expose@1.0.0 No license field.

added 666 packages from 408 contributors and audited 667 packages in 269.489s

19 packages are looking for funding
  run `npm fund` for details

found 3 high severity vulnerabilities
  run `npm audit fix` to fix them, or `npm audit` for details

As it is seen in the output it seems, there are some problems with the z3javascript module. After installation first I set the environment variable EXPOSE_PRINT_PATHS to 1 and then I ran expoSE ./tests/numbers/infoflow. And then I got this error:

[+] ExpoSE /home/sobhan/ExpoSE/tests/numbers/infoflow concurrent: 4 timeout: 7200000 per-test: 2400000
[\] [0 done /0 queued / 1 running / 0 errors / 0% coverage ] ***(node:2067) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module 'z3javascript'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/home/sobhan/ExpoSE/Analyser/bin/SymbolicState.js:26:44)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
[|] [1 done /0 queued / 0 running / 1 errors / 0% coverage ] ***
[+] {"_bound":0} took 0.429s
[!] Exception E: SyntaxError: Unexpected end of JSON input of test data on 
[!] Exception E: SyntaxError: Unexpected end of JSON input of coverage data on 
[!] Exit code non-zero
[!] Error extracting final output - a fatal error must have occured
[!] expoSE replay /home/sobhan/ExpoSE/tests/numbers/infoflow '{"_bound":0}'
[!] Stats
[!] Done
[+] Total Lines Of Code 0
[+] Total Coverage: NaN%
[+] EXPOSE_PRINT_COVERAGE=1 for line by line breakdown
[+] ExpoSE Finished. 1 paths, 1 errors

I also tried to clone z3javascript manually. To do that I ran these commands:

cd node_modules/         # ~/ExpoSE/node_modules
git clone https://github.com/ExpoSEJS/z3javascript.git
cd z3javascript/         # ~/ExpoSE/node_modules/z3javascript
npm install
cp -r node_modules/* ..  # copying modules to ~/ExpoSE/node_modules/
cd ../..                 # ~/ExpoSE
./expoSE ./tests/numbers/infoflow

And this time I got this error message:

[+] ExpoSE /home/sobhan/ExpoSE/tests/numbers/infoflow concurrent: 4 timeout: 7200000 per-test: 2400000
[\] [0 done /0 queued / 1 running / 0 errors / 0% coverage ] ***(node:3683) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
fs.js:114
    throw err;
    ^

Error: ENOENT: no such file or directory, open './node_modules/z3javascript/bin/libz3.so'
    at Object.openSync (fs.js:443:3)
    at readFileSync (fs.js:343:35)
    at new DynamicLibrary (/home/sobhan/ExpoSE/node_modules/z3javascript/node_modules/ffi/lib/dynamic_library.js:67:21)
    at Object.Library (/home/sobhan/ExpoSE/node_modules/z3javascript/node_modules/ffi/lib/library.js:45:12)
    at module.exports (/home/sobhan/ExpoSE/node_modules/z3javascript/bin/package.js:78:14)
    at Object.<anonymous> (/home/sobhan/ExpoSE/node_modules/z3javascript/bin/Z3Loader.js:15:16)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
[|] [1 done /0 queued / 0 running / 1 errors / 0% coverage ] ***
[+] {"_bound":0} took 0.474s
[!] Exception E: SyntaxError: Unexpected end of JSON input of coverage data on 
[!] Exception E: SyntaxError: Unexpected end of JSON input of test data on 
[!] Exit code non-zero
[!] Error extracting final output - a fatal error must have occured
[!] expoSE replay /home/sobhan/ExpoSE/tests/numbers/infoflow '{"_bound":0}'
[!] Stats
[!] Done
[+] Total Lines Of Code 0
[+] Total Coverage: NaN%
[+] EXPOSE_PRINT_COVERAGE=1 for line by line breakdown
[+] ExpoSE Finished. 1 paths, 1 errors

Would you please help me with how to make this work?

jawline commented 3 years ago

My guess is that you are using HTTPS auth rather than ssh auth. My postinstall script relies on git clone with an SSH URL - could you try adding an ssh key to your laptop that will work with GitHub and then rerunning?

sobhansaf commented 3 years ago

I added an ssh key. This time when running npm install I got no errors. But still, there are some errors when running ./expoSE ./tests/numbers/infoflow. I also set EXPOSE_LOG_LEVEL to 3.

/home/sobhan/ExpoSE/.eslintrc.json
  0:0  warning  File ignored by default.  Use a negated ignore pattern (like "--ignore-pattern '!<relative/path/to/filename>'") to override

/home/sobhan/ExpoSE/Distributor/src/Spawn.js
  99:21  warning  Unnecessary escape character: \/  no-useless-escape

✖ 2 problems (0 errors, 2 warnings)

Building Libs
Successfully compiled 1 file with Babel (507ms).
Building Distributor
Successfully compiled 15 files with Babel (4637ms).
Building Analyser
Successfully compiled 24 files with Babel (4685ms).
Building into
Bundling Analyser/bin/Analyser.js into bin/bundle.js
[+] ExpoSE /home/sobhan/ExpoSE/tests/numbers/infoflow.js concurrent: 4 timeout: 7200000 per-test: 2400000
[\] [0 done /0 queued / 1 running / 0 errors / 0% coverage ] ***(node:7812) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
fs.js:114
    throw err;
    ^

Error: ENOENT: no such file or directory, open './node_modules/z3javascript/bin/libz3.so'
    at Object.openSync (fs.js:443:3)
    at readFileSync (fs.js:343:35)
    at new DynamicLibrary (/home/sobhan/ExpoSE/Analyser/node_modules/z3javascript/node_modules/ffi/lib/dynamic_library.js:67:21)
    at Object.Library (/home/sobhan/ExpoSE/Analyser/node_modules/z3javascript/node_modules/ffi/lib/library.js:45:12)
    at module.exports (/home/sobhan/ExpoSE/Analyser/node_modules/z3javascript/bin/package.js:78:14)
    at Object.<anonymous> (/home/sobhan/ExpoSE/Analyser/node_modules/z3javascript/bin/Z3Loader.js:15:16)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
[|] [1 done /0 queued / 0 running / 1 errors / 0% coverage ] ***
[+] {"_bound":0} took 0.498s
[!] Exception E: SyntaxError: Unexpected end of JSON input of test data on 
[!] Exception E: SyntaxError: Unexpected end of JSON input of coverage data on 
[!] Exit code non-zero
[!] Error extracting final output - a fatal error must have occured
[!] expoSE replay '/home/sobhan/ExpoSE/tests/numbers/infoflow.js' '{"_bound":0}'
[!] Stats
[!] Done
[+] Total Lines Of Code 0
[+] Total Coverage: NaN%
[+] EXPOSE_PRINT_COVERAGE=1 for line by line breakdown
[+] ExpoSE Finished. 1 paths, 1 errors
jawline commented 3 years ago

Ah this is progress, I suspect now Z3 is failing to compile.

Since we require a specific version of Z3 we actually build it from source on the npm install, it's quite likely a missing dependency like build-essential or clang. Could you give me the new output of the npm install, you might need to delete the Analyzer/node_modules/ folder so that it tries to rebuild.

sobhansaf commented 3 years ago

I checked for clang and build-essential. Both of them are installed. After deleting node_modules and Analyzer/node_modules/ and running npm install:

npm WARN deprecated typings@2.1.1: Typings is deprecated in favor of NPM @types -- see README for more information
npm WARN deprecated popsicle-proxy-agent@3.0.0: Use `agent` option with `popsicle` directly
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated

> expose@1.0.0 postinstall /home/sobhan/ExpoSE
> ./scripts/setup/setup

Setting up for Node
v10.22.0
Setting Up Packages
Cleaning lib/S$
Setting up lib/S$
Pulling Dependencies
npm WARN SDollar@0.0.1 No repository field.
npm WARN SDollar@0.0.1 license should be a valid SPDX license expression

up to date in 1.449s
found 0 vulnerabilities

Cleaning lib/Stats
Setting up lib/Stats
Pulling Dependencies
npm WARN Stats@0.0.5 No description
npm WARN Stats@0.0.5 No repository field.
npm WARN Stats@0.0.5 No license field.

up to date in 1.554s
found 0 vulnerabilities

Cleaning Analyser
Setting up Analyser
Pulling Dependencies

> core-js@2.6.12 postinstall /home/sobhan/ExpoSE/Analyser/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 
> https://opencollective.com/core-js 
> https://www.patreon.com/zloirock 

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

> ExpoSE@0.0.2 postinstall /home/sobhan/ExpoSE/Analyser
> ./scripts/postinstall

npm WARN deprecated babel-preset-es2017@6.24.1: 🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!
npm WARN deprecated datatables@1.10.6: This NPM package for DataTables has now been deprecated and the 'datatables.net' set of packages should be used in preference to this one. Please see the NPM installation guide for DataTables for more details: https://datatables.net/download/npm.
npm WARN deprecated babel-preset-es2015@6.24.1: 🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!
npm WARN deprecated mkdirp@0.5.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated to-iso-string@0.0.2: to-iso-string has been deprecated, use @segment/to-iso-string instead.
npm WARN deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated mkdirp@0.3.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated core-js@2.6.12: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated natives@1.1.6: This module relies on Node.js's internals and will break at some point. Do not use it, and update to graceful-fs@4.x.

> core-js@2.6.12 postinstall /home/sobhan/ExpoSE/Analyser/node_modules/jalangi2/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

npm notice created a lockfile as package-lock.json. You should commit this file.
added 148 packages from 875 contributors and audited 149 packages in 7.11s

2 packages are looking for funding
  run `npm fund` for details

found 15 vulnerabilities (3 low, 6 moderate, 5 high, 1 critical)
  run `npm audit fix` to fix them, or `npm audit` for details
Cloning into 'node_modules/z3javascript'...
remote: Enumerating objects: 4053, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 4053 (delta 1), reused 4 (delta 1), pack-reused 4043
Receiving objects: 100% (4053/4053), 37.71 MiB | 2.71 MiB/s, done.
Resolving deltas: 100% (1798/1798), done.
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated

> ref@1.3.5 install /home/sobhan/ExpoSE/Analyser/node_modules/z3javascript/node_modules/ref
> node-gyp rebuild

make: Entering directory '/home/sobhan/ExpoSE/Analyser/node_modules/z3javascript/node_modules/ref/build'
  CXX(target) Release/obj.target/binding/src/binding.o
../src/binding.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE {anonymous}::WriteObject(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/binding.cc:229:54: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class Nan::Persistent<v8::Object>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
  229 |     memcpy(pptr, &p2, sizeof(Nan::Persistent<Object>));
      |                                                      ^
In file included from ../../nan/nan.h:405,
                 from ../src/binding.cc:7:
../../nan/nan_persistent_12_inl.h:12:40: note: ‘class Nan::Persistent<v8::Object>’ declared here
   12 | template<typename T, typename M> class Persistent :
      |                                        ^~~~~~~~~~
../src/binding.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE {anonymous}::ReadPointer(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/binding.cc:253:38: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  253 |   size_t size = info[2]->Uint32Value();
      |                                      ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:26,
                 from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/binding.cc:5:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:2477:47: note: declared here
 2477 |   V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
      |                                               ^~~~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
  324 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/binding.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE {anonymous}::WriteInt64(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/binding.cc:360:30: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
  360 |     String::Utf8Value _str(in);
      |                              ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:26,
                 from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/binding.cc:5:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:2892:28: note: declared here
 2892 |                   explicit Utf8Value(Local<v8::Value> obj));
      |                            ^~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
  324 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/binding.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE {anonymous}::WriteUInt64(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/binding.cc:447:30: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
  447 |     String::Utf8Value _str(in);
      |                              ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:26,
                 from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/binding.cc:5:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:2892:28: note: declared here
 2892 |                   explicit Utf8Value(Local<v8::Value> obj));
      |                            ^~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
  324 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/binding.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE {anonymous}::ReinterpretBuffer(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/binding.cc:521:38: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  521 |   size_t size = info[1]->Uint32Value();
      |                                      ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:26,
                 from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/binding.cc:5:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:2477:47: note: declared here
 2477 |   V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
      |                                               ^~~~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
  324 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/binding.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE {anonymous}::ReinterpretBufferUntilZeros(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/binding.cc:550:44: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  550 |   uint32_t numZeros = info[1]->Uint32Value();
      |                                            ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:26,
                 from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/binding.cc:5:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:2477:47: note: declared here
 2477 |   V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
      |                                               ^~~~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
  324 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/binding.cc: In function ‘void init(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’:
../src/binding.cc:643:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  643 |   Nan::ForceSet(target, Nan::New<v8::String>("endianness").ToLocalChecked(), Nan::New<v8::String>(CheckEndianness()).ToLocalChecked(), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
      |        ^~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/binding.cc:7:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/binding.cc:643:187: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  643 |   Nan::ForceSet(target, Nan::New<v8::String>("endianness").ToLocalChecked(), Nan::New<v8::String>(CheckEndianness()).ToLocalChecked(), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
      |                                                                                                                                                                                           ^
In file included from ../../nan/nan.h:284,
                 from ../src/binding.cc:7:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/binding.cc:643:187: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  643 |   Nan::ForceSet(target, Nan::New<v8::String>("endianness").ToLocalChecked(), Nan::New<v8::String>(CheckEndianness()).ToLocalChecked(), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
      |                                                                                                                                                                                           ^
In file included from ../../nan/nan.h:284,
                 from ../src/binding.cc:7:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/binding.cc:644:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  644 |   Nan::ForceSet(target, Nan::New<v8::String>("NULL").ToLocalChecked(), WrapNullPointer(), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
      |        ^~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/binding.cc:7:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/binding.cc:644:142: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  644 |   Nan::ForceSet(target, Nan::New<v8::String>("NULL").ToLocalChecked(), WrapNullPointer(), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
      |                                                                                                                                              ^
In file included from ../../nan/nan.h:284,
                 from ../src/binding.cc:7:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/binding.cc:644:142: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  644 |   Nan::ForceSet(target, Nan::New<v8::String>("NULL").ToLocalChecked(), WrapNullPointer(), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
      |                                                                                                                                              ^
In file included from ../../nan/nan.h:284,
                 from ../src/binding.cc:7:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
In file included from ../src/binding.cc:5:
../src/binding.cc: At global scope:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:573:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
  573 |       (node::addon_register_func) (regfunc),                          \
      |                                           ^
/home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:607:3: note: in expansion of macro ‘NODE_MODULE_X’
  607 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../src/binding.cc:660:1: note: in expansion of macro ‘NODE_MODULE’
  660 | NODE_MODULE(binding, init);
      | ^~~~~~~~~~~
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/binding.cc:5:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/node_object_wrap.h:84:78:   required from here
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
 9502 |                reinterpret_cast<Callback>(callback), type);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../nan/nan_object_wrap.h:65:61:   required from here
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
In file included from ../../nan/nan.h:2790,
                 from ../src/binding.cc:7:
../../nan/nan_weak.h: In instantiation of ‘Nan::WeakCallbackInfo<P>::WeakCallbackInfo(Nan::Persistent<v8::Value>*, Nan::WeakCallbackInfo<P>::Callback, void*, void*, void*) [with T = void; Nan::WeakCallbackInfo<P>::Callback = void (*)(const Nan::WeakCallbackInfo<void>&)]’:
../../nan/nan_weak.h:264:12:   required from ‘void Nan::Persistent<T, M>::SetWeak(P*, typename Nan::WeakCallbackInfo<P>::Callback, Nan::WeakCallbackType) [with P = void; T = v8::Object; M = v8::NonCopyablePersistentTraits<v8::Object>; typename Nan::WeakCallbackInfo<P>::Callback = void (*)(const Nan::WeakCallbackInfo<void>&); Nan::WeakCallbackType = v8::WeakCallbackType]’
../src/binding.cc:228:77:   required from here
../../nan/nan_weak.h:58:16: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class v8::Persistent<v8::Value>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
   58 |     std::memcpy(&persistent_, persistent, sizeof (v8::Persistent<v8::Value>));
      |     ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/binding.cc:5:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:685:35: note: ‘class v8::Persistent<v8::Value>’ declared here
  685 | template <class T, class M> class Persistent : public PersistentBase<T> {
      |                                   ^~~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::WeakCallbackInfo<void>; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::WeakCallbackInfo<void> >&)]’:
../../nan/nan_weak.h:268:35:   required from ‘void Nan::Persistent<T, M>::SetWeak(P*, typename Nan::WeakCallbackInfo<P>::Callback, Nan::WeakCallbackType) [with P = void; T = v8::Object; M = v8::NonCopyablePersistentTraits<v8::Object>; typename Nan::WeakCallbackInfo<P>::Callback = void (*)(const Nan::WeakCallbackInfo<void>&); Nan::WeakCallbackType = v8::WeakCallbackType]’
../src/binding.cc:228:77:   required from here
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::WeakCallbackInfo<void> >::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::WeakCallbackInfo<void> >&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
 9502 |                reinterpret_cast<Callback>(callback), type);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./Release/.deps/Release/obj.target/binding/src/binding.o.d.raw Stats {
  dev: 2053,
  mode: 33204,
  nlink: 1,
  uid: 1000,
  gid: 1000,
  rdev: 0,
  blksize: 4096,
  ino: 176646,
  size: 1499,
  blocks: 8,
  atimeMs: 1618993769000,
  mtimeMs: 1618993769000,
  ctimeMs: 1618993769753.448,
  birthtimeMs: 1618993769673.4478,
  atime: 2021-04-21T08:29:29.000Z,
  mtime: 2021-04-21T08:29:29.000Z,
  ctime: 2021-04-21T08:29:29.753Z,
  birthtime: 2021-04-21T08:29:29.673Z }
  SOLINK_MODULE(target) Release/obj.target/binding.node
  COPY Release/binding.node
make: Leaving directory '/home/sobhan/ExpoSE/Analyser/node_modules/z3javascript/node_modules/ref/build'

> ffi@2.3.0 install /home/sobhan/ExpoSE/Analyser/node_modules/z3javascript/node_modules/ffi
> node-gyp rebuild

make: Entering directory '/home/sobhan/ExpoSE/Analyser/node_modules/z3javascript/node_modules/ffi/build'
  CC(target) Release/obj.target/ffi/deps/libffi/src/prep_cif.o
./Release/.deps/Release/obj.target/ffi/deps/libffi/src/prep_cif.o.d.raw Stats {
  dev: 2053,
  mode: 33204,
  nlink: 1,
  uid: 1000,
  gid: 1000,
  rdev: 0,
  blksize: 4096,
  ino: 574481,
  size: 255,
  blocks: 8,
  atimeMs: 1618993770000,
  mtimeMs: 1618993770000,
  ctimeMs: 1618993770549.45,
  birthtimeMs: 1618993770481.45,
  atime: 2021-04-21T08:29:30.000Z,
  mtime: 2021-04-21T08:29:30.000Z,
  ctime: 2021-04-21T08:29:30.549Z,
  birthtime: 2021-04-21T08:29:30.481Z }
  CC(target) Release/obj.target/ffi/deps/libffi/src/types.o
./Release/.deps/Release/obj.target/ffi/deps/libffi/src/types.o.d.raw Stats {
  dev: 2053,
  mode: 33204,
  nlink: 1,
  uid: 1000,
  gid: 1000,
  rdev: 0,
  blksize: 4096,
  ino: 574481,
  size: 249,
  blocks: 8,
  atimeMs: 1618993770000,
  mtimeMs: 1618993770000,
  ctimeMs: 1618993770669.4504,
  birthtimeMs: 1618993770585.4502,
  atime: 2021-04-21T08:29:30.000Z,
  mtime: 2021-04-21T08:29:30.000Z,
  ctime: 2021-04-21T08:29:30.669Z,
  birthtime: 2021-04-21T08:29:30.585Z }
  CC(target) Release/obj.target/ffi/deps/libffi/src/raw_api.o
./Release/.deps/Release/obj.target/ffi/deps/libffi/src/raw_api.o.d.raw Stats {
  dev: 2053,
  mode: 33204,
  nlink: 1,
  uid: 1000,
  gid: 1000,
  rdev: 0,
  blksize: 4096,
  ino: 574481,
  size: 253,
  blocks: 8,
  atimeMs: 1618993770000,
  mtimeMs: 1618993770000,
  ctimeMs: 1618993770813.4507,
  birthtimeMs: 1618993770749.4504,
  atime: 2021-04-21T08:29:30.000Z,
  mtime: 2021-04-21T08:29:30.000Z,
  ctime: 2021-04-21T08:29:30.813Z,
  birthtime: 2021-04-21T08:29:30.749Z }
  CC(target) Release/obj.target/ffi/deps/libffi/src/java_raw_api.o
./Release/.deps/Release/obj.target/ffi/deps/libffi/src/java_raw_api.o.d.raw Stats {
  dev: 2053,
  mode: 33204,
  nlink: 1,
  uid: 1000,
  gid: 1000,
  rdev: 0,
  blksize: 4096,
  ino: 574481,
  size: 263,
  blocks: 8,
  atimeMs: 1618993770000,
  mtimeMs: 1618993770000,
  ctimeMs: 1618993770961.451,
  birthtimeMs: 1618993770897.451,
  atime: 2021-04-21T08:29:30.000Z,
  mtime: 2021-04-21T08:29:30.000Z,
  ctime: 2021-04-21T08:29:30.961Z,
  birthtime: 2021-04-21T08:29:30.897Z }
  CC(target) Release/obj.target/ffi/deps/libffi/src/closures.o
../deps/libffi/src/closures.c: In function ‘dlmmap_locked’:
../deps/libffi/src/closures.c:421:7: warning: ignoring return value of ‘ftruncate’, declared with attribute warn_unused_result [-Wunused-result]
  421 |       ftruncate (execfd, offset);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/libffi/src/closures.c:433:7: warning: ignoring return value of ‘ftruncate’, declared with attribute warn_unused_result [-Wunused-result]
  433 |       ftruncate (execfd, offset);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~
./Release/.deps/Release/obj.target/ffi/deps/libffi/src/closures.o.d.raw Stats {
  dev: 2053,
  mode: 33204,
  nlink: 1,
  uid: 1000,
  gid: 1000,
  rdev: 0,
  blksize: 4096,
  ino: 574481,
  size: 288,
  blocks: 8,
  atimeMs: 1618993771000,
  mtimeMs: 1618993771000,
  ctimeMs: 1618993771493.4524,
  birthtimeMs: 1618993771429.4521,
  atime: 2021-04-21T08:29:31.000Z,
  mtime: 2021-04-21T08:29:31.000Z,
  ctime: 2021-04-21T08:29:31.493Z,
  birthtime: 2021-04-21T08:29:31.429Z }
  CC(target) Release/obj.target/ffi/deps/libffi/src/x86/ffi.o
./Release/.deps/Release/obj.target/ffi/deps/libffi/src/x86/ffi.o.d.raw Stats {
  dev: 2053,
  mode: 33204,
  nlink: 1,
  uid: 1000,
  gid: 1000,
  rdev: 0,
  blksize: 4096,
  ino: 1217119,
  size: 82,
  blocks: 8,
  atimeMs: 1618993771000,
  mtimeMs: 1618993771000,
  ctimeMs: 1618993771605.4526,
  birthtimeMs: 1618993771525.4524,
  atime: 2021-04-21T08:29:31.000Z,
  mtime: 2021-04-21T08:29:31.000Z,
  ctime: 2021-04-21T08:29:31.605Z,
  birthtime: 2021-04-21T08:29:31.525Z }
  CC(target) Release/obj.target/ffi/deps/libffi/src/x86/ffi64.o
../deps/libffi/src/x86/ffi64.c: In function ‘classify_argument’:
../deps/libffi/src/x86/ffi64.c:181:18: warning: suggest braces around empty body in an ‘else’ statement [-Wempty-body]
  181 |    FFI_ASSERT (0);
      |                  ^
../deps/libffi/src/x86/ffi64.c:156:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  156 |       {
      |       ^
../deps/libffi/src/x86/ffi64.c:183:5: note: here
  183 |     case FFI_TYPE_FLOAT:
      |     ^~~~
./Release/.deps/Release/obj.target/ffi/deps/libffi/src/x86/ffi64.o.d.raw Stats {
  dev: 2053,
  mode: 33204,
  nlink: 1,
  uid: 1000,
  gid: 1000,
  rdev: 0,
  blksize: 4096,
  ino: 1217119,
  size: 257,
  blocks: 8,
  atimeMs: 1618993771000,
  mtimeMs: 1618993771000,
  ctimeMs: 1618993771909.4534,
  birthtimeMs: 1618993771841.4531,
  atime: 2021-04-21T08:29:31.000Z,
  mtime: 2021-04-21T08:29:31.000Z,
  ctime: 2021-04-21T08:29:31.909Z,
  birthtime: 2021-04-21T08:29:31.841Z }
  CC(target) Release/obj.target/ffi/deps/libffi/src/x86/unix64.o
./Release/.deps/Release/obj.target/ffi/deps/libffi/src/x86/unix64.o.d.raw Stats {
  dev: 2053,
  mode: 33204,
  nlink: 1,
  uid: 1000,
  gid: 1000,
  rdev: 0,
  blksize: 4096,
  ino: 1217119,
  size: 223,
  blocks: 8,
  atimeMs: 1618993772000,
  mtimeMs: 1618993772000,
  ctimeMs: 1618993772013.4536,
  birthtimeMs: 1618993771933.4534,
  atime: 2021-04-21T08:29:32.000Z,
  mtime: 2021-04-21T08:29:32.000Z,
  ctime: 2021-04-21T08:29:32.013Z,
  birthtime: 2021-04-21T08:29:31.933Z }
  CC(target) Release/obj.target/ffi/deps/libffi/src/x86/sysv.o
./Release/.deps/Release/obj.target/ffi/deps/libffi/src/x86/sysv.o.d.raw Stats {
  dev: 2053,
  mode: 33204,
  nlink: 1,
  uid: 1000,
  gid: 1000,
  rdev: 0,
  blksize: 4096,
  ino: 1217119,
  size: 84,
  blocks: 8,
  atimeMs: 1618993772000,
  mtimeMs: 1618993772000,
  ctimeMs: 1618993772117.4539,
  birthtimeMs: 1618993772041.4536,
  atime: 2021-04-21T08:29:32.000Z,
  mtime: 2021-04-21T08:29:32.000Z,
  ctime: 2021-04-21T08:29:32.117Z,
  birthtime: 2021-04-21T08:29:32.041Z }
  AR(target) Release/obj.target/deps/libffi/libffi.a
  COPY Release/libffi.a
  CXX(target) Release/obj.target/ffi_bindings/src/ffi.o
../src/ffi.cc: In static member function ‘static void FFI::InitializeBindings(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’:
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   38 |   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
      |        ^~~~~~~~
../src/ffi.cc:58:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   58 |   SET_ENUM_VALUE(FFI_OK);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:58:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   58 |   SET_ENUM_VALUE(FFI_OK);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:58:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   58 |   SET_ENUM_VALUE(FFI_OK);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   38 |   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
      |        ^~~~~~~~
../src/ffi.cc:59:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   59 |   SET_ENUM_VALUE(FFI_BAD_TYPEDEF);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:59:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   59 |   SET_ENUM_VALUE(FFI_BAD_TYPEDEF);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:59:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   59 |   SET_ENUM_VALUE(FFI_BAD_TYPEDEF);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   38 |   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
      |        ^~~~~~~~
../src/ffi.cc:60:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   60 |   SET_ENUM_VALUE(FFI_BAD_ABI);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:60:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   60 |   SET_ENUM_VALUE(FFI_BAD_ABI);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:60:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   60 |   SET_ENUM_VALUE(FFI_BAD_ABI);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   38 |   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
      |        ^~~~~~~~
../src/ffi.cc:63:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   63 |   SET_ENUM_VALUE(FFI_DEFAULT_ABI);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:63:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   63 |   SET_ENUM_VALUE(FFI_DEFAULT_ABI);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:63:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   63 |   SET_ENUM_VALUE(FFI_DEFAULT_ABI);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   38 |   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
      |        ^~~~~~~~
../src/ffi.cc:64:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   64 |   SET_ENUM_VALUE(FFI_FIRST_ABI);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:64:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   64 |   SET_ENUM_VALUE(FFI_FIRST_ABI);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:64:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   64 |   SET_ENUM_VALUE(FFI_FIRST_ABI);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   38 |   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
      |        ^~~~~~~~
../src/ffi.cc:65:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   65 |   SET_ENUM_VALUE(FFI_LAST_ABI);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:65:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   65 |   SET_ENUM_VALUE(FFI_LAST_ABI);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:65:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   65 |   SET_ENUM_VALUE(FFI_LAST_ABI);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   38 |   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
      |        ^~~~~~~~
../src/ffi.cc:81:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   81 |   SET_ENUM_VALUE(FFI_SYSV);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:81:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   81 |   SET_ENUM_VALUE(FFI_SYSV);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:81:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   81 |   SET_ENUM_VALUE(FFI_SYSV);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   38 |   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
      |        ^~~~~~~~
../src/ffi.cc:83:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   83 |   SET_ENUM_VALUE(FFI_UNIX64);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:83:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   83 |   SET_ENUM_VALUE(FFI_UNIX64);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:83:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   83 |   SET_ENUM_VALUE(FFI_UNIX64);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   38 |   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
      |        ^~~~~~~~
../src/ffi.cc:88:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   88 |   SET_ENUM_VALUE(RTLD_LAZY);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:88:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   88 |   SET_ENUM_VALUE(RTLD_LAZY);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:88:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   88 |   SET_ENUM_VALUE(RTLD_LAZY);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   38 |   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
      |        ^~~~~~~~
../src/ffi.cc:91:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   91 |   SET_ENUM_VALUE(RTLD_NOW);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:91:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   91 |   SET_ENUM_VALUE(RTLD_NOW);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:91:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   91 |   SET_ENUM_VALUE(RTLD_NOW);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   38 |   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
      |        ^~~~~~~~
../src/ffi.cc:94:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   94 |   SET_ENUM_VALUE(RTLD_LOCAL);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:94:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   94 |   SET_ENUM_VALUE(RTLD_LOCAL);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:94:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   94 |   SET_ENUM_VALUE(RTLD_LOCAL);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   38 |   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
      |        ^~~~~~~~
../src/ffi.cc:97:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   97 |   SET_ENUM_VALUE(RTLD_GLOBAL);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:97:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   97 |   SET_ENUM_VALUE(RTLD_GLOBAL);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:97:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   97 |   SET_ENUM_VALUE(RTLD_GLOBAL);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   38 |   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
      |        ^~~~~~~~
../src/ffi.cc:100:3: note: in expansion of macro ‘SET_ENUM_VALUE’
  100 |   SET_ENUM_VALUE(RTLD_NOLOAD);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:100:3: note: in expansion of macro ‘SET_ENUM_VALUE’
  100 |   SET_ENUM_VALUE(RTLD_NOLOAD);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:100:3: note: in expansion of macro ‘SET_ENUM_VALUE’
  100 |   SET_ENUM_VALUE(RTLD_NOLOAD);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   38 |   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
      |        ^~~~~~~~
../src/ffi.cc:103:3: note: in expansion of macro ‘SET_ENUM_VALUE’
  103 |   SET_ENUM_VALUE(RTLD_NODELETE);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:103:3: note: in expansion of macro ‘SET_ENUM_VALUE’
  103 |   SET_ENUM_VALUE(RTLD_NODELETE);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   40 |   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
      |                                                      ^
../src/ffi.cc:103:3: note: in expansion of macro ‘SET_ENUM_VALUE’
  103 |   SET_ENUM_VALUE(RTLD_NODELETE);
      |   ^~~~~~~~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:111:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  111 |   Nan::ForceSet(target,Nan::New<String>("RTLD_NEXT").ToLocalChecked(), WrapPointer((char *)RTLD_NEXT), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |        ^~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:111:157: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  111 |   Nan::ForceSet(target,Nan::New<String>("RTLD_NEXT").ToLocalChecked(), WrapPointer((char *)RTLD_NEXT), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |                                                                                                                                                             ^
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:111:157: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  111 |   Nan::ForceSet(target,Nan::New<String>("RTLD_NEXT").ToLocalChecked(), WrapPointer((char *)RTLD_NEXT), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |                                                                                                                                                             ^
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:114:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  114 |   Nan::ForceSet(target,Nan::New<String>("RTLD_DEFAULT").ToLocalChecked(), WrapPointer((char *)RTLD_DEFAULT), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |        ^~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:114:163: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  114 |   Nan::ForceSet(target,Nan::New<String>("RTLD_DEFAULT").ToLocalChecked(), WrapPointer((char *)RTLD_DEFAULT), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |                                                                                                                                                                   ^
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:114:163: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  114 |   Nan::ForceSet(target,Nan::New<String>("RTLD_DEFAULT").ToLocalChecked(), WrapPointer((char *)RTLD_DEFAULT), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |                                                                                                                                                                   ^
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:123:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  123 |   Nan::ForceSet(target,Nan::New<String>("FFI_ARG_SIZE").ToLocalChecked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_arg)), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
      |        ^~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:123:171: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  123 |   Nan::ForceSet(target,Nan::New<String>("FFI_ARG_SIZE").ToLocalChecked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_arg)), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
      |                                                                                                                                                                           ^
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:123:171: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  123 |   Nan::ForceSet(target,Nan::New<String>("FFI_ARG_SIZE").ToLocalChecked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_arg)), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
      |                                                                                                                                                                           ^
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:124:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  124 |   Nan::ForceSet(target,Nan::New<String>("FFI_SARG_SIZE").ToLocalChecked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_sarg)), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |        ^~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:124:175: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  124 |   Nan::ForceSet(target,Nan::New<String>("FFI_SARG_SIZE").ToLocalChecked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_sarg)), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |                                                                                                                                                                               ^
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:124:175: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  124 |   Nan::ForceSet(target,Nan::New<String>("FFI_SARG_SIZE").ToLocalChecked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_sarg)), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |                                                                                                                                                                               ^
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:125:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  125 |   Nan::ForceSet(target,Nan::New<String>("FFI_TYPE_SIZE").ToLocalChecked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_type)), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |        ^~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:125:175: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  125 |   Nan::ForceSet(target,Nan::New<String>("FFI_TYPE_SIZE").ToLocalChecked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_type)), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |                                                                                                                                                                               ^
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:125:175: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  125 |   Nan::ForceSet(target,Nan::New<String>("FFI_TYPE_SIZE").ToLocalChecked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_type)), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |                                                                                                                                                                               ^
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:126:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  126 |   Nan::ForceSet(target,Nan::New<String>("FFI_CIF_SIZE").ToLocalChecked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_cif)), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |        ^~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:126:173: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  126 |   Nan::ForceSet(target,Nan::New<String>("FFI_CIF_SIZE").ToLocalChecked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_cif)), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |                                                                                                                                                                             ^
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:126:173: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  126 |   Nan::ForceSet(target,Nan::New<String>("FFI_CIF_SIZE").ToLocalChecked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_cif)), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |                                                                                                                                                                             ^
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:132:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  132 |   Nan::ForceSet(target,Nan::New<String>("HAS_OBJC").ToLocalChecked(), Nan::New<Boolean>(hasObjc), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |        ^~~~~~~~
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:132:152: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  132 |   Nan::ForceSet(target,Nan::New<String>("HAS_OBJC").ToLocalChecked(), Nan::New<Boolean>(hasObjc), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |                                                                                                                                                        ^
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc:132:152: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
  132 |   Nan::ForceSet(target,Nan::New<String>("HAS_OBJC").ToLocalChecked(), Nan::New<Boolean>(hasObjc), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
      |                                                                                                                                                        ^
In file included from ../../nan/nan.h:284,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:117:35: note: declared here
  117 | NAN_DEPRECATED inline Maybe<bool> ForceSet(
      |                                   ^~~~~~~~
../src/ffi.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE FFI::FFIPrepCif(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ffi.cc:190:32: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  190 |   nargs = info[1]->Uint32Value();
      |                                ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:26,
                 from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:2477:47: note: declared here
 2477 |   V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
      |                                               ^~~~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
  324 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/ffi.cc:191:42: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  191 |   rtype = Buffer::Data(info[2]->ToObject());
      |                                          ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:10046:15: note: declared here
10046 | Local<Object> Value::ToObject() const {
      |               ^~~~~
../src/ffi.cc:192:43: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  192 |   atypes = Buffer::Data(info[3]->ToObject());
      |                                           ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:10046:15: note: declared here
10046 | Local<Object> Value::ToObject() const {
      |               ^~~~~
../src/ffi.cc:193:39: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  193 |   abi = (ffi_abi)info[4]->Uint32Value();
      |                                       ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:26,
                 from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:2477:47: note: declared here
 2477 |   V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
      |                                               ^~~~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
  324 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/ffi.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE FFI::FFIPrepCifVar(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ffi.cc:234:32: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  234 |   fargs = info[1]->Uint32Value();
      |                                ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:26,
                 from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:2477:47: note: declared here
 2477 |   V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
      |                                               ^~~~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
  324 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/ffi.cc:235:32: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  235 |   targs = info[2]->Uint32Value();
      |                                ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:26,
                 from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:2477:47: note: declared here
 2477 |   V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
      |                                               ^~~~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
  324 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/ffi.cc:236:42: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  236 |   rtype = Buffer::Data(info[3]->ToObject());
      |                                          ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:10046:15: note: declared here
10046 | Local<Object> Value::ToObject() const {
      |               ^~~~~
../src/ffi.cc:237:43: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  237 |   atypes = Buffer::Data(info[4]->ToObject());
      |                                           ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:10046:15: note: declared here
10046 | Local<Object> Value::ToObject() const {
      |               ^~~~~
../src/ffi.cc:238:39: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  238 |   abi = (ffi_abi)info[5]->Uint32Value();
      |                                       ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:26,
                 from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:2477:47: note: declared here
 2477 |   V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
      |                                               ^~~~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
  324 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/ffi.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE FFI::FFICall(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ffi.cc:265:46: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  265 |   char *cif = Buffer::Data(info[0]->ToObject());
      |                                              ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:10046:15: note: declared here
10046 | Local<Object> Value::ToObject() const {
      |               ^~~~~
../src/ffi.cc:266:45: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  266 |   char *fn = Buffer::Data(info[1]->ToObject());
      |                                             ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:10046:15: note: declared here
10046 | Local<Object> Value::ToObject() const {
      |               ^~~~~
../src/ffi.cc:267:46: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  267 |   char *res = Buffer::Data(info[2]->ToObject());
      |                                              ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:10046:15: note: declared here
10046 | Local<Object> Value::ToObject() const {
      |               ^~~~~
../src/ffi.cc:268:49: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  268 |   char *fnargs = Buffer::Data(info[3]->ToObject());
      |                                                 ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:10046:15: note: declared here
10046 | Local<Object> Value::ToObject() const {
      |               ^~~~~
../src/ffi.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE FFI::FFICallAsync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ffi.cc:307:43: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  307 |   p->cif = Buffer::Data(info[0]->ToObject());
      |                                           ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:10046:15: note: declared here
10046 | Local<Object> Value::ToObject() const {
      |               ^~~~~
../src/ffi.cc:308:42: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  308 |   p->fn = Buffer::Data(info[1]->ToObject());
      |                                          ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:10046:15: note: declared here
10046 | Local<Object> Value::ToObject() const {
      |               ^~~~~
../src/ffi.cc:309:43: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  309 |   p->res = Buffer::Data(info[2]->ToObject());
      |                                           ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:10046:15: note: declared here
10046 | Local<Object> Value::ToObject() const {
      |               ^~~~~
../src/ffi.cc:310:44: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  310 |   p->argv = Buffer::Data(info[3]->ToObject());
      |                                            ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:10046:15: note: declared here
10046 | Local<Object> Value::ToObject() const {
      |               ^~~~~
../src/ffi.cc:320:30: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
  320 |       (uv_after_work_cb)FFI::FinishAsyncFFICall);
      |                              ^~~~~~~~~~~~~~~~~~
../src/ffi.cc: In static member function ‘static void FFI::FinishAsyncFFICall(uv_work_t*)’:
../src/ffi.cc:367:28: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
  367 |   p->callback->Call(1, argv);
      |                            ^
In file included from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan.h:1742:3: note: declared here
 1742 |   Call(int argc, v8::Local<v8::Value> argv[]) const {
      |   ^~~~
In file included from ../src/ffi.cc:1:
../src/ffi.cc: At global scope:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:573:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
  573 |       (node::addon_register_func) (regfunc),                          \
      |                                           ^
/home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:607:3: note: in expansion of macro ‘NODE_MODULE_X’
  607 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../src/ffi.cc:393:1: note: in expansion of macro ‘NODE_MODULE’
  393 | NODE_MODULE(ffi_bindings, init)
      | ^~~~~~~~~~~
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/node_object_wrap.h:84:78:   required from here
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
 9502 |                reinterpret_cast<Callback>(callback), type);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../nan/nan_object_wrap.h:65:61:   required from here
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
./Release/.deps/Release/obj.target/ffi_bindings/src/ffi.o.d.raw Stats {
  dev: 2053,
  mode: 33204,
  nlink: 1,
  uid: 1000,
  gid: 1000,
  rdev: 0,
  blksize: 4096,
  ino: 179581,
  size: 1647,
  blocks: 8,
  atimeMs: 1618993773000,
  mtimeMs: 1618993773000,
  ctimeMs: 1618993773161.4565,
  birthtimeMs: 1618993773085.4563,
  atime: 2021-04-21T08:29:33.000Z,
  mtime: 2021-04-21T08:29:33.000Z,
  ctime: 2021-04-21T08:29:33.161Z,
  birthtime: 2021-04-21T08:29:33.085Z }
  CXX(target) Release/obj.target/ffi_bindings/src/callback_info.o
../src/callback_info.cc: In static member function ‘static void CallbackInfo::DispatchToV8(callback_info*, void*, void**, bool)’:
../src/callback_info.cc:63:55: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
   63 |         info->errorFunction->Call(1, errorFunctionArgv);
      |                                                       ^
In file included from ../src/ffi.h:23,
                 from ../src/callback_info.cc:8:
../../nan/nan.h:1742:3: note: declared here
 1742 |   Call(int argc, v8::Local<v8::Value> argv[]) const {
      |   ^~~~
../src/callback_info.cc:73:58: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
   73 |     Local<Value> e = info->function->Call(2, functionArgv);
      |                                                          ^
In file included from ../src/ffi.h:23,
                 from ../src/callback_info.cc:8:
../../nan/nan.h:1742:3: note: declared here
 1742 |   Call(int argc, v8::Local<v8::Value> argv[]) const {
      |   ^~~~
../src/callback_info.cc:78:55: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations]
   78 |         info->errorFunction->Call(1, errorFunctionArgv);
      |                                                       ^
In file included from ../src/ffi.h:23,
                 from ../src/callback_info.cc:8:
../../nan/nan.h:1742:3: note: declared here
 1742 |   Call(int argc, v8::Local<v8::Value> argv[]) const {
      |   ^~~~
../src/callback_info.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE CallbackInfo::Callback(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/callback_info.cc:112:60: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  112 |   ffi_cif *cif = (ffi_cif *)Buffer::Data(info[0]->ToObject());
      |                                                            ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/callback_info.cc:5:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:10046:15: note: declared here
10046 | Local<Object> Value::ToObject() const {
      |               ^~~~~
../src/callback_info.cc:113:43: warning: ‘int32_t v8::Value::Int32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  113 |   size_t resultSize = info[1]->Int32Value();
      |                                           ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:26,
                 from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/callback_info.cc:5:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:2478:46: note: declared here
 2478 |   V8_DEPRECATED("Use maybe version", int32_t Int32Value() const);
      |                                              ^~~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
  324 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/callback_info.cc:114:34: warning: ‘int32_t v8::Value::Int32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  114 |   int argc = info[2]->Int32Value();
      |                                  ^
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:26,
                 from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/callback_info.cc:5:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:2478:46: note: declared here
 2478 |   V8_DEPRECATED("Use maybe version", int32_t Int32Value() const);
      |                                              ^~~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
  324 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/callback_info.cc: In static member function ‘static void CallbackInfo::Initialize(v8::Handle<v8::Object>)’:
../src/callback_info.cc:220:74: warning: cast between incompatible function types from ‘void (*)(uv_async_t*, int)’ {aka ‘void (*)(uv_async_s*, int)’} to ‘uv_async_cb’ {aka ‘void (*)(uv_async_s*)’} [-Wcast-function-type]
  220 |   uv_async_init(uv_default_loop(), &g_async, (uv_async_cb) CallbackInfo::WatcherCallback);
      |                                                                          ^~~~~~~~~~~~~~~
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/callback_info.cc:5:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/node_object_wrap.h:84:78:   required from here
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
 9502 |                reinterpret_cast<Callback>(callback), type);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../nan/nan_object_wrap.h:65:61:   required from here
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
./Release/.deps/Release/obj.target/ffi_bindings/src/callback_info.o.d.raw Stats {
  dev: 2053,
  mode: 33204,
  nlink: 1,
  uid: 1000,
  gid: 1000,
  rdev: 0,
  blksize: 4096,
  ino: 179581,
  size: 1623,
  blocks: 8,
  atimeMs: 1618993773000,
  mtimeMs: 1618993773000,
  ctimeMs: 1618993773949.4585,
  birthtimeMs: 1618993773881.4583,
  atime: 2021-04-21T08:29:33.000Z,
  mtime: 2021-04-21T08:29:33.000Z,
  ctime: 2021-04-21T08:29:33.949Z,
  birthtime: 2021-04-21T08:29:33.881Z }
  CXX(target) Release/obj.target/ffi_bindings/src/threaded_callback_invokation.o
In file included from /home/sobhan/.cache/node-gyp/10.22.0/include/node/node.h:63,
                 from ../src/threaded_callback_invokation.cc:1:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/home/sobhan/.cache/node-gyp/10.22.0/include/node/node_object_wrap.h:84:78:   required from here
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
 9502 |                reinterpret_cast<Callback>(callback), type);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../nan/nan_object_wrap.h:65:61:   required from here
/home/sobhan/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
./Release/.deps/Release/obj.target/ffi_bindings/src/threaded_callback_invokation.o.d.raw Stats {
  dev: 2053,
  mode: 33204,
  nlink: 1,
  uid: 1000,
  gid: 1000,
  rdev: 0,
  blksize: 4096,
  ino: 179581,
  size: 1653,
  blocks: 8,
  atimeMs: 1618993774000,
  mtimeMs: 1618993774000,
  ctimeMs: 1618993774561.46,
  birthtimeMs: 1618993774489.4597,
  atime: 2021-04-21T08:29:34.000Z,
  mtime: 2021-04-21T08:29:34.000Z,
  ctime: 2021-04-21T08:29:34.561Z,
  birthtime: 2021-04-21T08:29:34.489Z }
  SOLINK_MODULE(target) Release/obj.target/ffi_bindings.node
  COPY Release/ffi_bindings.node
make: Leaving directory '/home/sobhan/ExpoSE/Analyser/node_modules/z3javascript/node_modules/ffi/build'

> z3javascript@0.0.1 postinstall /home/sobhan/ExpoSE/Analyser/node_modules/z3javascript
> ./scripts/postinstall

Cloning into 'z3'...
remote: Enumerating objects: 118461, done.
remote: Total 118461 (delta 0), reused 0 (delta 0), pack-reused 118461
Receiving objects: 100% (118461/118461), 86.59 MiB | 6.90 MiB/s, done.
Resolving deltas: 100% (98705/98705), done.
Note: switching to '8f3b923'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 8f3b9237b Merge remote-tracking branch 'upstream/master'
DllBuild
Traceback (most recent call last):
  File "scripts/mk_make.py", line 9, in <module>
    from mk_util import *
  File "/home/sobhan/ExpoSE/Analyser/node_modules/z3javascript/z3/scripts/mk_util.py", line 18, in <module>
    import distutils.sysconfig
ModuleNotFoundError: No module named 'distutils.sysconfig'
Copying Bindings
cp: cannot stat './z3/src/api/python/z3_bindings*': No such file or directory
Done
./scripts/build_z3: 11: cd: can't cd to build
make: *** No targets specified and no makefile found.  Stop.
cp: cannot stat 'libz3*': No such file or directory
Building Bindings
cat: ./bin/z3_bindings_stripped.js: No such file or directory
Bindings Cp
Done Z3JS
npm WARN prepublish-on-install As of npm@5, `prepublish` scripts are deprecated.
npm WARN prepublish-on-install Use `prepare` for build steps and `prepublishOnly` for upload-only.
npm WARN prepublish-on-install See the deprecation note in `npm help scripts` for more information.

> z3javascript@0.0.1 prepublish /home/sobhan/ExpoSE/Analyser/node_modules/z3javascript
> ./scripts/setup

Building Wrapper
Cleaning Sources

/home/sobhan/ExpoSE/Analyser/node_modules/z3javascript/.eslintrc.json
  0:0  warning  File ignored by default.  Use a negated ignore pattern (like "--ignore-pattern '!<relative/path/to/filename>'") to override

/home/sobhan/ExpoSE/Analyser/node_modules/z3javascript/src/Expr.js
  78:109  warning  Unnecessary escape character: \a  no-useless-escape

✖ 2 problems (0 errors, 2 warnings)

Successfully compiled 14 files with Babel (1016ms).
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.1 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN z3javascript@0.0.1 license should be a valid SPDX license expression

added 500 packages from 233 contributors and audited 502 packages in 45.039s

15 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

npm WARN ExpoSE@0.0.2 No repository field.
npm WARN ExpoSE@0.0.2 No license field.

added 129 packages from 587 contributors and audited 129 packages in 75.932s

2 packages are looking for funding
  run `npm fund` for details

found 10 vulnerabilities (1 low, 6 moderate, 3 high)
  run `npm audit fix` to fix them, or `npm audit` for details
Cleaning Tester
Setting up Tester
Pulling Dependencies

> core-js@2.6.12 postinstall /home/sobhan/ExpoSE/Tester/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

npm WARN Tester@0.0.1 No repository field.
npm WARN Tester@0.0.1 license should be a valid SPDX license expression
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 334 packages from 128 contributors and audited 338 packages in 3.739s

2 packages are looking for funding
  run `npm fund` for details

found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details
Cleaning Distributor
Setting up Distributor
Pulling Dependencies
npm WARN Distributor@0.0.1 No repository field.
npm WARN Distributor@0.0.1 license should be a valid SPDX license expression

added 17 packages from 14 contributors and audited 17 packages in 1.16s

2 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

Cleaning Dashboard
Setting up Dashboard
Pulling Dependencies

> core-js@3.10.0 postinstall /home/sobhan/ExpoSE/Dashboard/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

> electron@9.4.4 postinstall /home/sobhan/ExpoSE/Dashboard/node_modules/electron
> node install.js

npm WARN expose-dashboard@1.0.0 No description
npm WARN expose-dashboard@1.0.0 No repository field.
npm WARN expose-dashboard@1.0.0 No license field.

added 96 packages from 100 contributors and audited 96 packages in 5.298s

6 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

Cleaning Browser
Setting up Browser
Pulling Dependencies

> electron@2.0.18 postinstall /home/sobhan/ExpoSE/Browser/node_modules/electron
> node install.js

npm WARN browser@1.0.0 No repository field.

added 154 packages from 136 contributors and audited 154 packages in 7.303s

6 packages are looking for funding
  run `npm fund` for details

found 1 moderate severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details
Building Analyser

/home/sobhan/ExpoSE/.eslintrc.json
  0:0  warning  File ignored by default.  Use a negated ignore pattern (like "--ignore-pattern '!<relative/path/to/filename>'") to override

/home/sobhan/ExpoSE/Distributor/src/Spawn.js
  99:21  warning  Unnecessary escape character: \/  no-useless-escape

✖ 2 problems (0 errors, 2 warnings)

Building Libs
Successfully compiled 1 file with Babel (475ms).
Building Distributor
Successfully compiled 15 files with Babel (863ms).
Building Analyser
Successfully compiled 24 files with Babel (1363ms).
Building into
Bundling Analyser/bin/Analyser.js into bin/bundle.js
Copying Analyser Dependencies to Browser
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.1 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN expose@1.0.0 No repository field.
npm WARN expose@1.0.0 No license field.

added 666 packages from 408 contributors and audited 667 packages in 137.677s

19 packages are looking for funding
  run `npm fund` for details

found 3 high severity vulnerabilities
  run `npm audit fix` to fix them, or `npm audit` for details
jawline commented 3 years ago

Thanks for the full output, it looks like it's because the python script that builds Z3 is failing for some reason. I thought these packages are installed by default in Python so I'm not sure - maybe some difference between python 2 and python 3

HEAD is now at 8f3b9237b Merge remote-tracking branch 'upstream/master'
DllBuild
Traceback (most recent call last):
  File "scripts/mk_make.py", line 9, in <module>
    from mk_util import *
  File "/home/sobhan/ExpoSE/Analyser/node_modules/z3javascript/z3/scripts/mk_util.py", line 18, in <module>
    import distutils.sysconfig
ModuleNotFoundError: No module named 'distutils.sysconfig'
sobhansaf commented 3 years ago

Thank you for your reply. First I removed it entirely and install it from the beginning. Then I installed z3javascript manually in the expoSE modules. And It worked. Probably the problem was related to the GitHub ssh-key.