electron / packager

Customize and package your Electron app with OS-specific bundles (.app, .exe, etc.) via JS or CLI
https://npm.im/@electron/packager
BSD 2-Clause "Simplified" License
153 stars 16 forks source link

electron-forge package does not prepar native package #1248

Closed I-Want-ToBelieve closed 3 years ago

I-Want-ToBelieve commented 3 years ago

Preflight Checklist

Issue Details

Expected Behavior

electron-forge package should prepar native package

Actual Behavior

electron-forge package does not prepar native package

To Reproduce

yarn create electron-app my-new-app --template=typescript-webpack
cd my-new-app
yarn add serialport
yarn package

Additional Information

yarn package                
yarn run v1.22.10
$ DEBUG=electron-packager electron-forge package
✔ Checking your system
⠙ Preparing to Package Application for arch: x64⠋ Co✔ Compiling Main Process Code
✔ Compiling Renderer Template
  electron-packager Electron Packager 15.2.0
  electron-packager Node v14.17.0
  electron-packager Host Operating system: linux 5.12.8-arch1-1 (x64) +0ms
  electron-packager Packager Options: {"asar":false,"overwrite":true,"dir":"/home/backtolife/git.workspace/electron.workspace/my-new-app","arch":"x64","platform":"linux","afterCopy":[null],"afterExtract":[null],"afterPrune":[null],"out":"/home/backtolife/git.workspace/electron.workspace/my-new-app/out","electronVersion":"13.1.0","quiet":true} +0ms
  electron-packager Target Platforms: linux +0ms
  electron-packager Target Architectures: x64 +0ms
⠼ Preparing to Package Application for arch: x64  electron-packager Inferring application name from productName in /home/backtolife/git.workspace/electron.workspace/my-new-app/package.json +0ms
  electron-packager Inferring appVersion from version in /home/backtolife/git.workspace/electron.workspace/my-new-app/package.json +0ms
  electron-packager Application name: my-new-app +3ms
  electron-packager Target Electron version: 13.1.0 +0ms
  electron-packager Downloading Electron with options {"platform":"linux","arch":"x64","version":"13.1.0","artifactName":"electron"} +0ms
  electron-packager Creating /tmp/electron-packager/linux-x64-template +4ms
  electron-packager Extracting /home/backtolife/.cache/electron/c06249793f766e79ba6eb1b94dc05314ccd6fcde40587e74d4919d79507f3891/electron-v13.1.0-linux-x64.zip to /tmp/electron-packager/linux-x64-template +0ms
⠙ Preparing to Package Application for arch: x64  electron-packager Initializing app in /tmp/electron-packager/linux-x64/my-new-app-linux-x64 from /tmp/electron-packager/linux-x64-template template +0ms
  electron-packager Ignored paths based on the out param: [ '/home/backtolife/git.workspace/electron.workspace/my-new-app/out' ] +0ms
✔ Preparing to Package Application for arch: x64
✔ Preparing native dependencies
⠋ Packaging Application  electron-packager Renaming electron to my-new-app in /tmp/electron-packager/linux-x64/my-new-app-linux-x64 +14ms
  electron-packager Moving /tmp/electron-packager/linux-x64/my-new-app-linux-x64 to /home/backtolife/git.workspace/electron.workspace/my-new-app/out/my-new-app-linux-x64 +0ms
✔ Packaging Application
Done in 4.86s.

electron-forge package does not prepar native package, but electron-forge start works well

yarn start  
yarn run v1.22.10
$ electron-forge start
✔ Checking your system
✔ Locating Application
⠇ Preparing native dependencies: 0 / 1gyp info find Python using Python version 3.9.1 found at "/home/backtolife/.pyenv/versions/3.9.1/bin/python3"
gyp info spawn /home/backtolife/.pyenv/versions/3.9.1/bin/python3
gyp info spawn args [
gyp info spawn args   '/home/backtolife/git.workspace/electron.workspace/my-new-app/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/home/backtolife/git.workspace/electron.workspace/my-new-app/node_modules/@serialport/bindings/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/backtolife/git.workspace/electron.workspace/my-new-app/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/backtolife/.electron-gyp/13.1.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/home/backtolife/.electron-gyp/13.1.0',
gyp info spawn args   '-Dnode_gyp_dir=/home/backtolife/git.workspace/electron.workspace/my-new-app/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/home/backtolife/.electron-gyp/13.1.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/home/backtolife/git.workspace/electron.workspace/my-new-app/node_modules/@serialport/bindings',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
⠋ Preparing native dependencies: 0 / 1gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/home/backtolife/git.workspace/electron.workspace/my-new-app/node_modules/@serialport/bindings/build'
  CXX(target) Release/obj.target/bindings/src/serialport.o
⠼ Preparing native dependencies: 0 / 1../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:78:51: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_c’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
   78 | _default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:135:53: 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]
  135 | efault_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:175:52: 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]
  175 | default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:215:52: 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]
  215 | default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:271:50: 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]
  271 | v_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:316:50: 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]
  316 | v_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:366:58: 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]
  366 | t_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/serialport.cpp:412:52: 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]
  412 | default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../src/serialport.cpp: At global scope:
../src/serialport.cpp:433:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses]
  433 | SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) {
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/serialport.cpp:433:28: note: remove parentheses
  433 | SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) {
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                            -                                                -
../src/serialport.cpp:452:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses]
  452 | SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) {
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/serialport.cpp:452:30: note: remove parentheses
  452 | SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) {
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                              -                              -
In file included from ../../../nan/nan.h:56,
                 from ../src/./serialport.h:13,
                 from ../src/serialport.cpp:1:
/home/backtolife/.electron-gyp/13.1.0/include/node/node.h:770:7: 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]
  770 |       (node::addon_register_func) (regfunc),                          \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/backtolife/.electron-gyp/13.1.0/include/node/node.h:804:3: note: in expansion of macro ‘NODE_MODULE_X’
  804 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../src/serialport.cpp:486:1: note: in expansion of macro ‘NODE_MODULE’
  486 | NODE_MODULE(serialport, init);
      | ^~~~~~~~~~~
⠋ Preparing native dependencies: 0 / 1  CXX(target) Release/obj.target/bindings/src/serialport_unix.o
⠴ Preparing native dependencies: 0 / 1../src/serialport_unix.cpp: In function ‘int setup(int, OpenBaton*)’:
../src/serialport_unix.cpp:176:82: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1005 [-Wformat-truncation]
  176 | rString), "Error %s Cannot open %s", strerror(errno), data->path);
      |                                 ^~

../src/serialport_unix.cpp:176:13: note: ‘snprintf’ output 20 or more bytes (assuming 1043) into a destination of size 1024
  176 |     snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path);
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/serialport_unix.cpp: In function ‘void EIO_Open(uv_work_t*)’:
../src/serialport_unix.cpp:86:84: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1003 [-Wformat-truncation=]
   86 | tring), "Error: %s, cannot open %s", strerror(errno), data->path);
      |                                 ^~

../src/serialport_unix.cpp:86:13: note: ‘snprintf’ output 22 or more bytes (assuming 1045) into a destination of size 1024
   86 |     snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path);
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
⠦ Preparing native dependencies: 0 / 1  CXX(target) Release/obj.target/bindings/src/poller.o
⠸ Preparing native dependencies: 0 / 1  CXX(target) Release/obj.target/bindings/src/serialport_linux.o
⠼ Preparing native dependencies: 0 / 1  SOLINK_MODULE(target) Release/obj.target/bindings.node
⠴ Preparing native dependencies: 0 / 1  COPY Release/bindings.node
make: Leaving directory '/home/backtolife/git.workspace/electron.workspace/my-new-app/node_modules/@serialport/bindings/build'
✔ Preparing native dependencies: 1 / 1
✔ Compiling Main Process Code
✔ Launch Dev Servers
✔ Compiling Preload Scripts
✔ Launching Application

Webpack Output Available: http://localhost:9000

⠹ Compiling Renderer Code
(electron:140146): Gtk-WARNING **: 11:48:56.270: Theme parsing error: gtk-dark.css:6361:24: 'none' is not a valid color name
Gtk-Message: 11:48:56.284: Failed to load module "appmenu-gtk-module"
⠧ Compiling Renderer Codeasset main_window/index.js 968 KiB [emitted] (name: main_window)
asset main_window/index.html 260 bytes [emitted]
runtime modules 25.9 KiB 13 modules
modules by path ./node_modules/ 314 KiB
  modules by path ./node_modules/webpack-dev-server/client/ 157 KiB 13 modules
  modules by path ./node_modules/webpack/hot/*.js 4.3 KiB 4 modules
  modules by path ./node_modules/html-entities/lib/*.js 81.3 KiB 4 modules
  modules by path ./node_modules/url/ 37.4 KiB 3 modules
  modules by path ./node_modules/querystring/*.js 4.51 KiB 3 modules
  modules by path ./node_modules/css-loader/dist/runtime/*.js 3.79 KiB 2 modules
  ./node_modules/ansi-html/index.js 4.16 KiB [built] [code generated]
  ./node_modules/events/events.js 14.5 KiB [built] [code generated]
  ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js 6.67 KiB [built] [code generated]
modules by path ./src/ 3.28 KiB
  ./src/renderer.ts 1.05 KiB [built] [code generated]
  ./src/index.css 1.32 KiB [built] [code generated]
  ./node_modules/css-loader/dist/cjs.js!./src/index.css 942 bytes [built] [code generated]
webpack 5.38.1 compiled successfully in 865 ms
✔ Compiling Renderer Code
Issues checking in progress...
No issues found.
Done in 7.63s.
welcome[bot] commented 3 years ago

👋 Thanks for opening your first issue here! If you have a question about using Electron Packager, read the support docs. If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. Development and issue triage is community-driven, so please be patient and we will get back to you as soon as we can.

To help make it easier for us to investigate your issue, please follow the contributing guidelines.

malept commented 3 years ago

Unfortunately, due to the limited amount of time of the maintainers and the limited amount of information present in this issue, we cannot help debug your app at this time, particularly since Electron Packager does not deal with native modules directly. Instead, you should consider using one of the community forums, as there are more people there available to answer questions.