[Ovmsdev] getting started, make errors from debug options?

Stephen Casner casner at acm.org
Fri Dec 20 14:53:01 HKT 2019


Dale,

It is advised to start with .../OVMS.V3/support/sdkconfig.default.hw31
as your sdkconfig and make adjustments from there.

The error you hit is a bug.  The way the conditional compilation is
handled in ovms_module.cpp is to have a dummy instance of the function
that gets included when the necessary infrastructure configurations
are not included.  That dummy instance was not added when the real
module_tasks_data() function was added.  I can fix that.

                                                        -- Steve

On Thu, 19 Dec 2019, Dale wrote:

> Sorry, I'm still having trouble.  Dabbling in many things to become
> dangerous, but mastering none.  I'm still not able to make successfully.
>
> I'm not sure what I did to get past the previous make error.  Maybe
> initially I didn't choose all the defaults and got something set wrong.  Do
> I delete the sdkconfig file to get back to no settings and then it will ask
> all the options first time running make?
>
> I think I have openvehicles esp-idf and ovms latest versions from GIT
> correctly installed.  I chose defaults in make menuconfig (except setting
> the correct USB port), and chose defaults when GENCONFIG runs from make.
> I changed to other OVMS versions between 3.2.000 and 3.2.008 and current
> master, all with same error occurring.
>
> It errors out in ovms_module, with module_tasks_data not declared in this
> scope.   It looks like related to having debugging options selected or
> not?  The #ifdef conditional sections contain the declaration of
> module_tasks_data, so it doesn't get declared, but it is still used.
>
> Am I missing setting some option for make or configuring compile options?
>   It must be one of these?
> #ifndef CONFIG_HEAP_TASK_TRACKING
> #define NOGO 1
> #endif
> #if configUSE_TRACE_FACILITY==0
> #define NOGO 1
> #endif
> #ifdef CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION
> #define NOGO 1
> #endif
>
>
> ~/Leaf/OVMS/v3/vehicle/OVMS.V3$ make
> Toolchain path:
> /home/dklein/Leaf/OVMS/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
> Toolchain version: crosstool-ng-1.22.0-80-g6c4433a
> Compiler version: 5.2.0
> Python requirements from
> /homez/dklein/Documents/Projects/Leaf/OVMS/esp-idf/requirements.txt are
> satisfied.
>
> App "ovms3" version: 3.2.008-15-gca307f88-dirty
> CXX
> /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/build/main/ovms_module.o
>
> /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/main/ovms_module.cpp:
> In function 'void module_eventhandler(st
> d::__cxx11::string, void*)':
> /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/main/ovms_module.cpp:973:47:
> error:
> 'module_tasks_data' was no
> t declared in this scope
>       module_tasks_data(0, NULL, NULL, 0, NULL);
>                                               ^
> /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/main/ovms_module.cpp:
> In constructor 'OvmsModuleInit::OvmsModu
> leInit()':
> /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/main/ovms_module.cpp:1048:73:
> error:
> 'module_tasks_data' was n
> ot declared in this scope
>     cmd_tasks->RegisterCommand("data","Output module task stats
> record",module_tasks_data);
>                                                                         ^
> /homez/dklein/Documents/Projects/Leaf/OVMS/esp-idf/make/
> component_wrapper.mk:289: recipe for target 'ovms_module.o' failed
> make[1]: *** [ovms_module.o] Error 1
> /home/dklein/Documents/Projects/Leaf/OVMS/esp-idf/make/project.mk:552:
> recipe for target 'component-main-build' failed
> make: *** [component-main-build] Error 2
>
>
> Thanks!     Dale
>


More information about the OvmsDev mailing list