Example-standalone-inferencing-master compile error this week

I can run example-standalone-inferencing-master with c++ build from deployment section last week.
But failed this week with nothing changed example-standalone-inferencing-master and new c++ build.

Failed part message when running build.bat on windows:
lite/core/api/error_reporter.o edge-impulse-sdk/tensorflow/lite/core/api/tensor_utils.o edge-impulse-sdk/tensorflow/lite/core/api/flatbuffer_conversions.o edge-impulse-sdk/tensorflow/lite/core/api/common.o -o ./build/app -lm -lstdc++, …) failed.
make (e=87): 参数错误。
mingw32-make: *** [Makefile:110: app] Error 87
“Building standalone classifier OK”

Are there any changes to the c++ build?

Hi @mzymzy2009

Not that I am aware of, let me check with the embedded team and get back to you.

Can you try:

make clean -j

Best

Eoin

Hi @mzymzy2009

No breaking changes were made for this project.

Also I’ve just followed the steps and it ran for me, try pulling to a new dir from here again: GitHub - edgeimpulse/example-standalone-inferencing: Builds and runs an exported impulse locally (C++).

Hope this helps.

Best

Eoin

@Eoin It’s ok on linux, I think it may be caused by windows word lenth limitation, the command is quite long.
I tried with clean working dir, not compiled before.

Hi @mzymzy2009

Do you encounter any OOM memory error?

You can try make -j4 (replace 4 with the number of cores available)

Best

Eoin

Just error message shown above, I tried gcc -j4 but same error.

Hi @mzymzy2009

Did you replace the line in the build.bat:

echo "Building standalone classifier"

mingw32-make CC=gcc -j

with:

echo "Building standalone classifier"

mingw32-make CC=gcc -j4

I saw that there are characters in there which we may not be accounting for that could cause the length to exceed the windows limitation? 参数错误

You can also change the first line of the script from:

@ECHO OFF

to

@ECHO ON

Please again paste the output or let us know if it resolves. So we can see if this is a specific problem for your region or machine dir location. Thanks!

@AIWintermuteAI fyi.

Best

Eoin

Still fail.

if not exist build mkdir build
g++ edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_dct4_init_q31.o edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix2_init_f16.o edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_dct4_q31.o edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix4_q31.o edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_cfft_radix2_init_q31.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_absmin_q7.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_power_q7.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_absmin_q15.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_power_q15.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_mse_f16.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_std_f16.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_max_f32.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_rms_f32.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_max_q7.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_max_q15.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_absmin_f16.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_entropy_f64.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_absmin_no_idx_q7.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_std_q15.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_absmin_no_idx_q15.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_mean_f16.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_rms_q15.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_max_q31.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_max_f16.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_max_no_idx_q31.o edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/arm_max_no_idx_q7.o edge-impulse-sdk/tensorflow/lite/c/common.o source/main.o tflite-model/tflite_learn_5_compiled.o edge-impulse-sdk/dsp/kissfft/kiss_fftr.o edge-impulse-sdk/dsp/kissfft/kiss_fft.o edge-impulse-sdk/dsp/dct/fast-dct-fft.o edge-impulse-sdk/dsp/memory.o edge-impulse-sdk/porting/posix/debug_log.o edge-impulse-sdk/porting/posix/ei_classifier_porting.o edge-impulse-sdk/porting/mingw32/debug_log.o edge-impulse-sdk/porting/mingw32/ei_classifier_porting.o edge-impulse-sdk/tensorflow/lite/kernels/kernel_util_lite.o edge-impulse-sdk/tensorflow/lite/kernels/tree_ensemble_classifier.o edge-impulse-sdk/tensorflow/lite/kernels/internal/quantization_util.o edge-impulse-sdk/tensorflow/lite/kernels/internal/reference_portable_tensor_utils.o edge-impulse-sdk/tensorflow/lite/kernels/internal/tensor_utils.o edge-impulse-sdk/tensorflow/lite/kernels/internal/portable_tensor_utils.o edge-impulse-sdk/tensorflow/lite/micro/kernels/neg.o edge-impulse-sdk/tensorflow/lite/micro/kernels/scratch_buffers.o edge-impulse-sdk/tensorflow/lite/micro/kernels/maximum_minimum.o edge-impulse-sdk/tensorflow/lite/micro/kernels/select.o edge-impulse-sdk/tensorflow/lite/micro/kernels/read_variable.o edge-impulse-sdk/tensorflow/lite/micro/kernels/quantize_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/assign_variable.o edge-impulse-sdk/tensorflow/lite/micro/kernels/cumsum.o edge-impulse-sdk/tensorflow/lite/micro/kernels/quantize.o edge-impulse-sdk/tensorflow/lite/micro/kernels/mul_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/hard_swish_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/strided_slice.o edge-impulse-sdk/tensorflow/lite/micro/kernels/shape.o edge-impulse-sdk/tensorflow/lite/micro/kernels/resize_bilinear.o edge-impulse-sdk/tensorflow/lite/micro/kernels/pooling.o edge-impulse-sdk/tensorflow/lite/micro/kernels/hard_swish.o edge-impulse-sdk/tensorflow/lite/micro/kernels/svdf.o edge-impulse-sdk/tensorflow/lite/micro/kernels/logistic_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/complex_abs.o edge-impulse-sdk/tensorflow/lite/micro/kernels/if.o edge-impulse-sdk/tensorflow/lite/micro/kernels/exp.o edge-impulse-sdk/tensorflow/lite/micro/kernels/add_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/unidirectional_sequence_lstm.o edge-impulse-sdk/tensorflow/lite/micro/kernels/rfft2d.o edge-impulse-sdk/tensorflow/lite/micro/kernels/gather_nd.o edge-impulse-sdk/tensorflow/lite/micro/kernels/squeeze.o edge-impulse-sdk/tensorflow/lite/micro/kernels/unpack.o edge-impulse-sdk/tensorflow/lite/micro/kernels/reduce.o edge-impulse-sdk/tensorflow/lite/micro/kernels/arg_min_max.o edge-impulse-sdk/tensorflow/lite/micro/kernels/space_to_depth.o edge-impulse-sdk/tensorflow/lite/micro/kernels/ceil.o edge-impulse-sdk/tensorflow/lite/micro/kernels/mli_slicers.o edge-impulse-sdk/tensorflow/lite/micro/kernels/tanh.o edge-impulse-sdk/tensorflow/lite/micro/kernels/l2norm.o edge-impulse-sdk/tensorflow/lite/micro/kernels/transpose.o edge-impulse-sdk/tensorflow/lite/micro/kernels/elu.o edge-impulse-sdk/tensorflow/lite/micro/kernels/log_softmax.o edge-impulse-sdk/tensorflow/lite/micro/kernels/mirror_pad.o edge-impulse-sdk/tensorflow/lite/micro/kernels/prelu_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/mul.o edge-impulse-sdk/tensorflow/lite/micro/kernels/leaky_relu_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/prelu.o edge-impulse-sdk/tensorflow/lite/micro/kernels/kernel_util_micro.o edge-impulse-sdk/tensorflow/lite/micro/kernels/slice.o edge-impulse-sdk/tensorflow/lite/micro/kernels/logical_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/depth_to_space.o edge-impulse-sdk/tensorflow/lite/micro/kernels/comparisons.o edge-impulse-sdk/tensorflow/lite/micro/kernels/add.o edge-impulse-sdk/tensorflow/lite/micro/kernels/logical.o edge-impulse-sdk/tensorflow/lite/micro/kernels/expand_dims.o edge-impulse-sdk/tensorflow/lite/micro/kernels/split.o edge-impulse-sdk/tensorflow/lite/micro/kernels/call_once.o edge-impulse-sdk/tensorflow/lite/micro/kernels/fully_connected_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/reshape.o edge-impulse-sdk/tensorflow/lite/micro/kernels/lstm_eval.o edge-impulse-sdk/tensorflow/lite/micro/kernels/svdf_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/fully_connected.o edge-impulse-sdk/tensorflow/lite/micro/kernels/mli_interface.o edge-impulse-sdk/tensorflow/lite/micro/kernels/elementwise.o edge-impulse-sdk/tensorflow/lite/micro/kernels/l2_pool_2d.o edge-impulse-sdk/tensorflow/lite/micro/kernels/floor_mod.o edge-impulse-sdk/tensorflow/lite/micro/kernels/squared_difference.o edge-impulse-sdk/tensorflow/lite/micro/kernels/concatenation.o edge-impulse-sdk/tensorflow/lite/micro/kernels/div.o edge-impulse-sdk/tensorflow/lite/micro/kernels/circular_buffer_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/floor.o edge-impulse-sdk/tensorflow/lite/micro/kernels/round.o edge-impulse-sdk/tensorflow/lite/micro/kernels/gather.o edge-impulse-sdk/tensorflow/lite/micro/kernels/kernel_runner.o edge-impulse-sdk/tensorflow/lite/micro/kernels/tree_ensemble_classifier.o edge-impulse-sdk/tensorflow/lite/micro/kernels/depthwise_conv_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/detection_postprocess.o edge-impulse-sdk/tensorflow/lite/micro/kernels/add_n.o edge-impulse-sdk/tensorflow/lite/micro/kernels/dequantize_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/scratch_buf_mgr.o edge-impulse-sdk/tensorflow/lite/micro/kernels/split_v.o edge-impulse-sdk/tensorflow/lite/micro/kernels/sub.o edge-impulse-sdk/tensorflow/lite/micro/kernels/conv.o edge-impulse-sdk/tensorflow/lite/micro/kernels/sub_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/conv_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/activations_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/dequantize.o edge-impulse-sdk/tensorflow/lite/micro/kernels/logistic.o edge-impulse-sdk/tensorflow/lite/micro/kernels/broadcast_to.o edge-impulse-sdk/tensorflow/lite/micro/kernels/activations.o edge-impulse-sdk/tensorflow/lite/micro/kernels/leaky_relu.o edge-impulse-sdk/tensorflow/lite/micro/kernels/transpose_conv.o edge-impulse-sdk/tensorflow/lite/micro/kernels/pack.o edge-impulse-sdk/tensorflow/lite/micro/kernels/resize_nearest_neighbor.o edge-impulse-sdk/tensorflow/lite/micro/kernels/floor_div.o edge-impulse-sdk/tensorflow/lite/micro/kernels/softmax_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/ethosu.o edge-impulse-sdk/tensorflow/lite/micro/kernels/pad.o edge-impulse-sdk/tensorflow/lite/micro/kernels/var_handle.o edge-impulse-sdk/tensorflow/lite/micro/kernels/pooling_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/softmax.o edge-impulse-sdk/tensorflow/lite/micro/kernels/batch_matmul.o edge-impulse-sdk/tensorflow/lite/micro/kernels/batch_to_space_nd.o edge-impulse-sdk/tensorflow/lite/micro/kernels/cast.o edge-impulse-sdk/tensorflow/lite/micro/kernels/micro_tensor_utils.o edge-impulse-sdk/tensorflow/lite/micro/kernels/circular_buffer.o edge-impulse-sdk/tensorflow/lite/micro/kernels/space_to_batch_nd.o edge-impulse-sdk/tensorflow/lite/micro/kernels/depthwise_conv.o edge-impulse-sdk/tensorflow/lite/micro/kernels/fill.o edge-impulse-sdk/tensorflow/lite/micro/kernels/while.o edge-impulse-sdk/tensorflow/lite/micro/kernels/real.o edge-impulse-sdk/tensorflow/lite/micro/kernels/broadcast_args.o edge-impulse-sdk/tensorflow/lite/micro/kernels/reduce_common.o edge-impulse-sdk/tensorflow/lite/micro/kernels/zeros_like.o edge-impulse-sdk/tensorflow/lite/micro/system_setup.o edge-impulse-sdk/tensorflow/lite/micro/recording_micro_allocator.o edge-impulse-sdk/tensorflow/lite/micro/flatbuffer_utils.o edge-impulse-sdk/tensorflow/lite/micro/micro_interpreter.o edge-impulse-sdk/tensorflow/lite/micro/all_ops_resolver.o edge-impulse-sdk/tensorflow/lite/micro/micro_context.o edge-impulse-sdk/tensorflow/lite/micro/mock_micro_graph.o edge-impulse-sdk/tensorflow/lite/micro/micro_graph.o edge-impulse-sdk/tensorflow/lite/micro/op_resolver_bridge.o edge-impulse-sdk/tensorflow/lite/micro/micro_string.o edge-impulse-sdk/tensorflow/lite/micro/micro_utils.o edge-impulse-sdk/tensorflow/lite/micro/micro_profiler.o edge-impulse-sdk/tensorflow/lite/micro/flatbuffer_conversions_bridge.o edge-impulse-sdk/tensorflow/lite/micro/micro_allocator.o edge-impulse-sdk/tensorflow/lite/micro/micro_log.o edge-impulse-sdk/tensorflow/lite/micro/fake_micro_context.o edge-impulse-sdk/tensorflow/lite/micro/micro_allocation_info.o edge-impulse-sdk/tensorflow/lite/micro/micro_resource_variable.o edge-impulse-sdk/tensorflow/lite/micro/micro_time.o edge-impulse-sdk/tensorflow/lite/micro/test_helpers.o edge-impulse-sdk/tensorflow/lite/micro/memory_helpers.o edge-impulse-sdk/tensorflow/lite/micro/test_helper_custom_ops.o edge-impulse-sdk/tensorflow/lite/micro/recording_single_arena_buffer_allocator.o edge-impulse-sdk/tensorflow/lite/micro/micro_error_reporter.o edge-impulse-sdk/tensorflow/lite/micro/schema_utils.o edge-impulse-sdk/tensorflow/lite/micro/non_persistent_arena_buffer_allocator.o edge-impulse-sdk/tensorflow/lite/micro/persistent_arena_buffer_allocator.o edge-impulse-sdk/tensorflow/lite/micro/single_arena_buffer_allocator.o edge-impulse-sdk/tensorflow/lite/micro/memory_planner/non_persistent_buffer_planner_shim.o edge-impulse-sdk/tensorflow/lite/micro/memory_planner/greedy_memory_planner.o edge-impulse-sdk/tensorflow/lite/micro/memory_planner/linear_memory_planner.o edge-impulse-sdk/tensorflow/lite/core/api/op_resolver.o edge-impulse-sdk/tensorflow/lite/core/api/error_reporter.o edge-impulse-sdk/tensorflow/lite/core/api/tensor_utils.o edge-impulse-sdk/tensorflow/lite/core/api/flatbuffer_conversions.o edge-impulse-sdk/tensorflow/lite/core/api/common.o -o ./build/app -lm -lstdc++, …) failed.
make (e=87): 参数错误。
mingw32-make: *** [Makefile:110: app] Error 87

C:\Users\john.ma\Desktop\audio_ai\a>echo “Building standalone classifier OK”
“Building standalone classifier OK”

Above is not the full message.
When I upload, it shows :An error occurred: Body is limited to 32000 characters; you entered 74377.

@ECHO ON
SETLOCAL ENABLEDELAYEDEXPANSION
setlocal
REM go to the folder where this bat script is located
cd /d %~dp0

where /q mingw32-make
IF ERRORLEVEL 1 (
GOTO MISSINGMINGW32
)

where /q gcc
IF ERRORLEVEL 1 (
GOTO MISSINGMINGW32
)

echo “Building standalone classifier”

mingw32-make CC=gcc -j4

echo “Building standalone classifier OK”

exit /b 0

:MISSINGMINGW32
echo Cannot find ‘mingw32-make’ or ‘gcc’ in your PATH. Install MinGW-W64 to continue.
echo Download link: Download mingw-w64-install.exe (MinGW-w64 - for 32 and 64 bit Windows)
echo Or see Compiling Mbed TLS in MinGW — Mbed TLS documentation for further instructions.
@pause
exit /b 1