Welcome to Our Community

Some features disabled for guests. Register Today.

Build OpenBuilds Control from source

Discussion in 'Control Software' started by Corey Applegate, Oct 7, 2019.

Tags:
  1. Corey Applegate

    Builder

    Joined:
    Oct 5, 2019
    Messages:
    49
    Likes Received:
    7
    What IDE and other steps are needed to build the program from the GIT source repository?

    I already forked the rep to my git account and cloned it to my PC. I have tried several attempts before making any modifications to build the source code before making any changes. I'm a noob to CNC but like I assume like many that we come from a back ground of some novice or better maker backgrounds.

    The one gripe I have currently is the jog functions. It is woderfull that you have 4 incremental distances and can manually set the speed but the Z+ and Z- should never need a 100mm move and maybe should have its own speeds too.

    Some of the comments on the Git repo mention the managers of the Openbuilds Control software are reluctant to make community request because they are trying to be a simple user interface for new users. Some features would both help the noob and the novice users like my self save from rapid moves into work pieces.
     
  2. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    13,989
    Likes Received:
    4,107
    Its nodejs running as electronjs. Read Electron | Build cross platform desktop apps with JavaScript, HTML, and CSS.
    cd into root directory, run npm install to fetch dependencies

    Run ./node_modules/.bin/build to "compile" (not really compile, js is an interpreted language, not a compiled one)
    Or
    Run node_modules/.bin/electron . (dont forget space dot) to run it

    Re Jog: the challenge stands, show me something better. See post #748 in OpenBuilds CONTROL Software for details

    Depends entirely on the request itself. Great requests get adopted in hours... We arent evil, but at the end of the day there are processes, time allocations, other tasks and priorities, and internal goals and missions that all have to align.
     
    #2 Peter Van Der Walt, Oct 7, 2019
    Last edited: Oct 7, 2019
    Corey Applegate likes this.
  3. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    13,989
    Likes Received:
    4,107
    Just wait for the new product launches in a couple weeks (;
     
    Corey Applegate and sharmstr like this.
  4. Corey Applegate

    Builder

    Joined:
    Oct 5, 2019
    Messages:
    49
    Likes Received:
    7
    I didn't mean to imply you are evil. Any organization that publishes their source code to a public Git Repo is my friend. I like to tinker and "Hack" at code, and if I created something useful I would have made a push request.

    But now I wish to know more about this release teaser you implied to.
     
  5. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    13,989
    Likes Received:
    4,107
    :) Glad to hear, spend a little more time around the project and I'm sure you'll buy into the vibe and its place in the universe (;
    Some "cant do now" become clearer later (your github post in the probe on for example also has something coming soon)

    Can't say (;
     
    Corey Applegate likes this.
  6. base1379

    base1379 New
    Builder

    Joined:
    Jan 9, 2017
    Messages:
    34
    Likes Received:
    5
    I just updated node, and when I execute "npm install" I get errors (this is from the end of the log):
    5905 silly saveTree `-- [email protected]
    5906 warn The package ncp is included as both a dev and production dependency.
    5907 verbose stack Error: spawn git ENOENT
    5907 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:269:19)
    5907 verbose stack at onErrorNT (internal/child_process.js:465:16)
    5907 verbose stack at processTicksAndRejections (internal/process/task_queues.js:80:21)
    5908 verbose cwd C:\Users\user\Documents\GitHub\OpenBuilds-CONTROL
    5909 verbose Windows_NT 10.0.19041
    5910 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
    5911 verbose node v14.15.3
    5912 verbose npm v6.14.9
    5913 error code ENOENT
    5914 error syscall spawn git
    5915 error path git
    5916 error errno -4058
    5917 error enoent Error while executing:
    5917 error enoent undefined ls-remote -h -t noopkat/browser-serialport
    5917 error enoent
    5917 error enoent
    5917 error enoent spawn git ENOENT
    5918 error enoent This is related to npm not being able to find a file.
    5919 verbose exit [ -4058, true ]
     
  7. base1379

    base1379 New
    Builder

    Joined:
    Jan 9, 2017
    Messages:
    34
    Likes Received:
    5
    Nevermind, installing Git solved the above errors.
     
  8. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    13,989
    Likes Received:
    4,107
    We havent updated to 14 just yet, (OpenBuilds/OpenBuilds-CONTROL), glad to know 14 is working off the bat. Will switch the mainline builds in January

    Correct was missing git
     
    #8 Peter Van Der Walt, Dec 27, 2020
    Last edited: Dec 28, 2020
  9. base1379

    base1379 New
    Builder

    Joined:
    Jan 9, 2017
    Messages:
    34
    Likes Received:
    5
    Looks like control is still using node version 12?
    Should I be building with the latest v12 node?
     
  10. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    13,989
    Likes Received:
    4,107
    Correct
     
  11. base1379

    base1379 New
    Builder

    Joined:
    Jan 9, 2017
    Messages:
    34
    Likes Received:
    5
    I think I updated node and/or other packages when I shouldn't have...
    The same code that used to build an installer which would install a usable program, now builds an installer which installs an exe that when launched does nothing.

    The output from the terminal when building (I can't figure out what the 404s and errors mean):

    PS D:\machines\Lazarus\LazarusCMM> npm run dist

    > [email protected] dist
    > electron-builder --ia32 --x64

    • electron-builder version=22.11.7 os=10.0.19043
    • loaded configuration file=package.json ("build" field)
    • writing effective config file=dist\builder-effective-config.yaml
    • rebuilding native dependencies dependencies=@serialport/[email protected], [email protected], @serialport/bindings@9rch=x64
    • install prebuilt binary name=@serialport/bindings version=8.0.8 platform=win32 arch=x64 napi=
    • build native dependency from sources name=@serialport/bindings
    version=8.0.8
    platform=win32
    arch=x64
    napi=
    reason=prebuild-install failed with error (run with env DEBUG=electron-buirmation)
    error=prebuild-install info begin Prebuild-install version 5.3.6
    prebuild-install WARN install prebuilt binaries enforced with --force!
    prebuild-install WARN install prebuilt binaries may be out of date!
    prebuild-install info looking for cached prebuild @ C:\Users\user\AppData\Local\npm-cache\_prebuilds\d376c2-bindv80-win32-x64.tar.gz
    prebuild-install http request GET https://github.com/serialport/node-...lport/bi-v8.0.8-electron-v80-win32-x64.tar.gz
    prebuild-install http 404 https://github.com/serialport/node-...lport/[email protected]
    prebuild-install WARN install No prebuilt binaries found (target=9.4.4 runtime=electron arch=x64 libc= platform=

    ...


    The version of the code that i branched was 1.0.267 on Dec 28, 2020.
    How do I know what version of electron, and other necessary packages are required? I've searched around GitHub - OpenBuilds/OpenBuilds-CONTROL: OpenBuilds CONTROL: Download from https://software.openbuilds.com but couldn't find any necessary prerequisites.

    Currently I have:
    npm v7.20.3
    node v14.17.4 (I know this should be v12)
    PS D:\machines\Lazarus\LazarusCMM> npm ls
    [email protected] D:\machines\Lazarus\LazarusCMM
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    └── [email protected]
     
    #11 base1379, Aug 2, 2021
    Last edited: Aug 2, 2021
  12. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    13,989
    Likes Received:
    4,107
    We build againt Node 12 on Github Actions these days: OpenBuilds-CONTROL/build.yml at master · OpenBuilds/OpenBuilds-CONTROL - assuming official codebase of course. If you maintain your own fork, make sure to keep it up to date (compare package.json at the least. It specifies the Electron versions, etc) as dependencies are kept updated too. See OpenBuilds-CONTROL/package.json at master · OpenBuilds/OpenBuilds-CONTROL

    As to why your build fails, read the log, but nb run with electron debug enabled for most info:
    electron-builder
     
  13. base1379

    base1379 New
    Builder

    Joined:
    Jan 9, 2017
    Messages:
    34
    Likes Received:
    5
    Thanks Peter,

    I've downgraded I think all of the necessary packages:
    PS D:\machines\Lazarus\LazarusCMM> npm ls
    [email protected] D:\machines\Lazarus\LazarusCMM
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    └── [email protected]

    PS D:\machines\Lazarus\LazarusCMM> node -v
    v12.22.4
    PS D:\machines\Lazarus\LazarusCMM> npm -v
    7.20.3


    And still experiencing the same issue.
    I looked at the debug electron page, but don't know how to enable the debugging.
    When I execute "$env:DEBUG=electron-builder", I get:
    electron-builder : The term 'electron-builder' is not recognized as the name of a cmdlet, function, script
    file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is
    correct and try again.
    At line:1 char:12
    + $env:DEBUG=electron-builder
    + ~~~~~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (electron-builder:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    Suggestion [3,General]: The command electron-builder was not found, but does exist in the current location. Windows PowerShell does not load commands from the current location by default. If you trust this command, instead type: ".\electron-builder". See "get-help about_Command_Precedence" for more details.
     
  14. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    13,989
    Likes Received:
    4,107
    Rerun as before but get the whole log. Your post yesterday truncated before the end.

     
  15. base1379

    base1379 New
    Builder

    Joined:
    Jan 9, 2017
    Messages:
    34
    Likes Received:
    5
    Code:
     
    PS D:\machines\Lazarus\LazarusCMM> npm run dist
    
    > [email protected] dist
    > electron-builder --ia32 --x64
    
      • electron-builder  version=22.8.0 os=10.0.19043
      • loaded configuration  file=package.json ("build" field)
      • electron-rebuild not required if you use electron-builder, please consider to remove excess dependency from devDependencies
    
    To ensure your native dependencies are always matched electron version, simply add script `"postinstall": "electron-builder install-app-deps" to your `package.json`
      • writing effective config  file=dist\builder-effective-config.yaml
      • rebuilding native dependencies  dependencies=@serialport/[email protected], [email protected], @serialport/[email protected] platform=win32 arch=x64
      • install prebuilt binary  name=@serialport/bindings version=9.2.0 platform=win32 arch=x64
      • install prebuilt binary  name=drivelist version=9.0.0 platform=win32 arch=x64
      • build native dependency from sources  name=drivelist
                                              version=9.0.0
                                              platform=win32
                                              arch=x64
                                              reason=prebuild-install failed with error (run with env DEBUG=electron-builder to get more information)
                                              error=prebuild-install info begin Prebuild-install version 5.3.6      
        prebuild-install WARN install prebuilt binaries enforced with --force!
        prebuild-install WARN install prebuilt binaries may be out of date!
        prebuild-install info looking for cached prebuild @ C:\Users\user\AppData\Local\npm-cache\_prebuilds\d17efd-drivelist-v9.0.0-electron-v80-win32-x64.tar.gz
        prebuild-install http request GET https://github.com/balena-io-modules/drivelist/releases/download/v9.0.0/drivelist-v9.0.0-electron-v80-win32-x64.tar.gz
        prebuild-install http 404 https://github.com/balena-io-modules/drivelist/releases/download/v9.0.0/drivelist-v9.0.0-electron-v80-win32-x64.tar.gz
        prebuild-install WARN install No prebuilt binaries found (target=9.2.0 runtime=electron arch=x64 libc= platform=win32)
    
      • install prebuilt binary  name=@serialport/bindings version=8.0.8 platform=win32 arch=x64
      • build native dependency from sources  name=@serialport/bindings
                                              version=8.0.8
                                              platform=win32
                                              arch=x64
                                              reason=prebuild-install failed with error (run with env DEBUG=electron-builder to get more information)
                                              error=prebuild-install info begin Prebuild-install version 5.3.6      
        prebuild-install WARN install prebuilt binaries enforced with --force!
        prebuild-install WARN install prebuilt binaries may be out of date!
        prebuild-install info looking for cached prebuild @ C:\Users\user\AppData\Local\npm-cache\_prebuilds\d376c2-bindings-v8.0.8-electron-v80-win32-x64.tar.gz
        prebuild-install http request GET https://github.com/serialport/node-serialport/releases/download/@serialport/[email protected]/bindings-v8.0.8-electron-v80-win32-x64.tar.gz
        prebuild-install http 404 https://github.com/serialport/node-serialport/releases/download/@serialport/[email protected]/bindings-v8.0.8-electron-v80-win32-x64.tar.gz
        prebuild-install WARN install No prebuilt binaries found (target=9.2.0 runtime=electron arch=x64 libc= platform=win32)
    
      • packaging       platform=win32 arch=x64 electron=9.2.0 appOutDir=dist\win-unpacked
      • rebuilding native dependencies  dependencies=@serialport/[email protected], [email protected], @serialport/[email protected] platform=win32 arch=ia32
      • install prebuilt binary  name=@serialport/bindings version=9.2.0 platform=win32 arch=ia32
      • build native dependency from sources  name=@serialport/bindings
                                              version=9.2.0
                                              platform=win32
                                              arch=ia32
                                              reason=prebuild-install failed with error (run with env DEBUG=electron-builder to get more information)
                                              error=prebuild-install info begin Prebuild-install version 5.3.6      
        prebuild-install WARN install prebuilt binaries enforced with --force!
        prebuild-install WARN install prebuilt binaries may be out of date!
        prebuild-install info looking for cached prebuild @ C:\Users\user\AppData\Local\npm-cache\_prebuilds\86923f-bindings-v9.2.0-electron-v80-win32-ia32.tar.gz
        prebuild-install http request GET https://github.com/serialport/node-serialport/releases/download/@serialport/[email protected]/bindings-v9.2.0-electron-v80-win32-ia32.tar.gz
        prebuild-install http 404 https://github.com/serialport/node-serialport/releases/download/@serialport/[email protected]/bindings-v9.2.0-electron-v80-win32-ia32.tar.gz
        prebuild-install WARN install No prebuilt binaries found (target=9.2.0 runtime=electron arch=ia32 libc= platform=win32)
    
      • install prebuilt binary  name=drivelist version=9.0.0 platform=win32 arch=ia32
      • build native dependency from sources  name=drivelist
                                              version=9.0.0
                                              platform=win32
                                              arch=ia32
                                              reason=prebuild-install failed with error (run with env DEBUG=electron-builder to get more information)
                                              error=prebuild-install info begin Prebuild-install version 5.3.6      
        prebuild-install WARN install prebuilt binaries enforced with --force!
        prebuild-install WARN install prebuilt binaries may be out of date!
        prebuild-install info looking for cached prebuild @ C:\Users\user\AppData\Local\npm-cache\_prebuilds\7a1567-drivelist-v9.0.0-electron-v80-win32-ia32.tar.gz
        prebuild-install http request GET https://github.com/balena-io-modules/drivelist/releases/download/v9.0.0/drivelist-v9.0.0-electron-v80-win32-ia32.tar.gz
        prebuild-install http 404 https://github.com/balena-io-modules/drivelist/releases/download/v9.0.0/drivelist-v9.0.0-electron-v80-win32-ia32.tar.gz
        prebuild-install WARN install No prebuilt binaries found (target=9.2.0 runtime=electron arch=ia32 libc= platform=win32)
    
      • install prebuilt binary  name=@serialport/bindings version=8.0.8 platform=win32 arch=ia32
      • build native dependency from sources  name=@serialport/bindings
                                              version=8.0.8
                                              platform=win32
                                              arch=ia32
                                              reason=prebuild-install failed with error (run with env DEBUG=electron-builder to get more information)
                                              error=prebuild-install info begin Prebuild-install version 5.3.6      
        prebuild-install WARN install prebuilt binaries enforced with --force!
        prebuild-install WARN install prebuilt binaries may be out of date!
        prebuild-install info looking for cached prebuild @ C:\Users\user\AppData\Local\npm-cache\_prebuilds\5d0790-bindings-v8.0.8-electron-v80-win32-ia32.tar.gz
        prebuild-install http request GET https://github.com/serialport/node-serialport/releases/download/@serialport/[email protected]/bindings-v8.0.8-electron-v80-win32-ia32.tar.gz
        prebuild-install http 404 https://github.com/serialport/node-serialport/releases/download/@serialport/[email protected]/bindings-v8.0.8-electron-v80-win32-ia32.tar.gz
        prebuild-install WARN install No prebuilt binaries found (target=9.2.0 runtime=electron arch=ia32 libc= platform=win32)
    
      • packaging       platform=win32 arch=ia32 electron=9.2.0 appOutDir=dist\win-ia32-unpacked
      • building        target=nsis file=dist\LazarusCMM-Setup-1.0.1.exe archs=x64, ia32 oneClick=false perMachine=false
      • building block map  blockMapFile=dist\LazarusCMM-Setup-1.0.1.exe.blockmap
    
     
  16. aixpower

    aixpower New
    Builder

    Joined:
    Jun 27, 2022
    Messages:
    14
    Likes Received:
    11
    I tried to build OpenBuilds Control from source based on v1.0.330 on Ubuntu linux 22.04.1 LTS, but with no success. Command used to build:
    ./node_modules/.bin/electron-builder -l​

    Main reason seems to be the following:
    npm ERR! gyp: name 'openssl_fips' is not defined while evaluating condition 'openssl_fips != ""' in binding.gyp while trying to load binding.gyp​

    The complete log from the console:
    $ ./node_modules/.bin/electron-builder -l
    • electron-builder version=22.14.13 os=5.15.0-47-generic
    • loaded configuration file=package.json ("build" field)
    • electron-rebuild not required if you use electron-builder, please consider to remove excess dependency from devDependencies

    To ensure your native dependencies are always matched electron version, simply add script `"postinstall": "electron-builder install-app-deps" to your `package.json`
    • writing effective config file=dist/builder-effective-config.yaml
    • rebuilding native dependencies dependencies=@serialport/[email protected], [email protected], @serialport/[email protected] platform=linux arch=x64
    • install prebuilt binary name=drivelist version=9.2.4 platform=linux arch=x64 napi=
    • install prebuilt binary name=@serialport/bindings version=9.2.8 platform=linux arch=x64 napi=
    • build native dependency from sources name=@serialport/bindings
    version=9.2.8
    platform=linux
    arch=x64
    napi=
    reason=prebuild-install failed with error (run with env DEBUG=electron-builder to get more information)
    error=prebuild-install info begin Prebuild-install version 5.3.6
    prebuild-install WARN install prebuilt binaries enforced with --force!
    prebuild-install WARN install prebuilt binaries may be out of date!
    prebuild-install info looking for cached prebuild @ /home/czahl/.npm/_prebuilds/2ea92b-bindings-v9.2.8-electron-v80-linux-x64.tar.gz
    prebuild-install http request GET https://github.com/serialport/node-...bindings-v9.2.8-electron-v80-linux-x64.tar.gz
    prebuild-install http 404 https://github.com/serialport/node-...bindings-v9.2.8-electron-v80-linux-x64.tar.gz
    prebuild-install WARN install No prebuilt binaries found (target=9.4.4 runtime=electron arch=x64 libc= platform=linux)

    • install prebuilt binary name=@serialport/bindings version=8.0.8 platform=linux arch=x64 napi=
    • build native dependency from sources name=drivelist
    version=9.2.4
    platform=linux
    arch=x64
    napi=
    reason=prebuild-install failed with error (run with env DEBUG=electron-builder to get more information)
    error=prebuild-install info begin Prebuild-install version 5.3.6
    prebuild-install WARN install prebuilt binaries enforced with --force!
    prebuild-install WARN install prebuilt binaries may be out of date!
    prebuild-install info looking for cached prebuild @ /home/czahl/.npm/_prebuilds/6c88b1-drivelist-v9.2.4-electron-v80-linux-x64.tar.gz
    prebuild-install http request GET https://github.com/balena-io-module...rivelist-v9.2.4-electron-v80-linux-x64.tar.gz
    prebuild-install http 404 https://github.com/balena-io-module...rivelist-v9.2.4-electron-v80-linux-x64.tar.gz
    prebuild-install WARN install No prebuilt binaries found (target=9.4.4 runtime=electron arch=x64 libc= platform=linux)

    • build native dependency from sources name=@serialport/bindings
    version=8.0.8
    platform=linux
    arch=x64
    napi=
    reason=prebuild-install failed with error (run with env DEBUG=electron-builder to get more information)
    error=prebuild-install info begin Prebuild-install version 5.3.6
    prebuild-install WARN install prebuilt binaries enforced with --force!
    prebuild-install WARN install prebuilt binaries may be out of date!
    prebuild-install info looking for cached prebuild @ /home/czahl/.npm/_prebuilds/a265e2-bindings-v8.0.8-electron-v80-linux-x64.tar.gz
    prebuild-install http request GET https://github.com/serialport/node-...bindings-v8.0.8-electron-v80-linux-x64.tar.gz
    prebuild-install http 404 https://github.com/serialport/node-...bindings-v8.0.8-electron-v80-linux-x64.tar.gz
    prebuild-install WARN install No prebuilt binaries found (target=9.4.4 runtime=electron arch=x64 libc= platform=linux)

    ⨯ cannot execute cause=exit status 1
    errorOut=npm ERR! code 1
    npm ERR! path /home/czahl/openbuilds/OpenBuilds-CONTROL/node_modules/drivelist
    npm ERR! command failed
    npm ERR! command sh /tmp/install-c803d823.sh
    npm ERR! gyp info it worked if it ends with ok
    npm ERR! gyp info using [email protected]
    npm ERR! gyp info using [email protected] | linux | x64
    npm ERR! gyp info find Python using Python version 3.10.4 found at "/usr/bin/python3"
    npm ERR! gyp info spawn /usr/bin/python3
    npm ERR! gyp info spawn args [
    npm ERR! gyp info spawn args '/home/czahl/openbuilds/OpenBuilds-CONTROL/node_modules/node-gyp/gyp/gyp_main.py',
    npm ERR! gyp info spawn args 'binding.gyp',
    npm ERR! gyp info spawn args '-f',
    npm ERR! gyp info spawn args 'make',
    npm ERR! gyp info spawn args '-I',
    npm ERR! gyp info spawn args '/home/czahl/openbuilds/OpenBuilds-CONTROL/node_modules/drivelist/build/config.gypi',
    npm ERR! gyp info spawn args '-I',
    npm ERR! gyp info spawn args '/home/czahl/openbuilds/OpenBuilds-CONTROL/node_modules/node-gyp/addon.gypi',
    npm ERR! gyp info spawn args '-I',
    npm ERR! gyp info spawn args '/home/czahl/.electron-gyp/9.4.4/include/node/common.gypi',
    npm ERR! gyp info spawn args '-Dlibrary=shared_library',
    npm ERR! gyp info spawn args '-Dvisibility=default',
    npm ERR! gyp info spawn args '-Dnode_root_dir=/home/czahl/.electron-gyp/9.4.4',
    npm ERR! gyp info spawn args '-Dnode_gyp_dir=/home/czahl/openbuilds/OpenBuilds-CONTROL/node_modules/node-gyp',
    npm ERR! gyp info spawn args '-Dnode_lib_file=/home/czahl/.electron-gyp/9.4.4/<(target_arch)/node.lib',
    npm ERR! gyp info spawn args '-Dmodule_root_dir=/home/czahl/openbuilds/OpenBuilds-CONTROL/node_modules/drivelist',
    npm ERR! gyp info spawn args '-Dnode_engine=v8',
    npm ERR! gyp info spawn args '--depth=.',
    npm ERR! gyp info spawn args '--no-parallel',
    npm ERR! gyp info spawn args '--generator-output',
    npm ERR! gyp info spawn args 'build',
    npm ERR! gyp info spawn args '-Goutput_dir=.'
    npm ERR! gyp info spawn args ]
    npm ERR! gyp: name 'openssl_fips' is not defined while evaluating condition 'openssl_fips != ""' in binding.gyp while trying to load binding.gyp
    npm ERR! gyp ERR! configure error
    npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
    npm ERR! gyp ERR! stack at ChildProcess.onCpExit (/home/czahl/openbuilds/OpenBuilds-CONTROL/node_modules/node-gyp/lib/configure.js:284:16)
    npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:513:28)
    npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)
    npm ERR! gyp ERR! System Linux 5.15.0-47-generic
    npm ERR! gyp ERR! command "/home/czahl/.nvm/versions/node/v16.17.0/bin/node" "/home/czahl/openbuilds/OpenBuilds-CONTROL/node_modules/.bin/node-gyp" "rebuild"
    npm ERR! gyp ERR! cwd /home/czahl/openbuilds/OpenBuilds-CONTROL/node_modules/drivelist
    npm ERR! gyp ERR! node -v v16.17.0
    npm ERR! gyp ERR! node-gyp -v v9.1.0
    npm ERR! gyp ERR! not ok

    npm ERR! A complete log of this run can be found in:
    npm ERR! /home/czahl/.npm/_logs/2022-09-19T10_17_34_160Z-debug-0.log

    command=npm rebuild @serialport/[email protected] [email protected] @serialport/[email protected]
    workingDir=​

    Any idea how to solve this?

    Thanks,
    Christian
     
  17. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    13,989
    Likes Received:
    4,107
    I see mentions of Node16 in the log.

    Note per OpenBuilds-CONTROL/build.yml at master · OpenBuilds/OpenBuilds-CONTROL we use Node14. Just a guess, could be lots of things - you'd have to familiarise yourself with node errors and resolving dependencies etc. You have read the log correctly. I think openssl_fips is part of the issue. Possibly different core versions of Node/gyp/bcrypt/etc installed on your machine
     
    sharmstr likes this.
  18. aixpower

    aixpower New
    Builder

    Joined:
    Jun 27, 2022
    Messages:
    14
    Likes Received:
    11
    :banghead: Thanks for this hint. After
    $ nvm install v14
    $ rm -rf node_modules
    $ npm install
    $ ./node_modules/.bin/elevtron-builder -l​
    build and packaging was running fine.

    Unfortunately, after starting the app by
    $ ./dist/OpenBuildsCONTROL-1.0.330.AppImage​
    I was at the same point when I tried to start the one from the release artifacts, the UI is not popping up. Is this a known issue?
     
  19. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    13,989
    Likes Received:
    4,107
  20. aixpower

    aixpower New
    Builder

    Joined:
    Jun 27, 2022
    Messages:
    14
    Likes Received:
    11
    Unfortunately not. I was trying to use it when I got my Lead 1010 with the BB (OpenBuildsCONTROL-1.0.317.AppImage at this time) but was always getting the effect of no UI popping up, I'm able to run other appimages e.g. FreeCad without any issues. I'm also able to run the electron-quick-start.
     
  21. aixpower

    aixpower New
    Builder

    Joined:
    Jun 27, 2022
    Messages:
    14
    Likes Received:
    11
    Update: For some reasons it seems that the app cannot launch a browser. By debugging in the code, I noticed that the app is listening to localhost:3000. Opening this URL in Firefox provides the UI.
     
  22. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    13,989
    Likes Received:
    4,107
    Try the DEB build just in case?
    Try running the OpenBuildsCONTROL executable with DEBUGCONTROL=true env variable from a terminal, see if it offer clues
     
    sharmstr likes this.
  23. aixpower

    aixpower New
    Builder

    Joined:
    Jun 27, 2022
    Messages:
    14
    Likes Received:
    11
    I was using DEBUGCONTROL already ;-) But it gives no further hints:
    Code:
    Debugger listening on ws://127.0.0.1:33535/36cf9d6c-1668-4189-8987-5b520959dd42
    For help, see: https://nodejs.org/en/docs/inspector
    Debugger attached.
    Debugger listening on ws://127.0.0.1:43465/115baa94-7535-4a6e-af66-d541755b19f8
    For help, see: https://nodejs.org/en/docs/inspector
    Debugger attached.
    Console Debugging Enabled
    Starting OpenBuilds CONTROL v1.0.331
    Local User Data: /home/czahl/.config/OpenBuildsCONTROL
    Command Line Arguments for Electron: Set OK
    https: listening on:192.168.66.163:3001
    (node:330894) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
    http:  listening on:192.168.66.163:3000
    Created Uploads Temp Directory
    statusCode: 200
    Also the .deb is not working. It launches a set of processes, but no UI.
     
  24. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    13,989
    Likes Received:
    4,107
    I don't have an Ubuntu set-up at hand to check for you - if you wouldn't mind for now, trying a Windows PC (or if you want to spend more time - a different Linux install maybe in case something is conflicting (GPU drivers?) - the linux userbase is far smaller of course so we don't get as much feedback unfortunately.) The windows version is more popular.
     
  25. aixpower

    aixpower New
    Builder

    Joined:
    Jun 27, 2022
    Messages:
    14
    Likes Received:
    11
    No problem. I will continue and will try to find the root cause. In the debug session, I see that all the functions including createApp() are being called to build the UI, so it must be a generic reason behind. I will also setup some other VMs with older versions of ubuntu (or other distros) once I have time.

    On question, it seems that the code is still using electron 9.4.4, which reached the end-of-support state already. Is there a good reason not upgrading to amore recent version (20.0 seems to be the current one)? If not, do you think it makes sense trying to upgrade?

    BTW, thanks a lot for your support and providing this piece of software.
     
  26. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    13,989
    Likes Received:
    4,107
    No good reasons, other than not yet getting round to it - and of course lots of testing to accompany major changes. I almost doubt it would be the cause - but as you have been playing around with running it from source - you can test it.


    Awesome! I also downloaded 22.04 last night as I left the office; But I will be honest, I have a couple more pressing assigned tasks I need to wrap up before I can dig in too
    upload_2022-9-21_8-9-36.png
     
  27. aixpower

    aixpower New
    Builder

    Joined:
    Jun 27, 2022
    Messages:
    14
    Likes Received:
    11
    Some additional symptoms I have found:
    1. createJogWindow() is not being called.
    2. When starting a second instance of the app, the UI get's displayed. In the debugger is see that createJogWindow() is now being called by the handler for the single instance test.
    3. Also the tray icon is visible.
    4. The tray icon does not have any context menu
    5. When closing the window, the app is still running, but the tray icon got closed as well.
    I guess the whole issue is related to on how the system tray behaves in Ubuntu.
     
  28. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    13,989
    Likes Received:
    4,107
    Not too unexpected. First launch should only put the application in the background, and the system tray

    That way CAMs can use the integration Developers: API to Inject GCODE into CONTROL · OpenBuilds/OpenBuilds-CONTROL Wiki etc

    CONTROL is set to register itself as a startup application, so its already present on a fresh login, and the first time user runs the application, it opens the UI
    See OpenBuilds-CONTROL/index.js at master · OpenBuilds/OpenBuilds-CONTROL

    perfect


    That's a little weird - can you still double click the tray icon to open UI?


    A little weird


    Wouldn't be too surprised - new Wayland/Unity stuff maybe
     
  29. aixpower

    aixpower New
    Builder

    Joined:
    Jun 27, 2022
    Messages:
    14
    Likes Received:
    11
    As a first test I carved out the creation / showing of the jog window and called it after the tray creation (see Commits · poWer4aiX/OpenBuilds-CONTROL), which is working fine. Of course, once I close the window, the app continues hidden in the background, as the try icon got closed as well. Will continue to analyze the behavior of the tray later on...
     
    Peter Van Der Walt likes this.
  30. Peter Van Der Walt

    Peter Van Der Walt OpenBuilds Team
    Staff Member Moderator Builder Resident Builder

    Joined:
    Mar 1, 2017
    Messages:
    13,989
    Likes Received:
    4,107
    It's supposed to be the same behaviour that applications like Skype does. The "close" button just minimises to Tray. OpenBuilds-CONTROL/index.js at master · poWer4aiX/OpenBuilds-CONTROL
    That way it stays open in the background for integrations to work. In the coming months there are a lot more components of the OpenBuilds ecosystem that makes use of this integration so we really try hard to keep it running :)

    Properly quitting it should be done through the Tray Icon's context menu: (sorry windows screenshot)

    upload_2022-9-21_14-57-24.png


    That said, running the desktop icon again, should launch it. As should http requests to /activate OpenBuilds-CONTROL/index.js at master · poWer4aiX/OpenBuilds-CONTROL
    And then sadly it does seem Ubuntu's new Wayland way may not be handling the tray icon correctly, or that would have been another way to reactive the JogWindow. That might have been addressed in a newer version of Electron - so that might be a good place to start
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice