<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Ludovic,<br>
    <br>
    the issue is bound to the docker image version, I was using
    "espressif/idf", which is "latest".<br>
    <br>
    The build works using the same sdkconfig with
    "espressif/idf:release-v5.0" (and again fails at that mbedtls module
    when switching back to the "latest" image).<br>
    <br>
    So to build the current experimental state, I recommend using the
    docker image and basically doing the steps Ludovic formalized in the
    github action:<br>
    <br>
    <font face="monospace">### SETUP ###<br>
      <br>
      cd ~/esp/Open-Vehicle-Monitoring-System-3<br>
      <br>
      # setup branch:<br>
      git remote add llange   
      <a class="moz-txt-link-abbreviated" href="mailto:git@github.com:llange/Open-Vehicle-Monitoring-System-3.git">git@github.com:llange/Open-Vehicle-Monitoring-System-3.git</a><br>
      git branch -t experimental-esp-idf-build-workflow
      llange/experimental-esp-idf-build-workflow<br>
      <br>
      # switch to branch:<br>
      git checkout experimental-esp-idf-build-workflow<br>
      git submodule update --init --recursive<br>
      <br>
      # apply mongoose patch:<br>
      git apply --directory=vehicle/OVMS.V3/components/mongoose/mongoose
      vehicle/OVMS.V3/support/mongoose-espv5.patch<br>
      <br>
      # install v5 sdkconfig defaults:<br>
      cp vehicle/OVMS.V3/support/sdkconfig.defaults.esp5
      vehicle/OVMS.V3/sdkconfig.defaults<br>
      <br>
      # install v5 idf components:<br>
      cp vehicle/OVMS.V3/support/idf_component.yml.esp5
      vehicle/OVMS.V3/main/idf_component.yml<br>
      <br>
      <br>
      ### BUILD ###<br>
      <br>
      cd ~/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3<br>
      <br>
      # launch docker shell:<br>
      docker run --rm -v $PWD:/project -w /project -it
      espressif/idf:release-v5.0<br>
      # init docker image (needs to be done on every start):<br>
      apt-get update && apt-get install -y dos2unix<br>
      <br>
      # OPTION 1: start with default config:<br>
      rm vehicle/OVMS.V3/sdkconfig<br>
      # NOTE: this will build for ESP32 >= rev3, excluding the SPIRAM
      bug workarounds<br>
      <br>
      # OPTION 2: update your existing sdkconfig:<br>
      idf.py menuconfig<br>
      # → press '/'<br>
      #   … enable FREERTOS_ENABLE_BACKWARD_COMPATIBILITY<br>
      #   … disable FREERTOS_ASSERT_ON_UNTESTED_FUNCTION<br>
      #   … disable MG_ENABLE_SSL<br>
      <br>
      # build:<br>
      idf.py build<br>
      <br>
      # flash & start USB monitor:<br>
      idf.py app-flash && idf.py monitor<br>
      <br>
    </font><br>
    The build boots & works, issues you described excluded.<br>
    <br>
    An issue I didn't expect:<br>
    <br>
    <font face="monospace">I (0) cpu_start: Starting scheduler on APP
      CPU.<br>
      E (0) task_wdt: esp_task_wdt_add(747): TWDT was never initialized<br>
      …<br>
      E (10) task_wdt: esp_task_wdt_add(747): TWDT was never initialized<br>
      <br>
      …and then repeated 4x per second:<br>
      E (3130) task_wdt: esp_task_wdt_reset(783): task not found</font><br>
    <br>
    I'll try to find the cause, as we cannot silent these ("early"
    logging) they make using the shell challenging.<br>
    <br>
    But, besides that, it has Wifi & cellular connectivity, so looks
    very promising -- nice work, Ludovic!<br>
    <br>
    Regards,<br>
    Michael<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 18.02.23 um 00:53 schrieb Ludovic
      LANGE:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6374592f-4437-244c-433b-3a58cd6c04e5@lange.nom.fr">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <div class="moz-cite-prefix">Hi Michael,</div>
      <div class="moz-cite-prefix"><br>
      </div>
      <div class="moz-cite-prefix">I'm sorry to read that you're facing
        those issues.</div>
      <div class="moz-cite-prefix"><br>
      </div>
      <div class="moz-cite-prefix">It's almost certain that my
        sdkconfig, after being changed back and forth to disable certain
        modules that would not compile, is now not in a "pristine"
        state, and that's certainly why your build and mine do not
        activate the same compilation paths.</div>
      <div class="moz-cite-prefix"><br>
      </div>
      <div class="moz-cite-prefix">I'll be interested in getting your
        sdkconfig file to see what is left to fix to have it properly
        compile.</div>
      <div class="moz-cite-prefix"><br>
      </div>
      <div class="moz-cite-prefix">(In the meantime I have forced the
        compilation of this part of the module, fixed the compilation
        errors you were likely to have, and force-pushed those fixes on
        the 2 branches experimental-esp-idf-v5 and
        experimental-esp-idf-build-workflow)</div>
      <div class="moz-cite-prefix"><br>
      </div>
      <div class="moz-cite-prefix">Regarding the linking error, I'm not
        sure why you have it, as it's looks like it is part of the
        mbedtls of ESP-IDF 5.0 - I'll see if I can reproduce it when I
        have your sdkconfig.<br>
      </div>
      <div class="moz-cite-prefix"><br>
      </div>
      <div class="moz-cite-prefix">Regards,</div>
      <div class="moz-cite-prefix"><br>
      </div>
      <div class="moz-cite-prefix">Ludovic<br>
      </div>
      <div class="moz-cite-prefix"><br>
      </div>
      <div class="moz-cite-prefix">Le 17/02/2023 à 22:54, Michael Balzer
        a écrit :<br>
      </div>
      <blockquote type="cite"
        cite="mid:d4434bed-1d56-ee50-990b-b7a96587f22d@expeedo.de">
        <meta http-equiv="Content-Type" content="text/html;
          charset=UTF-8">
        Ludovic,<br>
        <br>
        using the docker image I managed to make some progress.<br>
        <br>
        I can now start the build process, but then run into printf
        format errors on main/ovms_module.cpp, e.g.<br>
        <br>
        /project/main/ovms_module.cpp: In function 'void
        print_blocks(OvmsWriter*, TaskHandle_t, bool)':<br>
        /project/main/ovms_module.cpp:438:37: error: format '%d' expects
        argument of type 'int', but argument 4 has type 'uint32_t' {aka
        'long unsigned int'} [-Werror=format=]<br>
        <br>
        I'm here:<br>
        <br>
        commit 19e36125c6e0597c901eb82a546ef82c1dea8a1e (HEAD ->
        experimental-esp-idf-v5, llange/experimental-esp-idf-v5)<br>
        Author: Ludovic LANGE <a class="moz-txt-link-rfc2396E"
          href="mailto:llange@users.noreply.github.com"
          moz-do-not-send="true"><llange@users.noreply.github.com></a><br>
        <br>
        I thought maybe you've sorted that out in your new build branch,
        but apparently that has the same error, which leaves me
        wondering how the automated build can work…<br>
        <br>
        I see you don't have CONFIG_FREERTOS_USE_TRACE_FACILITY in your
        new "sdkconfig.defaults.esp5", so the module isn't included in
        your build. But you also have
        CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y, which automatically
        enables CONFIG_FREERTOS_USE_TRACE_FACILITY in my setup.<br>
        <br>
        Disabling both options, I just almost got through, just a final
        linker error:<br>
        <br>
        /project/components/zip/libzip/lib/zip_crypto_mbedtls.c:124:
        undefined reference to `mbedtls_pkcs5_pbkdf2_hmac'<br>
        <br>
        I assume there are more differences in your new branch /
        sdkconfig, I'll try that one next.<br>
        <br>
        Regards,<br>
        Michael<br>
        <br>
        <br>
        <div class="moz-cite-prefix">Am 10.02.23 um 09:37 schrieb
          Ludovic LANGE:<br>
        </div>
        <blockquote type="cite"
          cite="mid:189cc986-dd4a-151d-deef-3dd9feda5a3d@lange.nom.fr">
          <meta http-equiv="Content-Type" content="text/html;
            charset=UTF-8">
          <div class="moz-cite-prefix">Hi,</div>
          <div class="moz-cite-prefix"><br>
          </div>
          <div class="moz-cite-prefix">Just as a curiosity, I setup
            GitHub to build the v5 branch with "GitHub actions".</div>
          <div class="moz-cite-prefix"><br>
          </div>
          <div class="moz-cite-prefix">You can find the latest runs here
            : <a class="moz-txt-link-freetext"
href="https://github.com/llange/Open-Vehicle-Monitoring-System-3/actions"
              moz-do-not-send="true">https://github.com/llange/Open-Vehicle-Monitoring-System-3/actions</a></div>
          <div class="moz-cite-prefix"><br>
          </div>
          <div class="moz-cite-prefix">The configuration file is here :
            <a class="moz-txt-link-freetext"
href="https://github.com/llange/Open-Vehicle-Monitoring-System-3/blob/experimental-esp-idf-build-workflow/.github/workflows/build-ovms.yml"
              moz-do-not-send="true">https://github.com/llange/Open-Vehicle-Monitoring-System-3/blob/experimental-esp-idf-build-workflow/.github/workflows/build-ovms.yml</a></div>
          <div class="moz-cite-prefix"><br>
          </div>
          <div class="moz-cite-prefix"><i>Note: It's a specific branch
              because I had to add some configuration files (default
              sdkconfig options for example), change the reference to
              wolfssl submodule, add a patch for our mongoose version,
              ... ; but in the future I could make a PR for this feature
              if we find it useful.</i></div>
          <div class="moz-cite-prefix"><i>(I also would like to
              experiment a little bit with static code analysis, unit
              tests, etc...)</i></div>
          <div class="moz-cite-prefix"><br>
          </div>
          <div class="moz-cite-prefix">Regards,<br>
          </div>
          <div class="moz-cite-prefix"><br>
          </div>
          <div class="moz-cite-prefix">Le 06/02/2023 à 15:23, Ludovic
            LANGE a écrit :<br>
          </div>
          <blockquote type="cite"
            cite="mid:15321ef3-ca26-7026-32df-0bcbe8a60ab4@lange.nom.fr">
            <meta http-equiv="Content-Type" content="text/html;
              charset=UTF-8">
            <div class="moz-cite-prefix">Hi again,</div>
            <div class="moz-cite-prefix"><br>
            </div>
            <div class="moz-cite-prefix">Additionally, I've just
              verified that the official docker image for ESP-IDF (doc:
              <a class="moz-txt-link-freetext"
href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-docker-image.html"
                moz-do-not-send="true">https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-docker-image.html</a>
              ) is able to build the branch.</div>
            <div class="moz-cite-prefix"><br>
            </div>
            <div class="moz-cite-prefix">The only thing to add to the
              image is the "dos2unix" utility ("apt update &&
              apt-get install dos2unix"), after that you'll be able to
              build the image.</div>
            <div class="moz-cite-prefix"><br>
            </div>
            <div class="moz-cite-prefix">Do not forget to update your
              sdkconfig (enabling FreeRTOS compatibility and unchecking
              SSL for mongoose) before building, and to do the patches
              for mongoose / wolfssl as described here: <a
                class="moz-txt-link-freetext"
href="https://github.com/llange/Open-Vehicle-Monitoring-System-3/blob/experimental-esp-idf-v5/README.md"
                moz-do-not-send="true">https://github.com/llange/Open-Vehicle-Monitoring-System-3/blob/experimental-esp-idf-v5/README.md</a><br>
            </div>
            <div class="moz-cite-prefix"><br>
            </div>
            <div class="moz-cite-prefix">Then "idf.py build" should work
              - at least !<br>
            </div>
            <div class="moz-cite-prefix"><br>
            </div>
            <div class="moz-cite-prefix">I've used the `<font
                face="monospace"><span></span>docker run --rm -v <span
                  class="nv">$PWD</span>:/project -w /project -it
                espressif/idf:<code class="docutils literal notranslate"><span
                    class="pre">release-v5.0</span></code></font>`
              command to have a shell prompt (launch that in your source
              file path)</div>
            <div class="moz-cite-prefix"><br>
            </div>
            <div class="moz-cite-prefix">Then install dos2unix, launch
              menuconfig, then build.</div>
            <div class="moz-cite-prefix"><br>
            </div>
            <div class="moz-cite-prefix">Tell me how it works for you.</div>
            <div class="moz-cite-prefix"><br>
            </div>
            <div class="moz-cite-prefix">(You may have some component
              build failure ; depending on the sdkconfig flags, I'm
              still trying to document it)</div>
            <div class="moz-cite-prefix"><br>
            </div>
            <div class="moz-cite-prefix">Regards,<br>
            </div>
            <div class="moz-cite-prefix"><br>
            </div>
          </blockquote>
          <br>
          <br>
          <fieldset class="moz-mime-attachment-header"></fieldset>
          <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
        </blockquote>
        <br>
        <pre class="moz-signature" cols="72">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
        <br>
        <fieldset class="moz-mime-attachment-header"></fieldset>
        <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
      </blockquote>
      <p><br>
      </p>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
  </body>
</html>