Jump to content

Recommended Posts

Posted

Moin,

normalerweise baue ich die WARP/ESP32-Firmware unter Linux (Ubuntu Server 22.04 LTS) und hatte dort bislang auch noch keine Probleme. Am Wochenende habe ich die Buildumgebung dann auch mal unter Windows und Visual Studio Code eingerichtet, der Build schlägt allerdings bei "Checking translation completeness" fehl:

Checking translation completeness
Traceback (most recent call last):
  File "Z:\warp\esp32-firmware\software\web\check_translation_completeness.py", line 98, in <module>
    main()
  File "Z:\warp\esp32-firmware\software\web\check_translation_completeness.py", line 53, in main
    used_placeholders, template_literals = util.parse_ts_files(ts_files)
  File "Z:\warp\esp32-firmware\software\util.py", line 216, in parse_ts_files
    parse_ts_file(f, os.path.basename(f), used_placeholders, template_literals)
  File "Z:\warp\esp32-firmware\software\util.py", line 195, in parse_ts_file
    content = f.read()
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 12263: character maps to <undefined>
CalledProcessError: Command '['C:\\Users\\thein\\.platformio\\penv\\Scripts\\python.exe', '-u', 'check_translation_completeness.py', 'device_name', 'proxy', 'network_start', 'network', 'wifi', 'ntp', 'wireguard', 'network_end', 'interfaces_start', 'mqtt', 'interfaces_end', 'system_start', 'authentication', 'event_log', 'firmware_update', 'system_end', 'tf_branding']' returned non-zero exit status 1.:
  File "C:\Users\thein\.platformio\penv\lib\site-packages\platformio\builder\main.py", line 181:
    env.SConscript(item, exports="env")
  File "C:\Users\thein\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Script\SConscript.py", line 597:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\thein\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Script\SConscript.py", line 285:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "Z:\warp\esp32-firmware\software\pio_hooks.py", line 816:
    main()
  File "Z:\warp\esp32-firmware\software\pio_hooks.py", line 678:
    subprocess.check_call([env.subst('$PYTHONEXE'), "-u", "check_translation_completeness.py"] + [x.under for x in frontend_modules])
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 373:
    raise CalledProcessError(retcode, cmd)

 

Kommentiert man den folgenden Aufruf aus, so geht's erstmal bis weiter bis "Checking HTML ID usage":

    print('Checking translation completeness')

    with ChangedDirectory('web'):
        subprocess.check_call([env.subst('$PYTHONEXE'), "-u", "check_translation_completeness.py"] + [x.under for x in frontend_modules])

 

Checking HTML ID usage
Traceback (most recent call last):
  File "Z:\warp\esp32-firmware\software\web\check_id_usage.py", line 36, in <module>
    content = f.read()
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 12263: character maps to <undefined>
CalledProcessError: Command '['C:\\Users\\thein\\.platformio\\penv\\Scripts\\python.exe', '-u', 'check_id_usage.py', 'device_name', 'proxy', 'network_start', 'network', 'wifi', 'ntp', 'wireguard', 'network_end', 'interfaces_start', 'mqtt', 'interfaces_end', 'system_start', 'authentication', 'event_log', 'firmware_update', 'system_end', 'tf_branding']' returned non-zero exit status 1.:
  File "C:\Users\thein\.platformio\penv\lib\site-packages\platformio\builder\main.py", line 181:
    env.SConscript(item, exports="env")
  File "C:\Users\thein\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Script\SConscript.py", line 597:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\thein\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Script\SConscript.py", line 285:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "Z:\warp\esp32-firmware\software\pio_hooks.py", line 816:
    main()
  File "Z:\warp\esp32-firmware\software\pio_hooks.py", line 810:
    subprocess.check_call([env.subst('$PYTHONEXE'), "-u", "check_id_usage.py"] + [x.under for x in frontend_modules])
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 373:
    raise CalledProcessError(retcode, cmd)

 

Kommentiert man auch diesen Aufruf aus, so wird die Firmware erfolgreich gebaut.

    print("Checking HTML ID usage")
    with ChangedDirectory('web'):
        subprocess.check_call([env.subst('$PYTHONEXE'), "-u", "check_id_usage.py"] + [x.under for x in frontend_modules])

 

Habe ich bei der Einrichtung etwas vergessen oder evtl. nicht die richtigen Versionen installiert?

 

Vielen Dank & Gruß Thomas

Posted

Python verwendet auf Windows CP1252 als Encoding, auf Linux aber UTF-8. Wir entwicklen hier alle auf Linux, daher ist es leider nicht aufgefallen, dass wir nicht an allen Stellen Textdateien explizit als UTF-8 öffnen, sorry. Ich habe das gerade im git Repo repariert.

  • Thanks 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...