Unable to compile imported PhoneGap Build project - Utf8Value() error

I’m trying to build a simple Android app that works fine on Adobe’s PhoneGap Build service.

The debug build fails with an incomprehensible compiler error.

Has anyone here any ideas ?

 g++ '-DNODE_GYP_MODULE_NAME=binding' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DBUILDING_NODE_EXTENSION' -I/root/.node-gyp/12.18.4/include/node -I/root/.node-gyp/12.18.4/src -I/root/.node-gyp/12.18.4/deps/openssl/config -I/root/.node-gyp/12.18.4/deps/openssl/openssl/include -I/root/.node-gyp/12.18.4/deps/uv/include -I/root/.node-gyp/12.18.4/deps/zlib -I/root/.node-gyp/12.18.4/deps/v8/include -I../../nan -I../src/libsass/include  -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -m64 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++1y -std=c++0x -MMD -MF ./Release/.deps/Release/obj.target/binding/src/create_string.o.d.raw   -c -o Release/obj.target/binding/src/create_string.o ../src/create_string.cpp
../src/create_string.cpp: In function ‘char* create_string(Nan::MaybeLocal<v8::Value>)’:
../src/create_string.cpp:17:37: error: no matching function for call to ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>&)’
   v8::String::Utf8Value string(value);
                                     ^
In file included from /root/.node-gyp/12.18.4/include/node/node.h:67:0,
                 from ../../nan/nan.h:56,
                 from ../src/create_string.cpp:1:
/root/.node-gyp/12.18.4/include/node/v8.h:3135:5: note: candidate: v8::String::Utf8Value::Utf8Value(v8::Isolate*, v8::Local<v8::Value>)
     Utf8Value(Isolate* isolate, Local<v8::Value> obj);
     ^~~~~~~~~
/root/.node-gyp/12.18.4/include/node/v8.h:3135:5: note:   candidate expects 2 arguments, 1 provided
binding.target.mk:131: recipe for target 'Release/obj.target/binding/src/create_string.o' failed
make: *** [Release/obj.target/binding/src/create_string.o] Error 1

I removed a bunch of stuff from package.json to try and get somewhere, even changed my id="" in package.json (it did have more than two dots) but still builds fail with

[10:48:46]: Adding Android platform...
[10:48:46]: $ cordova platform add android --no-fetch
[10:48:46]: ▸ You have been opted out of telemetry. To change this, run: cordova telemetry on.
[10:48:46]: ▸ Using cordova-fetch for cordova-android@~4.1.1
[10:48:49]: ▸ Adding android project...
[10:48:49]: ▸ The package at "/builds/extravision/watson-marlow-pumps/node_modules/cordova-android" does not appear to implement the Cordova Platform API.
[10:48:49]: ▸ Error: Package name must look like: com.company.Name
+----------------------------+-----------------------+
|                    Lane Context                    |
+----------------------------+-----------------------+
| DEFAULT_PLATFORM           | ios                   |
| PLATFORM_NAME              | android               |
| LANE_NAME                  | android package_build |
| PROJECT_WEB_DIR            | www                   |
| DOWNLOAD_CREDENTIAL_EXISTS | false                 |
+----------------------------+-----------------------+
[10:48:49]: Shell command exited with exit status 1 instead of 0.

You have been opted out of telemetry. To change this, run: cordova telemetry on.
Using cordova-fetch for cordova-android@~4.1.1
Adding android project...
The package at "/builds/extravision/watson-marlow-pumps/node_modules/cordova-android" does not appear to implement the Cordova Platform API.
Error: Package name must look like: com.company.Name

Ahh, what this error means is you need to set

<engine name="android" spec="^8.0.0">

in config.xml

Of course, this is a pain if you need to target older Android, that should still be supporting as far as I can tell from https://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html#requirements-and-support