Package Details: betaflight-configurator 10.8.0-1

Git Clone URL: (read-only, click to copy)
Package Base: betaflight-configurator
Description: Crossplatform configuration tool for the Betaflight flight control system
Upstream URL:
Licenses: GPL3
Submitter: FryDay
Maintainer: Jake
Last Packager: Jake
Votes: 15
Popularity: 0.102067
First Submitted: 2018-01-24 18:06 (UTC)
Last Updated: 2022-06-17 09:42 (UTC)

Latest Comments

kleinph commented on 2022-01-12 00:03 (UTC)

Yes it worked. Thank you very much for the really quick fix!

Jake commented on 2022-01-11 22:52 (UTC)

@kleinph: I can reproduce it with latest nodejs v17. In my tests it builds/works fine on node v12-v16 though, so with community/nodejs-lts-erbium up to lts-gallium. But I also checked now why this XML parser is even a dev dependency, turns out it's used for a gulp plugin, that is only relevant to load a config for the Android/Cordova build option. So we are compiling here an native C++ module that is not even used. Also it was not updated since 2019, that explains the incompatibility with current nodejs. Welcome to the wonderful world of node modules...

Long story short: I just removed libxmljs dependency with a patch now, so it can't cause issues anymore. Let me know if it works for you too.

kleinph commented on 2022-01-11 21:00 (UTC)

I cannot build this package. I get a warning that pre-built binaries for lbxmljs could not be downladed and it falls back to compiling. Then I get an error in Make:

error /home/user/.cache/pikaur/build/betaflight-configurator/src/betaflight-configurator/node_modules/libxmljs: Command failed.
Exit code: 1
Command: node-pre-gyp install --fallback-to-build --loglevel http
Directory: /home/user/.cache/pikaur/build/betaflight-configurator/src/betaflight-configurator/node_modules/libxmljs
node-pre-gyp WARN Using request for node-pre-gyp https download 
node-pre-gyp http GET
node-pre-gyp http 404
node-pre-gyp WARN Tried to download(404): 
node-pre-gyp WARN Pre-built binaries not found for libxmljs@0.19.7 and node@17.3.0 (node-v102 ABI, glibc) (falling back to source compile with node-gyp) 
node-pre-gyp http 404 status code downloading tarball 
gyp info it worked if it ends with ok
gyp info using node-gyp@8.4.1
gyp info using node@17.3.0 | linux | x64
gyp info ok 
make: Verzeichnis „/home/user/.cache/pikaur/build/betaflight-configurator/src/betaflight-configurator/node_modules/libxmljs/build“ wird betreten
  CXX(target) Release/
In Datei, eingebunden von ../src/libxmljs.h:7,
                 von ../src/
../../nan/nan.h: In Funktion »void Nan::AsyncQueueWorker(Nan::AsyncWorker*)«:
../../nan/nan.h:2298:7: Warnung: Umwandlung zwischen inkompatiblen Funktionstypen von »void (*)(uv_work_t*)« {aka »void (*)(uv_work_s*)«} nach »uv_after_work_cb« {aka »void (*)(uv_work_s*, int)«} [-Wcast-function-type]
 2298 |     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In Datei, eingebunden von ../../nan/nan.h:2884,
                 von ../src/libxmljs.h:7,
                 von ../src/
../../nan/nan_typedarray_contents.h: In Konstruktor »Nan::TypedArrayContents<T>::TypedArrayContents(v8::Local<v8::Value>)«:
../../nan/nan_typedarray_contents.h:34:43: Fehler: »class v8::ArrayBuffer« hat kein Element namens »GetContents«
   34 |       data   = static_cast<char*>(buffer->GetContents().Data()) + byte_offset;
      |                                           ^~~~~~~~~~~
make: *** [ Release/] Fehler 1
make: Verzeichnis „/home/user/.cache/pikaur/build/betaflight-configurator/src/betaflight-configurator/node_modules/libxmljs/build“ wird verlassen
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
gyp ERR! System Linux 5.15.13-arch1-1
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--loglevel=http" "--module=/home/user/.cache/pikaur/build/betaflight-configurator/src/betaflight-configurator/node_modules/libxmljs/build/Release/xmljs.node" "--module_name=xmljs" "--module_path=/home/user/.cache/pikaur/build/betaflight-configurator/src/betaflight-configurator/node_modules/libxmljs/build/Release" "--napi_version=8" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v102"
gyp ERR! cwd /home/user/.cache/pikaur/build/betaflight-configurator/src/betaflight-configurator/node_modules/libxmljs
gyp ERR! node -v v17.3.0
gyp ERR! node-gyp -v v8.4.1
gyp ERR! not ok 
node-pre-gyp ERR! build error 
node-pre-gyp ERR! stack Error: Failed to execute 'node-gyp build --fallback-to-build --loglevel=http --module=/home/user/.cache/pikaur/build/betaflight-configurator/src/betaflight-configurator/node_modules/libxmljs/build/Release/xmljs.node --module_name=xmljs --module_path=/home/user/.cache/pikaur/build/betaflight-configurator/src/betaflight-configurator/node_modules/libxmljs/build/Release --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v102' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/home/user/.cache/pikaur/build/betaflight-configurator/src/betaflight-configurator/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
node-pre-gyp ERR! stack     at maybeClose (node:internal/child_process:1062:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
node-pre-gyp ERR! System Linux 5.15.13-arch1-1
node-pre-gyp ERR! command "/usr/bin/node" "/home/user/.cache/pikaur/build/betaflight-configurator/src/betaflight-configurator/node_modules/libxmljs/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" "--loglevel" "http"
node-pre-gyp ERR! cwd /home/user/.cache/pikaur/build/betaflight-configurator/src/betaflight-configurator/node_modules/libxmljs
node-pre-gyp ERR! node -v v17.3.0
node-pre-gyp ERR! node-pre-gyp -v v0.11.0
node-pre-gyp ERR! not ok 
Failed to execute 'node-gyp build --fallback-to-build --loglevel=http --module=/home/user/.cache/pikaur/build/betaflight-configurator/src/betaflight-configurator/node_modules/libxmljs/build/Release/xmljs.node --module_name=xmljs --module_path=/home/user/.cache/pikaur/build/betaflight-configurator/src/betaflight-configurator/node_modules/libxmljs/build/Release --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v102' (1)

Jake commented on 2020-06-22 17:44 (UTC)

@Svenstaro: It was a thought as temporary workaround, because stable versions usually build from the archives and don't require downloading all the history. But it is somewhat different here and git is anyway a makedepend, so cloning the repo is probably a better solution. I will change it.

Svenstaro commented on 2020-06-17 13:56 (UTC)

If you need the git hash, why not just get the actual git hash from upstream by cloning the git repo instead of using the zip? Then you don't need to workaround and also you'll get the proper hash in the binary.

andrej commented on 2020-03-13 23:27 (UTC)

At the moment this can’t be installed due to issues with nwjs-bin.

sl1pkn07 commented on 2020-02-19 17:14 (UTC)

icons and desktop file is installed as executable, please use install -Dm644 in the install command


neo2001 commented on 2019-12-15 15:27 (UTC)

@Jake: Confirmed! Works fine now (again)!

Thank you! :)

Jake commented on 2019-12-15 12:05 (UTC) (edited on 2019-12-15 12:06 (UTC) by Jake)

Yes, i found that the issue came with the nwjs update to 0.42.4, where they enabled NW2 per default:

Added a flag to disable it in the start script now, that should fix it, please install the new pkrel and let me know if it works @neo2001.

neo2001 commented on 2019-12-15 11:19 (UTC)

I've just removed the package I previously build manually and reinstalled/rebuild the package using Octopi. All seemed fine, but now both yellow round buttons are greyed out all the time. I can still access the firmware flashing interface by selecting the menu item on the left, but since there is no other button for the configurator, I can't access it. Tried to remove all user settings and plugged in different targets/devices.

Same package build a few days ago on my other machine works still fine.

Googled a bit and found something about the Chrome version having this issue, but this is the standalone version. Just wanted to ask if anyone experienced the same issue recently before asking upstream?

neo2001 commented on 2019-11-18 16:20 (UTC)

Thank you for the explanation. I did indeed run makepkg -s "manually" since I wanted to keep the Git repo for faster updates/rebuilds. I like to do this for Git-based AUR packages.

Jake commented on 2019-11-17 21:52 (UTC)

neo2001: Your AUR helper needs to resolve/build the deps before installation. Seems like your are doing something like makepkg -s and pacman alone can't resolve it of course, because the ffmepg codecs package is also only in the AUR.

neo2001 commented on 2019-11-06 12:49 (UTC)

Hello and thank you for providing these packages!

I get the following errors when I want to build/install the betaflight-configurator and the blackbox-explorer:

=> WARNING: PACKAGER should have the format 'Example Name email@address.invalid' ==> Making package: blackbox-explorer 3.4.0-1 (Mi 06 Nov 2019 13:43:37 CET) ==> Checking runtime dependencies... ==> Installing missing dependencies... error: target not found: nwjs-ffmpeg-codecs-bin ==> ERROR: 'pacman' failed to install missing dependencies. ==> Missing dependencies: -> nwjs-ffmpeg-codecs-bin ==> Checking buildtime dependencies... ==> ERROR: Could not resolve all dependencies.

After manually installing njws-bin and nwjs-ffmpeg-codecs-bin from AUR everything works fine.

I'm pretty sure I installed the same packages on my other machine without any errors like that, so the it could be a local issue...

Any ideas where to look? :-)

Jake commented on 2019-04-11 13:48 (UTC)

@andrej: Didn't think that someone needs to start this with arguments, but apparently that was wrong, really should add such things always in the beginning ;)
It is changed now with the update to 10.5.0 (supporting the new BF 4.0!)

andrej commented on 2019-03-24 03:34 (UTC)

Thanks for maintaining this. It would be helpful to pass command-line arguments in the launcher script. I tried to run multiple instances of the configurator, for which you have to set --user-data-dir, and it didn't work at all, as described on GitHub. :-)

Jake commented on 2018-09-06 13:37 (UTC)

Sure, done.

btreecat commented on 2018-09-05 17:11 (UTC)

Can the workaround be included in the mean time so the package is not broken?

Jake commented on 2018-08-21 20:19 (UTC)

Ahh yes, that makes sense, it builds from the release zip, which does not contain the git info... Another workaround is to build inside the AUR package git repo, so it picks the commit hash from there, that is what i always do, so i didn't notice this error. A fix would be to clone the whole repo and it would obviously need git as makedepend then.

I tracked it down to this pull request/commit: hoping for an answer and better solution from the developers.

jhalfmoon commented on 2018-08-21 06:36 (UTC) (edited on 2018-08-21 07:31 (UTC) by jhalfmoon)

"Not sure why, but I can't build the latest version..."

+1 ; I was just about to report the exact same thing. This fix / workaround worked for me:

build() {
    cd $pkgname-$pkgver
    git init
    git add .
    git commit -m 'ThereIfixedIt'
    yarn install
    ./node_modules/.bin/gulp dist --linux64

Tahvok commented on 2018-08-21 06:11 (UTC) (edited on 2018-08-21 06:23 (UTC) by Tahvok)

Not sure why, but I can't build the latest version:

added 7 packages from 6 contributors and audited 7540 packages in 8.083s
found 8 vulnerabilities (2 low, 5 moderate, 1 high)
  run `npm audit fix` to fix them, or `npm audit` for details
[09:10:55] Finished 'dist_src' after 8.73 s
[09:10:55] Starting 'dist_locale'...
[09:10:55] Finished 'dist_locale' after 20 ms
[09:10:55] Starting 'dist_libraries'...
[09:10:55] Finished 'dist_libraries' after 22 ms
[09:10:55] Starting 'dist_resources'...
[09:10:55] Finished 'dist_resources' after 60 ms
[09:10:55] Starting 'getChangesetId'...
[09:10:55] 'getChangesetId' errored after 7.13 ms
[09:10:55] Error: Command failed: git log -1 --format="%h"
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

    at ChildProcess.exithandler (child_process.js:289:12)
    at ChildProcess.emit (events.js:182:13)
    at ChildProcess.EventEmitter.emit (domain.js:460:23)
    at maybeClose (internal/child_process.js:961:16)
    at (internal/child_process.js:380:11)
    at Socket.emit (events.js:182:13)
    at Socket.EventEmitter.emit (domain.js:460:23)
    at Pipe._handle.close (net.js:599:12)
[09:10:55] 'dist' errored after 8.86 s
==> ERROR: A failure occurred in build().

Jake commented on 2018-07-07 22:46 (UTC) (edited on 2018-07-07 22:46 (UTC) by Jake)

Yes, thanks, i forgot that npm is only a optional dependency from node. It is added now (also in the blackbox-explorer package).

kbabioch commented on 2018-07-07 22:13 (UTC)

npm should be added as makedependency, since the build failed for me:

[4/4] Building fresh packages... success Saved lockfile. $ npm run _postinstall /bin/sh: npm: Kommando nicht gefunden. error Command failed with exit code 127.

FryDay commented on 2018-07-06 14:32 (UTC)


Jake commented on 2018-07-06 10:06 (UTC)

You can't cancel it through the web interface, but you could reply to the mailing list message to explain the changed situation.

FryDay commented on 2018-07-06 00:34 (UTC)

I'm not sure if you are able to cancel the merge request but it does not appear that I can. Hopefully whoever does it checks the comments first.

Jake commented on 2018-07-05 20:01 (UTC)

Thanks, i have pushed the changes now. It still includes the NW.js runtime (a whole chromium browser after all), which makes it over 200 MiB in size, same as the standard bin. Would be nice if we could use the runtime from a dedicated nwjs package instead. I have not found a way to do this, if someone has an idea, let me know.

FryDay commented on 2018-07-05 12:54 (UTC)

Jake, it's been orphaned. All yours.

Jake commented on 2018-07-03 16:51 (UTC) (edited on 2018-07-03 16:52 (UTC) by Jake)

Why merge? This package should still exist and build from source, which works perfectly fine (usual BF NW.js config). I would like to maintain it, if you (or a TU) could just orphan it instead?

FryDay commented on 2018-06-28 14:02 (UTC) (edited on 2018-06-28 16:33 (UTC) by FryDay)

Correctly named package is now available and a merge request has been submitted. Please install at your convenience. The new package also fixes the symlink issue once and for all (hopefully).

Scimmia commented on 2018-06-28 06:05 (UTC)

The symlink is still broken, the provides is still not needed, and the package name is still wrong.

FryDay commented on 2018-06-28 03:04 (UTC)

Package has been updated to 10.3.1 and the symlink issue should be fixed.

FryDay commented on 2018-06-24 21:23 (UTC)

Sorry, been a little busy. I hope to have time to get this updated tomorrow!

btreecat commented on 2018-06-24 21:21 (UTC)

Was able to install the latest version by changing pkgver and md5sum

pkgver=10.3.0 md5sums=('238e48f6398b43471d9953dc03bfeea6')

Tahvok commented on 2018-06-16 16:41 (UTC)

After speaking on IRC, I've managed to fix the symlink issue, and also improved it bit.

Some notes from AUR experts: This should be a -bin package, as it's not building from source, and the source is available. The symlink fix will break on custom directory installation (as it will always point to /opt and not custom dir). To fix it, this should be built from source and installed correctly (without /opt).

Other fixes: license is now pointed as GPL3. provides=($pkgname) is redundant - so just removed it.

diggit commented on 2018-02-11 13:01 (UTC)

After installation: /usr/bin/betaflight-configurator: broken symbolic link to /tmp/yaourt-tmp-diggit/aur-betaflight-configurator/pkg/betaflight-configurator/opt/betaflight/betaflight-configurator/betaflight-configurator

p4block commented on 2018-01-26 19:59 (UTC)

Works great, able to flash hard to flash boards without issues. Thanks.