NordicSemiconductor / pc-ble-driver-js

Node.js interface to the C/C++ pc-ble-driver library. API docs: https://nordicsemiconductor.github.io/pc-ble-driver-js/
Other
79 stars 41 forks source link

can't find v4.1.4 nrf-ble-driver when yarn install #288

Open seawin opened 1 year ago

seawin commented 1 year ago

I use macOS 13.2.1 of intel CPU, already install nrf-ble-driver via vcpkg, but can't find the 4.1.4 package when execute yarn install, how to resolve it ? thanks

$ vcpkg list                        
asio:x64-osx                                      1.24.0#1            Asio is a cross-platform C++ library for network...
cli11:x64-osx                                     2.3.1               CLI11 is a command line parser for C++11 and bey...
fmt:x64-osx                                       9.1.0#1             Formatting library for C++. It can be used as a ...
nrf-ble-driver:x64-osx                            4.1.4               BLE driver is a library for Bluetooth Low Energy...
spdlog:x64-osx                                    1.11.0              Very fast, header only, C++ logging library
vcpkg-cmake-config:x64-osx                        2022-02-06#1        
vcpkg-cmake:x64-osx                               2022-12-22    
$ yarn
yarn install v1.22.19
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
warning " > eslint-config-airbnb@18.2.1" has unmet peer dependency "eslint-plugin-react-hooks@^4 || ^3 || ^2.3.0 || ^1.7.0".
warning "nrf-device-setup > pc-nrf-dfu-js@0.2.12" has unmet peer dependency "serialport@^8.0.7".
[4/4] 🔨  Building fresh packages...
$ node do_prebuild.js --decompress-only || node do_prebuild.js --install-only || node do_prebuild.js
options.shared_install_dir:/Users/woan/Workspace/pc-ble-driver-js/Release
Decompressing local prebuild.
Unable to decompress local prebuild. File does not exist: prebuilds/pc-ble-driver-js-v2.8.2-node-v93-darwin-x64.tar.gz
options.shared_install_dir:/Users/woan/Workspace/pc-ble-driver-js/Release
Installing prebuild from developer.nordicsemi.no.
Trying to install prebuild from developer.nordicsemi.no...
Runtime: node
Target: 16.19.0
Running command: npx prebuild-install -r node -t 16.19.0 --verbose

prebuild-install info begin Prebuild-install version 6.1.4
prebuild-install info looking for local prebuild @ prebuilds/pc-ble-driver-js-v2.8.2-node-v93-darwin-x64.tar.gz
prebuild-install info looking for cached prebuild @ /Users/woan/.npm/_prebuilds/6d4b99-pc-ble-driver-js-v2.8.2-node-v93-darwin-x64.tar.gz
prebuild-install http request GET https://developer.nordicsemi.com/.pc-tools/nrf-libs/pc-ble-driver-js/v2.8.2/pc-ble-driver-js-v2.8.2-node-v93-darwin-x64.tar.gz
prebuild-install http 404 https://developer.nordicsemi.com/.pc-tools/nrf-libs/pc-ble-driver-js/v2.8.2/pc-ble-driver-js-v2.8.2-node-v93-darwin-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=16.19.0 runtime=node arch=x64 libc= platform=darwin)

=================================================================
Install from developer.nordicsemi.no failed.

NOTE:
The prebuild-install module will use a different strategy for fetching prebuilt binaries and will try to download from Github instead if it finds a token in ~/.prebuild-installrc
Ensure that this token is not present by either deleting or temporarily moving it: ~/.prebuild-installrc
=================================================================
Error message was: Error: Command failed: npx prebuild-install -r node -t 16.19.0 --verbose
prebuild-install info begin Prebuild-install version 6.1.4
prebuild-install info looking for local prebuild @ prebuilds/pc-ble-driver-js-v2.8.2-node-v93-darwin-x64.tar.gz
prebuild-install info looking for cached prebuild @ /Users/woan/.npm/_prebuilds/6d4b99-pc-ble-driver-js-v2.8.2-node-v93-darwin-x64.tar.gz
prebuild-install http request GET https://developer.nordicsemi.com/.pc-tools/nrf-libs/pc-ble-driver-js/v2.8.2/pc-ble-driver-js-v2.8.2-node-v93-darwin-x64.tar.gz
prebuild-install http 404 https://developer.nordicsemi.com/.pc-tools/nrf-libs/pc-ble-driver-js/v2.8.2/pc-ble-driver-js-v2.8.2-node-v93-darwin-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=16.19.0 runtime=node arch=x64 libc= platform=darwin)

options.shared_install_dir:/Users/woan/Workspace/pc-ble-driver-js/Release
runtime: node, from_abi:93
Prebuilding for versions: 16.0.0.
Prebuild command input: /Users/woan/Workspace/pc-ble-driver-js/node_modules/.bin/prebuild --backend cmake-js -r node --prepack "node do_prebuild.js --prepack-only" --include-regex "(.dll|.so|.dylib|.dll|.node|.hex|.json)" -t 16.19.0 -- -G="Ninja" --prefer-gnu
[
  '/Users/woan/.nvm/versions/node/v16.19.0/bin/node',
  '/Users/woan/Workspace/pc-ble-driver-js/node_modules/.bin/cmake-js',
  'rebuild',
  '--runtime-version=16.19.0',
  '--arch=x64',
  '--runtime=node',
  '--target',
  'install',
  '-G=Ninja',
  '--prefer-gnu'
]
Not searching for unused variables given on the command line.
-- The C compiler identification is AppleClang 14.0.0.14000029
-- The CXX compiler identification is AppleClang 14.0.0.14000029
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring incomplete, errors occurred!
See also "/Users/woan/Workspace/pc-ble-driver-js/build/CMakeFiles/CMakeOutput.log".

prebuild info begin Prebuild version 11.0.0
prebuild info build Preparing to prebuild pc-ble-driver-js@2.8.2 for node 16.19.0 on darwin-x64 using cmake-js
info TOOL Using g++ compiler, because preferGnu option is set, and g++ is available.
info TOOL Using Ninja generator, as specified from commandline.
info TOOL Building only the install target, as specified from the command line.
info CMD CLEAN
info RUN [
info RUN   'cmake',
info RUN   '-E',
info RUN   'remove_directory',
info RUN   '/Users/woan/Workspace/pc-ble-driver-js/build'
info RUN ]
info CMD CONFIGURE
info TOOL Building only the install target, as specified from the command line.
info RUN [
info RUN   'cmake',
info RUN   '/Users/woan/Workspace/pc-ble-driver-js',
info RUN   '--no-warn-unused-cli',
info RUN   '-G',
info RUN   'Ninja',
info RUN   '-DCMAKE_JS_VERSION=6.3.2',
info RUN   '-DCMAKE_BUILD_TYPE=Release',
info RUN   '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/woan/Workspace/pc-ble-driver-js/build/Release',
info RUN   '-DCMAKE_JS_INC=/Users/woan/.cmake-js/node-x64/v16.19.0/include/node;/Users/woan/Workspace/pc-ble-driver-js/node_modules/nan',
info RUN   '-DCMAKE_JS_SRC=',
info RUN   '-DNODE_RUNTIME=node',
info RUN   '-DNODE_RUNTIMEVERSION=16.19.0',
info RUN   '-DNODE_ARCH=x64',
info RUN   '-DCMAKE_OSX_ARCHITECTURES=x86_64',
info RUN   '-DCMAKE_CXX_COMPILER=g++',
info RUN   '-DCMAKE_C_COMPILER=gcc',
info RUN   '-DCMAKE_CXX_FLAGS=-D_DARWIN_USE_64_BIT_INODE=1 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DBUILDING_NODE_EXTENSION',
info RUN   '-DCMAKE_SHARED_LINKER_FLAGS=-undefined dynamic_lookup'
info RUN ]
CMake Error at /Users/woan/Workspace/work_env/vcpkg/scripts/buildsystems/vcpkg.cmake:846 (_find_package):
  Could not find a configuration file for package "nrf-ble-driver" that
  exactly matches requested version "4.1.4".

  The following configuration files were considered but not accepted:

    /Users/woan/Workspace/work_env/vcpkg/installed/x64-osx/share/nrf-ble-driver/nrf-ble-driverConfig.cmake, version: 4.1.2

Call Stack (most recent call first):
  CMakeLists.txt:15 (find_package)

ERR! OMG Process terminated: 1
prebuild ERR! build Error: Failed to build cmake with exit code 1
prebuild ERR! build     at ChildProcess.<anonymous> (/Users/woan/Workspace/pc-ble-driver-js/node_modules/prebuild/cmakebuild.js:36:19)
prebuild ERR! build     at ChildProcess.emit (node:events:513:28)
prebuild ERR! build     at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12)

Done with error:
Error: Error: Command failed: /Users/woan/Workspace/pc-ble-driver-js/node_modules/.bin/prebuild --backend cmake-js -r node --prepack "node do_prebuild.js --prepack-only" --include-regex "(.dll|.so|.dylib|.dll|.node|.hex|.json)" -t 16.19.0 -- -G="Ninja" --prefer-gnu
prebuild info begin Prebuild version 11.0.0
prebuild info build Preparing to prebuild pc-ble-driver-js@2.8.2 for node 16.19.0 on darwin-x64 using cmake-js
info TOOL Using g++ compiler, because preferGnu option is set, and g++ is available.
info TOOL Using Ninja generator, as specified from commandline.
info TOOL Building only the install target, as specified from the command line.
info CMD CLEAN
info RUN [
info RUN   'cmake',
info RUN   '-E',
info RUN   'remove_directory',
info RUN   '/Users/woan/Workspace/pc-ble-driver-js/build'
info RUN ]
info CMD CONFIGURE
info TOOL Building only the install target, as specified from the command line.
info RUN [
info RUN   'cmake',
info RUN   '/Users/woan/Workspace/pc-ble-driver-js',
info RUN   '--no-warn-unused-cli',
info RUN   '-G',
info RUN   'Ninja',
info RUN   '-DCMAKE_JS_VERSION=6.3.2',
info RUN   '-DCMAKE_BUILD_TYPE=Release',
info RUN   '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/woan/Workspace/pc-ble-driver-js/build/Release',
info RUN   '-DCMAKE_JS_INC=/Users/woan/.cmake-js/node-x64/v16.19.0/include/node;/Users/woan/Workspace/pc-ble-driver-js/node_modules/nan',
info RUN   '-DCMAKE_JS_SRC=',
info RUN   '-DNODE_RUNTIME=node',
info RUN   '-DNODE_RUNTIMEVERSION=16.19.0',
info RUN   '-DNODE_ARCH=x64',
info RUN   '-DCMAKE_OSX_ARCHITECTURES=x86_64',
info RUN   '-DCMAKE_CXX_COMPILER=g++',
info RUN   '-DCMAKE_C_COMPILER=gcc',
info RUN   '-DCMAKE_CXX_FLAGS=-D_DARWIN_USE_64_BIT_INODE=1 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DBUILDING_NODE_EXTENSION',
info RUN   '-DCMAKE_SHARED_LINKER_FLAGS=-undefined dynamic_lookup'
info RUN ]
CMake Error at /Users/woan/Workspace/work_env/vcpkg/scripts/buildsystems/vcpkg.cmake:846 (_find_package):
  Could not find a configuration file for package "nrf-ble-driver" that
  exactly matches requested version "4.1.4".

  The following configuration files were considered but not accepted:

    /Users/woan/Workspace/work_env/vcpkg/installed/x64-osx/share/nrf-ble-driver/nrf-ble-driverConfig.cmake, version: 4.1.2

Call Stack (most recent call first):
  CMakeLists.txt:15 (find_package)

ERR! OMG Process terminated: 1
prebuild ERR! build Error: Failed to build cmake with exit code 1
prebuild ERR! build     at ChildProcess.<anonymous> (/Users/woan/Workspace/pc-ble-driver-js/node_modules/prebuild/cmakebuild.js:36:19)
prebuild ERR! build     at ChildProcess.emit (node:events:513:28)
prebuild ERR! build     at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12)

    at run_prebuild (/Users/woan/Workspace/pc-ble-driver-js/do_prebuild.js:86:15)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
seawin commented 1 year ago

content may has a mistake in nrf-ble-driverConfigVersion.cmake file, it cause the find error.

# This is a basic version file for the Config-mode of find_package().
# It is used by write_basic_package_version_file() as input file for configure_file()
# to create a version-file which can be installed along a config.cmake file.
#
# The created file sets PACKAGE_VERSION_EXACT if the current version string and
# the requested version string are exactly the same and it sets
# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version.
# The variable CVF_VERSION must be set before calling configure_file().

set(PACKAGE_VERSION "4.1.2")

if (PACKAGE_FIND_VERSION_RANGE)

it work well after change to set(PACKAGE_VERSION "4.1.4")

seawin commented 1 year ago

same on windows platform