Skip to content

New Rocky Watchface Fails to Build #84

@TheDunco

Description

@TheDunco

I posted this issue to the Rebble forum as well, but for a brief summary, I’ve been trying to start developing a watchface with Rocky following this tutorial but have not been able to get the initialized watchface to build.

I tried setting up my environment locally on my MacOS device as well as in the VSCode Cloud IDE. In both environments, I created a new Rocky watchface project with the latest SDK, and like the tutorial says tried running pebble new-project –rocky rockyface, cd rockyface, but when I run pebble build I get this Python TypeError: expected str, bytes or os.PathLike object, not list

$ pebble build
Setting top to                           : /workspaces/codespaces-pebble/rockyface 
Setting out to                           : /workspaces/codespaces-pebble/rockyface/build 
Checking for program 'webpack'           : /home/vscode/.pebble-sdk/SDKs/current/node_modules/.bin/webpack 
Checking for program 'node, nodejs'      : /usr/local/share/nvm/versions/node/v24.11.1/bin/node 
Found Pebble SDK for flint in:           : /home/vscode/.pebble-sdk/SDKs/current/sdk-core/pebble/flint 
Checking for program 'gcc, cc'           : arm-none-eabi-gcc 
Checking for program 'ar'                : arm-none-eabi-ar 
Checking if the -o link must be split from arguments : yes 
Found Pebble SDK for emery in:                       : /home/vscode/.pebble-sdk/SDKs/current/sdk-core/pebble/emery 
Checking for program 'gcc, cc'                       : arm-none-eabi-gcc 
Checking for program 'ar'                            : arm-none-eabi-ar 
Checking if the -o link must be split from arguments : yes 
Found Pebble SDK for diorite in:                     : /home/vscode/.pebble-sdk/SDKs/current/sdk-core/pebble/diorite 
Checking for program 'gcc, cc'                       : arm-none-eabi-gcc 
Checking for program 'ar'                            : arm-none-eabi-ar 
Checking if the -o link must be split from arguments : yes 
Found Pebble SDK for chalk in:                       : /home/vscode/.pebble-sdk/SDKs/current/sdk-core/pebble/chalk 
Checking for program 'gcc, cc'                       : arm-none-eabi-gcc 
Checking for program 'ar'                            : arm-none-eabi-ar 
Checking if the -o link must be split from arguments : yes 
Found Pebble SDK for basalt in:                      : /home/vscode/.pebble-sdk/SDKs/current/sdk-core/pebble/basalt 
Checking for program 'gcc, cc'                       : arm-none-eabi-gcc 
Checking for program 'ar'                            : arm-none-eabi-ar 
Checking if the -o link must be split from arguments : yes 
'configure' finished successfully (0.794s)
Waf: Entering directory `/workspaces/codespaces-pebble/rockyface/build'
[ 5/20] Compiling flint | reso: build/resources/rocky-app.js -> build/flint/resources/rocky-app.js.JS_SNAPSHOT.reso
[11/20] Processing flint | lint_js: src/rocky/index.js
Waf: Leaving directory `/workspaces/codespaces-pebble/rockyface/build'
Build failed
Traceback (most recent call last):
  File "/home/vscode/.pebble-sdk/SDKs/current/sdk-core/pebble/.waf3-2.1.4-e7919c666152db2545b931e52107c4b8/waflib/Task.py", line 179, in process
    ret=self.run()
        ^^^^^^^^^^
  File "/home/vscode/.pebble-sdk/SDKs/current/sdk-core/pebble/.waf3-2.1.4-e7919c666152db2545b931e52107c4b8/waflib/extras/process_js.py", line 132, in run
    proc=subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.12/subprocess.py", line 1826, in _execute_child
    and os.path.dirname(executable)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen posixpath>", line 181, in dirname
TypeError: expected str, bytes or os.PathLike object, not list

Traceback (most recent call last):
  File "/home/vscode/.pebble-sdk/SDKs/current/sdk-core/pebble/.waf3-2.1.4-e7919c666152db2545b931e52107c4b8/waflib/Task.py", line 179, in process
    ret=self.run()
        ^^^^^^^^^^
  File "/home/vscode/.pebble-sdk/SDKs/current/sdk-core/pebble/.waf3-2.1.4-e7919c666152db2545b931e52107c4b8/waflib/extras/generate_resource_ball.py", line 13, in run
    reso=resource_generator.generate_object(self,self.definition)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vscode/.pebble-sdk/SDKs/current/sdk-core/pebble/common/waftools/resources/resource_map/resource_generator.py", line 90, in generate_object
    return cls.generate_object(task, definition)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vscode/.pebble-sdk/SDKs/current/sdk-core/pebble/common/waftools/resources/resource_map/resource_generator_js.py", line 55, in generate_object
    task.generator.bld.fatal("JS compilation failed.\n"
  File "/home/vscode/.pebble-sdk/SDKs/current/sdk-core/pebble/.waf3-2.1.4-e7919c666152db2545b931e52107c4b8/waflib/Context.py", line 263, in fatal
    raise self.errors.ConfigurationError(msg,ex=ex)
waflib.Errors.ConfigurationError: JS compilation failed.
STDOUT: 
STDERR: node:fs:560
  return binding.open(
                 ^

Error: ENOENT: no such file or directory, open '/home/vscode/.pebble-sdk/SDKs/4.9.77/sdk-core/pebble/common/tools/js_tooling.wasm'
    at Object.openSync (node:fs:560:18)
    at Object.readFileSync (node:fs:444:35)
    at S (/home/vscode/.pebble-sdk/SDKs/4.9.77/sdk-core/pebble/common/tools/js_tooling.js:2:423)
    at sa (/home/vscode/.pebble-sdk/SDKs/4.9.77/sdk-core/pebble/common/tools/js_tooling.js:1:270)
    at /home/vscode/.pebble-sdk/SDKs/4.9.77/sdk-core/pebble/common/tools/js_tooling.js:11:468
    at /home/vscode/.pebble-sdk/SDKs/4.9.77/sdk-core/pebble/common/tools/js_tooling.js:11:491
    at Object.<anonymous> (/home/vscode/.pebble-sdk/SDKs/4.9.77/sdk-core/pebble/common/tools/js_tooling.js:18:333)
    at Module._compile (node:internal/modules/cjs/loader:1761:14)
    at Object..js (node:internal/modules/cjs/loader:1893:10)
    at Module.load (node:internal/modules/cjs/loader:1481:32) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/home/vscode/.pebble-sdk/SDKs/4.9.77/sdk-core/pebble/common/tools/js_tooling.wasm'
}

Node.js v24.11.1


Build failed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions