[Ovmsdev] Scripting: Duktape update to version 2.5.0
Craig Leres
leres at xse.com
Thu Jan 2 15:22:34 HKT 2020
On 2019-12-29 05:32, Michael Balzer wrote:
> yes, that looks like a compiler bug. It doesn't show with crosstool-ng-1.22.0-98-g4638c4f, so it seems that version does include some gcc fixes.
Actually I don't think it's necessarily a compiler bug. Looking more
closely I see that it isn't directly assigned between when it's declared
and the error line. Examining the code shows "func" is probably being
updated as a side effect of this call:
if (DUK_LIKELY(duk__resolve_target_fastpath_check(thr,
idx_func, &func, call_flags) != 0U)) {
The error goes away if func is initialized to NULL when it is declared
(confusingly in components/duktape/src/duktape.c, not
components/duktape/src-input/duk_js_call.c or
components/duktape/src-separate/duk_js_call.c).
What toolchain version are you using? I have:
ice 1238 % xtensa-esp32-elf-c++ --version
xtensa-esp32-elf-c++ (crosstool-NG
crosstool-ng-1.22.0-80-g6c4433a5) 5.2.0
Which is what is specified if I following the links:
https://github.com/openvehicles/esp-idf
https://docs.espressif.com/projects/esp-idf/en/stable/get-started/
https://docs.espressif.com/projects/esp-idf/en/stable/get-started/linux-setup.html
Toolchain Setup
for 64-bit Linux:
https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz
Of course my version is built natively for FreeBSD.
I'll make a pull request for this. Meanwhile I updated again and changes
committed today:
commit b1789e8792197826b1cec71ad0178b879cc2d709
Author: Michael Balzer <balzer at expeedo.de>
Date: Wed Jan 1 19:08:03 2020 +0100
Webserver: extend /api/execute & loadcmd() by Javascript mode
breaks the compile for me, see appended. I'm currently on 9de393f4.
Craig
ice 439 % gmake
Toolchain path: /home/ice/u0/leres/bin/xtensa-esp32-elf-gcc
Toolchain version: crosstool-ng-1.22.0-80-g6c4433a5
Compiler version: 5.2.0
Python requirements from
/home/ice/u0/leres/esp/openvehicles-xtensa-esp32-elf/requirements.txt
are satisfied.
App "ovms3" version: 3.2.008-54-g9de393f4-dirty
CXX
/home/ice/u0/leres/src/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/build/ovms_script/src/ovms_script.o
/home/ice/u0/leres/src/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/ovms_script/src/ovms_script.cpp:
In member function 'bool DuktapeHTTPRequest::StartRequest(duk_context*)':
/home/ice/u0/leres/src/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/ovms_script/src/ovms_script.cpp:1128:10:
error: 'struct mg_connect_opts' has no member named 'ssl_ca_cert'
opts.ssl_ca_cert = "*";
^
/home/ice/u0/leres/src/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/ovms_script/src/ovms_script.cpp:
In member function 'void
DuktapeHTTPRequest::MongooseCallback(mg_connection*, int, void*)':
/home/ice/u0/leres/src/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/ovms_script/src/ovms_script.cpp:1188:20:
error: 'MG_SSL_ERROR' was not declared in this scope
if (err == MG_SSL_ERROR)
^
gmake[1]: ***
[/home/ice/u0/leres/esp/openvehicles-xtensa-esp32-elf/make/component_wrapper.mk:290:
src/ovms_script.o] Error 1
gmake: *** [/home/ice/u0/leres/esp/esp-idf/make/project.mk:552:
component-ovms_script-build] Error 2
More information about the OvmsDev
mailing list