TFlite minimal example failing on latest tensorflow repo

When I run latest tensorflow lite example minimal and it is failing on Linux machine with the below error
Followed steps mentioned here  and ran on x86_64 GNU/Linux
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/examples/minimal
,,,
100%] Linking CXX executable minimal
/usr/bin/ld: tensorflow-lite/libtensorflow-lite.a(register.cc.o): in function tflite::ops::builtin::BuiltinOpResolver::BuiltinOpResolver()': register.cc:(.text+0x1cd): undefined reference to tflite::ops::builtin::Register_ABS()'
/usr/bin/ld: register.cc:(.text+0x1ed): undefined reference to tflite::ops::builtin::Register_HARD_SWISH()' /usr/bin/ld: register.cc:(.text+0x207): undefined reference to tflite::ops::builtin::Register_RELU()'
/usr/bin/ld: register.cc:(.text+0x227): undefined reference to tflite::ops::builtin::Register_RELU_N1_TO_1()' /usr/bin/ld: register.cc:(.text+0x241): undefined reference to tflite::ops::builtin::Register_RELU_0_TO_1()'
/usr/bin/ld: register.cc:(.text+0x25b): undefined reference to tflite::ops::builtin::Register_RELU6()' /usr/bin/ld: register.cc:(.text+0x27b): undefined reference to tflite::ops::builtin::Register_TANH()'
/usr/bin/ld: register.cc:(.text+0x29b): undefined reference to tflite::ops::builtin::Register_LOGISTIC()' /usr/bin/ld: register.cc:(.text+0x2bb): undefined reference to tflite::ops::builtin::Register_AVERAGE_POOL_2D()'
/usr/bin/ld: register.cc:(.text+0x2db): undefined reference to tflite::ops::builtin::Register_MAX_POOL_2D()' /usr/bin/ld: register.cc:(.text+0x2fb): undefined reference to tflite::ops::builtin::Register_L2_POOL_2D()'
/usr/bin/ld: register.cc:(.text+0x315): undefined reference to tflite::ops::builtin::Register_CONV_2D()' /usr/bin/ld: register.cc:(.text+0x335): undefined reference to tflite::ops::builtin::Register_DEPTHWISE_CONV_2D()'
/usr/bin/ld: register.cc:(.text+0x355): undefined reference to tflite::ops::builtin::Register_SVDF()' /usr/bin/ld: register.cc:(.text+0x375): undefined reference to tflite::ops::builtin::Register_RNN()'
/usr/bin/ld: register.cc:(.text+0x395): undefined reference to tflite::ops::builtin::Register_BIDIRECTIONAL_SEQUENCE_RNN()' /usr/bin/ld: register.cc:(.text+0x3b5): undefined reference to tflite::ops::builtin::Register_UNIDIRECTIONAL_SEQUENCE_RNN()'
/usr/bin/ld: register.cc:(.text+0x3d5): undefined reference to tflite::ops::builtin::Register_EMBEDDING_LOOKUP()' /usr/bin/ld: register.cc:(.text+0x3f5): undefined reference to tflite::ops::builtin::Register_EMBEDDING_LOOKUP_SPARSE()'
/usr/bin/ld: register.cc:(.text+0x40f): undefined reference to tflite::ops::builtin::Register_FULLY_CONNECTED()' /usr/bin/ld: register.cc:(.text+0x42f): undefined reference to tflite::ops::builtin::Register_LSH_PROJECTION()'
/usr/bin/ld: register.cc:(.text+0x449): undefined reference to tflite::ops::builtin::Register_HASHTABLE_LOOKUP()' /usr/bin/ld: register.cc:(.text+0x463): undefined reference to tflite::ops::builtin::Register_SOFTMAX()'
/usr/bin/ld: register.cc:(.text+0x483): undefined reference to tflite::ops::builtin::Register_CONCATENATION()' /usr/bin/ld: register.cc:(.text+0x4a3): undefined reference to tflite::ops::builtin::Register_ADD()'
/usr/bin/ld: register.cc:(.text+0x4c0): undefined reference to tflite::ops::builtin::Register_SPACE_TO_BATCH_ND()' /usr/bin/ld: register.cc:(.text+0x4e0): undefined reference to tflite::ops::builtin::Register_BATCH_TO_SPACE_ND()'
/usr/bin/ld: register.cc:(.text+0x500): undefined reference to tflite::ops::builtin::Register_MUL()' /usr/bin/ld: register.cc:(.text+0x520): undefined reference to tflite::ops::builtin::Register_L2_NORMALIZATION()'
/usr/bin/ld: register.cc:(.text+0x540): undefined reference to tflite::ops::builtin::Register_LOCAL_RESPONSE_NORMALIZATION()' /usr/bin/ld: register.cc:(.text+0x55a): undefined reference to tflite::ops::builtin::Register_LSTM()'
/usr/bin/ld: register.cc:(.text+0x57a): undefined reference to tflite::ops::builtin::Register_BIDIRECTIONAL_SEQUENCE_LSTM()' /usr/bin/ld: register.cc:(.text+0x59a): undefined reference to tflite::ops::builtin::Register_UNIDIRECTIONAL_SEQUENCE_LSTM()'
/usr/bin/ld: register.cc:(.text+0x5ba): undefined reference to tflite::ops::builtin::Register_PAD()' /usr/bin/ld: register.cc:(.text+0x5da): undefined reference to tflite::ops::builtin::Register_PADV2()'
/usr/bin/ld: register.cc:(.text+0x5fa): undefined reference to tflite::ops::builtin::Register_RESHAPE()' /usr/bin/ld: register.cc:(.text+0x614): undefined reference to tflite::ops::builtin::Register_RESIZE_BILINEAR()'
/usr/bin/ld: register.cc:(.text+0x634): undefined reference to tflite::ops::builtin::Register_RESIZE_NEAREST_NEIGHBOR()' /usr/bin/ld: register.cc:(.text+0x654): undefined reference to tflite::ops::builtin::Register_SKIP_GRAM()'
/usr/bin/ld: register.cc:(.text+0x66e): undefined reference to tflite::ops::builtin::Register_SPACE_TO_DEPTH()' /usr/bin/ld: register.cc:(.text+0x68e): undefined reference to tflite::ops::builtin::Register_DEPTH_TO_SPACE()'
/usr/bin/ld: register.cc:(.text+0x6ae): undefined reference to tflite::ops::builtin::Register_GATHER()' /usr/bin/ld: register.cc:(.text+0x6ce): undefined reference to tflite::ops::builtin::Register_TRANSPOSE()'
/usr/bin/ld: register.cc:(.text+0x6ee): undefined reference to tflite::ops::builtin::Register_MEAN()' /usr/bin/ld: register.cc:(.text+0x70e): undefined reference to tflite::ops::builtin::Register_DIV()'
/usr/bin/ld: register.cc:(.text+0x72e): undefined reference to tflite::ops::builtin::Register_SUB()' /usr/bin/ld: register.cc:(.text+0x74e): undefined reference to tflite::ops::builtin::Register_SPLIT()'
/usr/bin/ld: register.cc:(.text+0x76e): undefined reference to tflite::ops::builtin::Register_SPLIT_V()' /usr/bin/ld: register.cc:(.text+0x78e): undefined reference to tflite::ops::builtin::Register_SQUEEZE()'
/usr/bin/ld: register.cc:(.text+0x7ae): undefined reference to tflite::ops::builtin::Register_STRIDED_SLICE()' /usr/bin/ld: register.cc:(.text+0x7ce): undefined reference to tflite::ops::builtin::Register_EXP()'
/usr/bin/ld: register.cc:(.text+0x7e8): undefined reference to tflite::ops::builtin::Register_TOPK_V2()' /usr/bin/ld: register.cc:(.text+0x808): undefined reference to tflite::ops::builtin::Register_LOG()'
/usr/bin/ld: register.cc:(.text+0x822): undefined reference to tflite::ops::builtin::Register_LOG_SOFTMAX()' /usr/bin/ld: register.cc:(.text+0x842): undefined reference to tflite::ops::builtin::Register_CAST()'
/usr/bin/ld: register.cc:(.text+0x862): undefined reference to tflite::ops::builtin::Register_DEQUANTIZE()' /usr/bin/ld: register.cc:(.text+0x882): undefined reference to tflite::ops::builtin::Register_PRELU()'
/usr/bin/ld: register.cc:(.text+0x89c): undefined reference to tflite::ops::builtin::Register_MAXIMUM()' /usr/bin/ld: register.cc:(.text+0x8bc): undefined reference to tflite::ops::builtin::Register_MINIMUM()'
/usr/bin/ld: register.cc:(.text+0x8dc): undefined reference to tflite::ops::builtin::Register_ARG_MAX()' /usr/bin/ld: register.cc:(.text+0x8fc): undefined reference to tflite::ops::builtin::Register_ARG_MIN()'
/usr/bin/ld: register.cc:(.text+0x91c): undefined reference to tflite::ops::builtin::Register_GREATER()' /usr/bin/ld: register.cc:(.text+0x93c): undefined reference to tflite::ops::builtin::Register_GREATER_EQUAL()'
/usr/bin/ld: register.cc:(.text+0x95c): undefined reference to tflite::ops::builtin::Register_LESS()' /usr/bin/ld: register.cc:(.text+0x97c): undefined reference to tflite::ops::builtin::Register_LESS_EQUAL()'
/usr/bin/ld: register.cc:(.text+0x99c): undefined reference to tflite::ops::builtin::Register_FLOOR()' /usr/bin/ld: register.cc:(.text+0x9b6): undefined reference to tflite::ops::builtin::Register_CEIL()'
/usr/bin/ld: register.cc:(.text+0x9d0): undefined reference to tflite::ops::builtin::Register_ROUND()' /usr/bin/ld: register.cc:(.text+0x9ea): undefined reference to tflite::ops::builtin::Register_NEG()'
/usr/bin/ld: register.cc:(.text+0xa04): undefined reference to tflite::ops::builtin::Register_SELECT()' /usr/bin/ld: register.cc:(.text+0xa24): undefined reference to tflite::ops::builtin::Register_SELECT_V2()'
/usr/bin/ld: register.cc:(.text+0xa3e): undefined reference to tflite::ops::builtin::Register_SLICE()' /usr/bin/ld: register.cc:(.text+0xa5e): undefined reference to tflite::ops::builtin::Register_SIN()'
/usr/bin/ld: register.cc:(.text+0xa78): undefined reference to tflite::ops::builtin::Register_COS()' /usr/bin/ld: register.cc:(.text+0xa92): undefined reference to tflite::ops::builtin::Register_TRANSPOSE_CONV()'
/usr/bin/ld: register.cc:(.text+0xab2): undefined reference to tflite::ops::builtin::Register_TILE()' /usr/bin/ld: register.cc:(.text+0xad2): undefined reference to tflite::ops::builtin::Register_SUM()'
/usr/bin/ld: register.cc:(.text+0xaf2): undefined reference to tflite::ops::builtin::Register_REDUCE_PROD()' /usr/bin/ld: register.cc:(.text+0xb12): undefined reference to tflite::ops::builtin::Register_REDUCE_MAX()'
/usr/bin/ld: register.cc:(.text+0xb32): undefined reference to tflite::ops::builtin::Register_REDUCE_MIN()' /usr/bin/ld: register.cc:(.text+0xb52): undefined reference to tflite::ops::builtin::Register_REDUCE_ANY()'
/usr/bin/ld: register.cc:(.text+0xb6c): undefined reference to tflite::ops::builtin::Register_REDUCE_ALL()' /usr/bin/ld: register.cc:(.text+0xb86): undefined reference to tflite::ops::builtin::Register_EXPAND_DIMS()'
/usr/bin/ld: register.cc:(.text+0xba0): undefined reference to tflite::ops::builtin::Register_SPARSE_TO_DENSE()' /usr/bin/ld: register.cc:(.text+0xbc0): undefined reference to tflite::ops::builtin::Register_EQUAL()'
/usr/bin/ld: register.cc:(.text+0xbe0): undefined reference to tflite::ops::builtin::Register_NOT_EQUAL()' /usr/bin/ld: register.cc:(.text+0xc00): undefined reference to tflite::ops::builtin::Register_SQRT()'
/usr/bin/ld: register.cc:(.text+0xc1a): undefined reference to tflite::ops::builtin::Register_RSQRT()' /usr/bin/ld: register.cc:(.text+0xc3a): undefined reference to tflite::ops::builtin::Register_SHAPE()'
/usr/bin/ld: register.cc:(.text+0xc54): undefined reference to tflite::ops::builtin::Register_RANK()' /usr/bin/ld: register.cc:(.text+0xc6e): undefined reference to tflite::ops::builtin::Register_POW()'
/usr/bin/ld: register.cc:(.text+0xc88): undefined reference to tflite::ops::builtin::Register_FAKE_QUANT()' /usr/bin/ld: register.cc:(.text+0xca8): undefined reference to tflite::ops::builtin::Register_PACK()'
/usr/bin/ld: register.cc:(.text+0xcc8): undefined reference to tflite::ops::builtin::Register_ONE_HOT()' /usr/bin/ld: register.cc:(.text+0xce2): undefined reference to tflite::ops::builtin::Register_LOGICAL_OR()'
/usr/bin/ld: register.cc:(.text+0xcfc): undefined reference to tflite::ops::builtin::Register_LOGICAL_AND()' /usr/bin/ld: register.cc:(.text+0xd16): undefined reference to tflite::ops::builtin::Register_LOGICAL_NOT()'
/usr/bin/ld: register.cc:(.text+0xd30): undefined reference to tflite::ops::builtin::Register_UNPACK()' /usr/bin/ld: register.cc:(.text+0xd50): undefined reference to tflite::ops::builtin::Register_FLOOR_DIV()'
/usr/bin/ld: register.cc:(.text+0xd70): undefined reference to tflite::ops::builtin::Register_SQUARE()' /usr/bin/ld: register.cc:(.text+0xd8a): undefined reference to tflite::ops::builtin::Register_ZEROS_LIKE()'
/usr/bin/ld: register.cc:(.text+0xda4): undefined reference to tflite::ops::builtin::Register_FLOOR_MOD()' /usr/bin/ld: register.cc:(.text+0xdbe): undefined reference to tflite::ops::builtin::Register_RANGE()'
/usr/bin/ld: register.cc:(.text+0xdd8): undefined reference to tflite::ops::builtin::Register_LEAKY_RELU()' /usr/bin/ld: register.cc:(.text+0xdf8): undefined reference to tflite::ops::builtin::Register_SQUARED_DIFFERENCE()'
/usr/bin/ld: register.cc:(.text+0xe18): undefined reference to tflite::ops::builtin::Register_FILL()' /usr/bin/ld: register.cc:(.text+0xe38): undefined reference to tflite::ops::builtin::Register_MIRROR_PAD()'
/usr/bin/ld: register.cc:(.text+0xe58): undefined reference to tflite::ops::builtin::Register_UNIQUE()' /usr/bin/ld: register.cc:(.text+0xe72): undefined reference to tflite::ops::builtin::Register_REVERSE_V2()'
/usr/bin/ld: register.cc:(.text+0xe92): undefined reference to tflite::ops::builtin::Register_ADD_N()' /usr/bin/ld: register.cc:(.text+0xeac): undefined reference to tflite::ops::builtin::Register_GATHER_ND()'
/usr/bin/ld: register.cc:(.text+0xecc): undefined reference to tflite::ops::builtin::Register_WHERE()' /usr/bin/ld: register.cc:(.text+0xeec): undefined reference to tflite::ops::builtin::Register_ELU()'
/usr/bin/ld: register.cc:(.text+0xf06): undefined reference to tflite::ops::builtin::Register_REVERSE_SEQUENCE()' /usr/bin/ld: register.cc:(.text+0xf20): undefined reference to tflite::ops::builtin::Register_MATRIX_DIAG()'
/usr/bin/ld: register.cc:(.text+0xf3a): undefined reference to tflite::ops::builtin::Register_QUANTIZE()' /usr/bin/ld: register.cc:(.text+0xf5a): undefined reference to tflite::ops::builtin::Register_MATRIX_SET_DIAG()'
/usr/bin/ld: register.cc:(.text+0xf74): undefined reference to tflite::ops::builtin::Register_IF()' /usr/bin/ld: register.cc:(.text+0xf8e): undefined reference to tflite::ops::builtin::Register_WHILE()'
/usr/bin/ld: register.cc:(.text+0xfa8): undefined reference to tflite::ops::builtin::Register_NON_MAX_SUPPRESSION_V4()' /usr/bin/ld: register.cc:(.text+0xfc2): undefined reference to tflite::ops::builtin::Register_NON_MAX_SUPPRESSION_V5()'
/usr/bin/ld: register.cc:(.text+0xfdc): undefined reference to tflite::ops::builtin::Register_SCATTER_ND()' /usr/bin/ld: register.cc:(.text+0xff6): undefined reference to tflite::ops::builtin::Register_DENSIFY()'
/usr/bin/ld: register.cc:(.text+0x1010): undefined reference to tflite::ops::builtin::Register_SEGMENT_SUM()' /usr/bin/ld: register.cc:(.text+0x102a): undefined reference to tflite::ops::builtin::Register_BATCH_MATMUL()'
/usr/bin/ld: register.cc:(.text+0x104a): undefined reference to tflite::ops::builtin::Register_CUMSUM()' /usr/bin/ld: register.cc:(.text+0x1064): undefined reference to tflite::ops::builtin::Register_BROADCAST_TO()'
/usr/bin/ld: register.cc:(.text+0x1084): undefined reference to tflite::ops::builtin::Register_CALL_ONCE()' /usr/bin/ld: register.cc:(.text+0x109e): undefined reference to tflite::ops::builtin::Register_RFFT2D()'
/usr/bin/ld: register.cc:(.text+0x10b8): undefined reference to tflite::ops::builtin::Register_CONV_3D()' /usr/bin/ld: register.cc:(.text+0x10d2): undefined reference to tflite::ops::builtin::Register_IMAG()'
/usr/bin/ld: register.cc:(.text+0x10ec): undefined reference to tflite::ops::builtin::Register_REAL()' /usr/bin/ld: register.cc:(.text+0x1106): undefined reference to tflite::ops::builtin::Register_COMPLEX_ABS()'
/usr/bin/ld: register.cc:(.text+0x1120): undefined reference to tflite::ops::builtin::Register_BROADCAST_ARGS()' /usr/bin/ld: register.cc:(.text+0x113a): undefined reference to tflite::ops::builtin::Register_HASHTABLE()'
/usr/bin/ld: register.cc:(.text+0x1154): undefined reference to tflite::ops::builtin::Register_HASHTABLE_FIND()' /usr/bin/ld: register.cc:(.text+0x116e): undefined reference to tflite::ops::builtin::Register_HASHTABLE_IMPORT()'
/usr/bin/ld: register.cc:(.text+0x1188): undefined reference to tflite::ops::builtin::Register_HASHTABLE_SIZE()' /usr/bin/ld: register.cc:(.text+0x11a2): undefined reference to tflite::ops::builtin::Register_CONV_3D_TRANSPOSE()'
/usr/bin/ld: register.cc:(.text+0x11bc): undefined reference to tflite::ops::builtin::Register_VAR_HANDLE()' /usr/bin/ld: register.cc:(.text+0x11d6): undefined reference to tflite::ops::builtin::Register_READ_VARIABLE()'
/usr/bin/ld: register.cc:(.text+0x11f0): undefined reference to tflite::ops::builtin::Register_ASSIGN_VARIABLE()' /usr/bin/ld: register.cc:(.text+0x120a): undefined reference to tflite::ops::builtin::Register_MULTINOMIAL()'
/usr/bin/ld: register.cc:(.text+0x1224): undefined reference to tflite::ops::builtin::Register_RANDOM_STANDARD_NORMAL()' /usr/bin/ld: register.cc:(.text+0x123e): undefined reference to tflite::ops::builtin::Register_BUCKETIZE()'
/usr/bin/ld: register.cc:(.text+0x1258): undefined reference to tflite::ops::builtin::Register_RANDOM_UNIFORM()' /usr/bin/ld: register.cc:(.text+0x1272): undefined reference to tflite::ops::builtin::Register_GELU()'
/usr/bin/ld: register.cc:(.text+0x1292): undefined reference to tflite::ops::builtin::Register_DYNAMIC_UPDATE_SLICE()' /usr/bin/ld: register.cc:(.text+0x12ac): undefined reference to tflite::ops::builtin::Register_UNSORTED_SEGMENT_PROD()'
/usr/bin/ld: register.cc:(.text+0x12c6): undefined reference to tflite::ops::builtin::Register_UNSORTED_SEGMENT_MAX()' /usr/bin/ld: register.cc:(.text+0x12e0): undefined reference to tflite::ops::builtin::Register_UNSORTED_SEGMENT_MIN()'
/usr/bin/ld: register.cc:(.text+0x12fa): undefined reference to tflite::ops::builtin::Register_UNSORTED_SEGMENT_SUM()' /usr/bin/ld: register.cc:(.text+0x1314): undefined reference to tflite::ops::builtin::Register_ATAN2()'
/usr/bin/ld: register.cc:(.text+0x132e): undefined reference to tflite::ops::builtin::Register_SIGN()' /usr/bin/ld: register.cc:(.text+0x134e): undefined reference to tflite::ops::custom::Register_NUMERIC_VERIFY()'
/usr/bin/ld: register.cc:(.text+0x136a): undefined reference to tflite::ops::custom::Register_MFCC()' /usr/bin/ld: register.cc:(.text+0x1386): undefined reference to tflite::ops::custom::Register_AUDIO_SPECTROGRAM()'
/usr/bin/ld: register.cc:(.text+0x13a2): undefined reference to tflite::ops::custom::Register_DETECTION_POSTPROCESS()' /usr/bin/ld: tensorflow-lite/libtensorflow-lite.a(xnnpack_delegate.cc.o): in function TfLiteXNNPackDelegateCreateWithThreadpool':
xnnpack_delegate.cc:(.text+0xc74f): undefined reference to tflite::CpuBackendContext::GetFromContext(TfLiteContext*)' /usr/bin/ld: xnnpack_delegate.cc:(.text+0xc757): undefined reference to tflite::CpuBackendContext::get_xnnpack_threadpool()'
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/minimal.dir/build.make:179: minimal] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:1251: CMakeFiles/minimal.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2
,,,

Hi, @nyadla-sys
Apologize for the delay and I was able to replicate the issue and I'm also getting the same error which you mentioned in the above error log and before that while following the TensorFlow Lite C++ minimal example instructions I encountered issue with libffi7 package because since Ubuntu 20.10 comes with libff8 instead of libffi7 I installed libffi7 by manually downloading the deb package from ubuntu focal (20.04) By following below steps
1. wget http://es.archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi7_3.3-4_amd64.deb
2. sudo dpkg -i libffi7_3.3-4_amd64.deb

I have added error screenshot for your reference below and I tried on Ubuntu 20.04:

It seems like we have to dig more into this issue to find out the root cause for this issue so we'll update soon here and thank you for noticing this issue, I really appreciate it. Thank you!

Hi, @sachinprasadhs
Could you please look into this issue ? Thank you!

Issue is still reproducible

This is certainly frustrating, as the issue has been assigned to someone at Google, but the issue remains unresolved and the Google bot has moved it to a stalled state.

Hi, Apologies for the delayed response and for the stale label due to bot action, I was facing session crash on colab when the process is at 92%.
However, I can successfully able to build using my local linux instance using latest code and by following the steps mentioned here https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/examples/minimal

Let us know if you still need any further assistance. Thanks!

Its working now.

Can this issue be re-opened? I am experiencing exactly the same error with the latest TF.
I followed the minimal instructions from https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/examples/minimal. I got the same error on two systems, WSL with Ubuntu 22.04 and Linux system with Ubuntu 20.04.
Error on WSL with Ubuntu 22.04
[100%] Linking CXX executable minimal
/usr/bin/ld: tensorflow-lite/libtensorflow-lite.a(register.cc.o): in function `tflite::ops::builtin::BuiltinOpResolver::BuiltinOpResolver()':
register.cc:(.text+0x99): undefined reference to `tflite::ops::builtin::Register_ABS()'
/usr/bin/ld: register.cc:(.text+0xbd): undefined reference to `tflite::ops::builtin::Register_HARD_SWISH()'
/usr/bin/ld: register.cc:(.text+0xdb): undefined reference to `tflite::ops::builtin::Register_RELU()'
/usr/bin/ld: register.cc:(.text+0xff): undefined reference to `tflite::ops::builtin::Register_RELU_N1_TO_1()'
/usr/bin/ld: register.cc:(.text+0x11d): undefined reference to `tflite::ops::builtin::Register_RELU_0_TO_1()'
/usr/bin/ld: register.cc:(.text+0x13b): undefined reference to `tflite::ops::builtin::Register_RELU6()'
/usr/bin/ld: register.cc:(.text+0x15f): undefined reference to `tflite::ops::builtin::Register_TANH()'
/usr/bin/ld: register.cc:(.text+0x183): undefined reference to `tflite::ops::builtin::Register_LOGISTIC()'
/usr/bin/ld: register.cc:(.text+0x1a7): undefined reference to `tflite::ops::builtin::Register_AVERAGE_POOL_2D()'
/usr/bin/ld: register.cc:(.text+0x1cb): undefined reference to `tflite::ops::builtin::Register_MAX_POOL_2D()'
/usr/bin/ld: register.cc:(.text+0x1ef): undefined reference to `tflite::ops::builtin::Register_L2_POOL_2D()'
/usr/bin/ld: register.cc:(.text+0x20d): undefined reference to `tflite::ops::builtin::Register_CONV_2D()'
/usr/bin/ld: register.cc:(.text+0x231): undefined reference to `tflite::ops::builtin::Register_DEPTHWISE_CONV_2D()'
/usr/bin/ld: register.cc:(.text+0x255): undefined reference to `tflite::ops::builtin::Register_SVDF()'
/usr/bin/ld: register.cc:(.text+0x279): undefined reference to `tflite::ops::builtin::Register_RNN()'
/usr/bin/ld: register.cc:(.text+0x29d): undefined reference to `tflite::ops::builtin::Register_BIDIRECTIONAL_SEQUENCE_RNN()'
/usr/bin/ld: register.cc:(.text+0x2c1): undefined reference to `tflite::ops::builtin::Register_UNIDIRECTIONAL_SEQUENCE_RNN()'
/usr/bin/ld: register.cc:(.text+0x2e5): undefined reference to `tflite::ops::builtin::Register_EMBEDDING_LOOKUP()'
/usr/bin/ld: register.cc:(.text+0x309): undefined reference to `tflite::ops::builtin::Register_EMBEDDING_LOOKUP_SPARSE()'
/usr/bin/ld: register.cc:(.text+0x327): undefined reference to `tflite::ops::builtin::Register_FULLY_CONNECTED()'
/usr/bin/ld: register.cc:(.text+0x34b): undefined reference to `tflite::ops::builtin::Register_LSH_PROJECTION()'
/usr/bin/ld: register.cc:(.text+0x369): undefined reference to `tflite::ops::builtin::Register_HASHTABLE_LOOKUP()'
/usr/bin/ld: register.cc:(.text+0x387): undefined reference to `tflite::ops::builtin::Register_SOFTMAX()'
/usr/bin/ld: register.cc:(.text+0x3ab): undefined reference to `tflite::ops::builtin::Register_CONCATENATION()'
/usr/bin/ld: register.cc:(.text+0x3cf): undefined reference to `tflite::ops::builtin::Register_ADD()'
/usr/bin/ld: register.cc:(.text+0x3f3): undefined reference to `tflite::ops::builtin::Register_SPACE_TO_BATCH_ND()'
/usr/bin/ld: register.cc:(.text+0x417): undefined reference to `tflite::ops::builtin::Register_BATCH_TO_SPACE_ND()'
/usr/bin/ld: register.cc:(.text+0x43b): undefined reference to `tflite::ops::builtin::Register_MUL()'
/usr/bin/ld: register.cc:(.text+0x45f): undefined reference to `tflite::ops::builtin::Register_L2_NORMALIZATION()'
/usr/bin/ld: register.cc:(.text+0x483): undefined reference to `tflite::ops::builtin::Register_LOCAL_RESPONSE_NORMALIZATION()'
/usr/bin/ld: register.cc:(.text+0x4a1): undefined reference to `tflite::ops::builtin::Register_LSTM()'
/usr/bin/ld: register.cc:(.text+0x4c5): undefined reference to `tflite::ops::builtin::Register_BIDIRECTIONAL_SEQUENCE_LSTM()'
/usr/bin/ld: register.cc:(.text+0x4e9): undefined reference to `tflite::ops::builtin::Register_UNIDIRECTIONAL_SEQUENCE_LSTM()'
/usr/bin/ld: register.cc:(.text+0x50d): undefined reference to `tflite::ops::builtin::Register_PAD()'
/usr/bin/ld: register.cc:(.text+0x531): undefined reference to `tflite::ops::builtin::Register_PADV2()'
/usr/bin/ld: register.cc:(.text+0x555): undefined reference to `tflite::ops::builtin::Register_RESHAPE()'
/usr/bin/ld: register.cc:(.text+0x573): undefined reference to `tflite::ops::builtin::Register_RESIZE_BILINEAR()'
/usr/bin/ld: register.cc:(.text+0x597): undefined reference to `tflite::ops::builtin::Register_RESIZE_NEAREST_NEIGHBOR()'
/usr/bin/ld: register.cc:(.text+0x5bb): undefined reference to `tflite::ops::builtin::Register_SKIP_GRAM()'
/usr/bin/ld: register.cc:(.text+0x5d9): undefined reference to `tflite::ops::builtin::Register_SPACE_TO_DEPTH()'
/usr/bin/ld: register.cc:(.text+0x5fd): undefined reference to `tflite::ops::builtin::Register_DEPTH_TO_SPACE()'
/usr/bin/ld: register.cc:(.text+0x621): undefined reference to `tflite::ops::builtin::Register_GATHER()'
/usr/bin/ld: register.cc:(.text+0x645): undefined reference to `tflite::ops::builtin::Register_TRANSPOSE()'
/usr/bin/ld: register.cc:(.text+0x669): undefined reference to `tflite::ops::builtin::Register_MEAN()'
/usr/bin/ld: register.cc:(.text+0x68d): undefined reference to `tflite::ops::builtin::Register_DIV()'
/usr/bin/ld: register.cc:(.text+0x6b1): undefined reference to `tflite::ops::builtin::Register_SUB()'
/usr/bin/ld: register.cc:(.text+0x6d5): undefined reference to `tflite::ops::builtin::Register_SPLIT()'
/usr/bin/ld: register.cc:(.text+0x6f9): undefined reference to `tflite::ops::builtin::Register_SPLIT_V()'
/usr/bin/ld: register.cc:(.text+0x71d): undefined reference to `tflite::ops::builtin::Register_SQUEEZE()'
/usr/bin/ld: register.cc:(.text+0x741): undefined reference to `tflite::ops::builtin::Register_STRIDED_SLICE()'
/usr/bin/ld: register.cc:(.text+0x765): undefined reference to `tflite::ops::builtin::Register_EXP()'
/usr/bin/ld: register.cc:(.text+0x789): undefined reference to `tflite::ops::builtin::Register_TOPK_V2()'
/usr/bin/ld: register.cc:(.text+0x7ad): undefined reference to `tflite::ops::builtin::Register_LOG()'
/usr/bin/ld: register.cc:(.text+0x7d1): undefined reference to `tflite::ops::builtin::Register_LOG_SOFTMAX()'
/usr/bin/ld: register.cc:(.text+0x7f5): undefined reference to `tflite::ops::builtin::Register_CAST()'
/usr/bin/ld: register.cc:(.text+0x819): undefined reference to `tflite::ops::builtin::Register_DEQUANTIZE()'
/usr/bin/ld: register.cc:(.text+0x83d): undefined reference to `tflite::ops::builtin::Register_PRELU()'
/usr/bin/ld: register.cc:(.text+0x85b): undefined reference to `tflite::ops::builtin::Register_MAXIMUM()'
/usr/bin/ld: register.cc:(.text+0x87f): undefined reference to `tflite::ops::builtin::Register_MINIMUM()'
/usr/bin/ld: register.cc:(.text+0x8a3): undefined reference to `tflite::ops::builtin::Register_ARG_MAX()'
/usr/bin/ld: register.cc:(.text+0x8c7): undefined reference to `tflite::ops::builtin::Register_ARG_MIN()'
/usr/bin/ld: register.cc:(.text+0x8eb): undefined reference to `tflite::ops::builtin::Register_GREATER()'
/usr/bin/ld: register.cc:(.text+0x90f): undefined reference to `tflite::ops::builtin::Register_GREATER_EQUAL()'
/usr/bin/ld: register.cc:(.text+0x933): undefined reference to `tflite::ops::builtin::Register_LESS()'
/usr/bin/ld: register.cc:(.text+0x957): undefined reference to `tflite::ops::builtin::Register_LESS_EQUAL()'
/usr/bin/ld: register.cc:(.text+0x97b): undefined reference to `tflite::ops::builtin::Register_FLOOR()'
/usr/bin/ld: register.cc:(.text+0x999): undefined reference to `tflite::ops::builtin::Register_CEIL()'
/usr/bin/ld: register.cc:(.text+0x9b7): undefined reference to `tflite::ops::builtin::Register_ROUND()'
/usr/bin/ld: register.cc:(.text+0x9d5): undefined reference to `tflite::ops::builtin::Register_NEG()'
/usr/bin/ld: register.cc:(.text+0x9f3): undefined reference to `tflite::ops::builtin::Register_SELECT()'
/usr/bin/ld: register.cc:(.text+0xa17): undefined reference to `tflite::ops::builtin::Register_SELECT_V2()'
/usr/bin/ld: register.cc:(.text+0xa3b): undefined reference to `tflite::ops::builtin::Register_SLICE()'
/usr/bin/ld: register.cc:(.text+0xa5f): undefined reference to `tflite::ops::builtin::Register_SIN()'
/usr/bin/ld: register.cc:(.text+0xa7d): undefined reference to `tflite::ops::builtin::Register_COS()'
/usr/bin/ld: register.cc:(.text+0xa9b): undefined reference to `tflite::ops::builtin::Register_TRANSPOSE_CONV()'
/usr/bin/ld: register.cc:(.text+0xabf): undefined reference to `tflite::ops::builtin::Register_TILE()'
/usr/bin/ld: register.cc:(.text+0xae3): undefined reference to `tflite::ops::builtin::Register_SUM()'
/usr/bin/ld: register.cc:(.text+0xb07): undefined reference to `tflite::ops::builtin::Register_REDUCE_PROD()'
/usr/bin/ld: register.cc:(.text+0xb2b): undefined reference to `tflite::ops::builtin::Register_REDUCE_MAX()'
/usr/bin/ld: register.cc:(.text+0xb4f): undefined reference to `tflite::ops::builtin::Register_REDUCE_MIN()'
/usr/bin/ld: register.cc:(.text+0xb73): undefined reference to `tflite::ops::builtin::Register_REDUCE_ANY()'
/usr/bin/ld: register.cc:(.text+0xb91): undefined reference to `tflite::ops::builtin::Register_REDUCE_ALL()'
/usr/bin/ld: register.cc:(.text+0xbaf): undefined reference to `tflite::ops::builtin::Register_EXPAND_DIMS()'
/usr/bin/ld: register.cc:(.text+0xbcd): undefined reference to `tflite::ops::builtin::Register_SPARSE_TO_DENSE()'
/usr/bin/ld: register.cc:(.text+0xbf1): undefined reference to `tflite::ops::builtin::Register_EQUAL()'
/usr/bin/ld: register.cc:(.text+0xc15): undefined reference to `tflite::ops::builtin::Register_NOT_EQUAL()'
/usr/bin/ld: register.cc:(.text+0xc39): undefined reference to `tflite::ops::builtin::Register_SQRT()'
/usr/bin/ld: register.cc:(.text+0xc57): undefined reference to `tflite::ops::builtin::Register_RSQRT()'
/usr/bin/ld: register.cc:(.text+0xc7b): undefined reference to `tflite::ops::builtin::Register_SHAPE()'
/usr/bin/ld: register.cc:(.text+0xc99): undefined reference to `tflite::ops::builtin::Register_RANK()'
/usr/bin/ld: register.cc:(.text+0xcb7): undefined reference to `tflite::ops::builtin::Register_POW()'
/usr/bin/ld: register.cc:(.text+0xcd5): undefined reference to `tflite::ops::builtin::Register_FAKE_QUANT()'
/usr/bin/ld: register.cc:(.text+0xcf9): undefined reference to `tflite::ops::builtin::Register_PACK()'
/usr/bin/ld: register.cc:(.text+0xd1d): undefined reference to `tflite::ops::builtin::Register_ONE_HOT()'
/usr/bin/ld: register.cc:(.text+0xd3b): undefined reference to `tflite::ops::builtin::Register_LOGICAL_OR()'
/usr/bin/ld: register.cc:(.text+0xd59): undefined reference to `tflite::ops::builtin::Register_LOGICAL_AND()'
/usr/bin/ld: register.cc:(.text+0xd77): undefined reference to `tflite::ops::builtin::Register_LOGICAL_NOT()'
/usr/bin/ld: register.cc:(.text+0xd95): undefined reference to `tflite::ops::builtin::Register_UNPACK()'
/usr/bin/ld: register.cc:(.text+0xdb9): undefined reference to `tflite::ops::builtin::Register_FLOOR_DIV()'
/usr/bin/ld: register.cc:(.text+0xddd): undefined reference to `tflite::ops::builtin::Register_SQUARE()'
/usr/bin/ld: register.cc:(.text+0xdfb): undefined reference to `tflite::ops::builtin::Register_ZEROS_LIKE()'
/usr/bin/ld: register.cc:(.text+0xe19): undefined reference to `tflite::ops::builtin::Register_FLOOR_MOD()'
/usr/bin/ld: register.cc:(.text+0xe3d): undefined reference to `tflite::ops::builtin::Register_RANGE()'
/usr/bin/ld: register.cc:(.text+0xe61): undefined reference to `tflite::ops::builtin::Register_LEAKY_RELU()'
/usr/bin/ld: register.cc:(.text+0xe85): undefined reference to `tflite::ops::builtin::Register_SQUARED_DIFFERENCE()'
/usr/bin/ld: register.cc:(.text+0xea9): undefined reference to `tflite::ops::builtin::Register_FILL()'
/usr/bin/ld: register.cc:(.text+0xecd): undefined reference to `tflite::ops::builtin::Register_MIRROR_PAD()'
/usr/bin/ld: register.cc:(.text+0xef1): undefined reference to `tflite::ops::builtin::Register_UNIQUE()'
/usr/bin/ld: register.cc:(.text+0xf0f): undefined reference to `tflite::ops::builtin::Register_REVERSE_V2()'
/usr/bin/ld: register.cc:(.text+0xf33): undefined reference to `tflite::ops::builtin::Register_ADD_N()'
/usr/bin/ld: register.cc:(.text+0xf51): undefined reference to `tflite::ops::builtin::Register_GATHER_ND()'
/usr/bin/ld: register.cc:(.text+0xf75): undefined reference to `tflite::ops::builtin::Register_WHERE()'
/usr/bin/ld: register.cc:(.text+0xf99): undefined reference to `tflite::ops::builtin::Register_ELU()'
/usr/bin/ld: register.cc:(.text+0xfb7): undefined reference to `tflite::ops::builtin::Register_REVERSE_SEQUENCE()'
/usr/bin/ld: register.cc:(.text+0xfd5): undefined reference to `tflite::ops::builtin::Register_MATRIX_DIAG()'
/usr/bin/ld: register.cc:(.text+0xff3): undefined reference to `tflite::ops::builtin::Register_QUANTIZE()'
/usr/bin/ld: register.cc:(.text+0x1017): undefined reference to `tflite::ops::builtin::Register_MATRIX_SET_DIAG()'
/usr/bin/ld: register.cc:(.text+0x1035): undefined reference to `tflite::ops::builtin::Register_IF()'
/usr/bin/ld: register.cc:(.text+0x1053): undefined reference to `tflite::ops::builtin::Register_WHILE()'
/usr/bin/ld: register.cc:(.text+0x1071): undefined reference to `tflite::ops::builtin::Register_NON_MAX_SUPPRESSION_V4()'
/usr/bin/ld: register.cc:(.text+0x108f): undefined reference to `tflite::ops::builtin::Register_NON_MAX_SUPPRESSION_V5()'
/usr/bin/ld: register.cc:(.text+0x10ad): undefined reference to `tflite::ops::builtin::Register_SCATTER_ND()'
/usr/bin/ld: register.cc:(.text+0x10cb): undefined reference to `tflite::ops::builtin::Register_DENSIFY()'
/usr/bin/ld: register.cc:(.text+0x10e9): undefined reference to `tflite::ops::builtin::Register_SEGMENT_SUM()'
/usr/bin/ld: register.cc:(.text+0x1107): undefined reference to `tflite::ops::builtin::Register_BATCH_MATMUL()'
/usr/bin/ld: register.cc:(.text+0x112b): undefined reference to `tflite::ops::builtin::Register_CUMSUM()'
/usr/bin/ld: register.cc:(.text+0x1149): undefined reference to `tflite::ops::builtin::Register_BROADCAST_TO()'
/usr/bin/ld: register.cc:(.text+0x116d): undefined reference to `tflite::ops::builtin::Register_CALL_ONCE()'
/usr/bin/ld: register.cc:(.text+0x118b): undefined reference to `tflite::ops::builtin::Register_RFFT2D()'
/usr/bin/ld: register.cc:(.text+0x11a9): undefined reference to `tflite::ops::builtin::Register_CONV_3D()'
/usr/bin/ld: register.cc:(.text+0x11c7): undefined reference to `tflite::ops::builtin::Register_IMAG()'
/usr/bin/ld: register.cc:(.text+0x11e5): undefined reference to `tflite::ops::builtin::Register_REAL()'
/usr/bin/ld: register.cc:(.text+0x1203): undefined reference to `tflite::ops::builtin::Register_COMPLEX_ABS()'
/usr/bin/ld: register.cc:(.text+0x1221): undefined reference to `tflite::ops::builtin::Register_BROADCAST_ARGS()'
/usr/bin/ld: register.cc:(.text+0x123f): undefined reference to `tflite::ops::builtin::Register_HASHTABLE()'
/usr/bin/ld: register.cc:(.text+0x125d): undefined reference to `tflite::ops::builtin::Register_HASHTABLE_FIND()'
/usr/bin/ld: register.cc:(.text+0x127b): undefined reference to `tflite::ops::builtin::Register_HASHTABLE_IMPORT()'
/usr/bin/ld: register.cc:(.text+0x1299): undefined reference to `tflite::ops::builtin::Register_HASHTABLE_SIZE()'
/usr/bin/ld: register.cc:(.text+0x12b7): undefined reference to `tflite::ops::builtin::Register_CONV_3D_TRANSPOSE()'
/usr/bin/ld: register.cc:(.text+0x12d5): undefined reference to `tflite::ops::builtin::Register_VAR_HANDLE()'
/usr/bin/ld: register.cc:(.text+0x12f3): undefined reference to `tflite::ops::builtin::Register_READ_VARIABLE()'
/usr/bin/ld: register.cc:(.text+0x1311): undefined reference to `tflite::ops::builtin::Register_ASSIGN_VARIABLE()'
/usr/bin/ld: register.cc:(.text+0x132f): undefined reference to `tflite::ops::builtin::Register_MULTINOMIAL()'
/usr/bin/ld: register.cc:(.text+0x134d): undefined reference to `tflite::ops::builtin::Register_RANDOM_STANDARD_NORMAL()'
/usr/bin/ld: register.cc:(.text+0x136b): undefined reference to `tflite::ops::builtin::Register_BUCKETIZE()'
/usr/bin/ld: register.cc:(.text+0x1389): undefined reference to `tflite::ops::builtin::Register_RANDOM_UNIFORM()'
/usr/bin/ld: register.cc:(.text+0x13a7): undefined reference to `tflite::ops::builtin::Register_GELU()'
/usr/bin/ld: register.cc:(.text+0x13cb): undefined reference to `tflite::ops::builtin::Register_DYNAMIC_UPDATE_SLICE()'
/usr/bin/ld: register.cc:(.text+0x13e9): undefined reference to `tflite::ops::builtin::Register_UNSORTED_SEGMENT_PROD()'
/usr/bin/ld: register.cc:(.text+0x1407): undefined reference to `tflite::ops::builtin::Register_UNSORTED_SEGMENT_MAX()'
/usr/bin/ld: register.cc:(.text+0x1425): undefined reference to `tflite::ops::builtin::Register_UNSORTED_SEGMENT_MIN()'
/usr/bin/ld: register.cc:(.text+0x1443): undefined reference to `tflite::ops::builtin::Register_UNSORTED_SEGMENT_SUM()'
/usr/bin/ld: register.cc:(.text+0x1461): undefined reference to `tflite::ops::builtin::Register_ATAN2()'
/usr/bin/ld: register.cc:(.text+0x147f): undefined reference to `tflite::ops::builtin::Register_SIGN()'
/usr/bin/ld: register.cc:(.text+0x14a3): undefined reference to `tflite::ops::builtin::Register_BITCAST()'
/usr/bin/ld: register.cc:(.text+0x14c1): undefined reference to `tflite::ops::builtin::Register_BITWISE_XOR()'
/usr/bin/ld: register.cc:(.text+0x14df): undefined reference to `tflite::ops::builtin::Register_RIGHT_SHIFT()'
/usr/bin/ld: register.cc:(.text+0x14fd): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_SCATTER()'
/usr/bin/ld: register.cc:(.text+0x151b): undefined reference to `tflite::ops::builtin::Register_DILATE()'
/usr/bin/ld: register.cc:(.text+0x1539): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_RNG_BIT_GENERATOR()'
/usr/bin/ld: register.cc:(.text+0x1557): undefined reference to `tflite::ops::builtin::Register_REDUCE_WINDOW()'
/usr/bin/ld: register.cc:(.text+0x1575): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_REDUCE_WINDOW()'
/usr/bin/ld: register.cc:(.text+0x1593): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_GATHER()'
/usr/bin/ld: register.cc:(.text+0x15b1): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_ADD()'
/usr/bin/ld: register.cc:(.text+0x15cf): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_MULTIPLY()'
/usr/bin/ld: register.cc:(.text+0x15ed): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_MAXIMUM()'
/usr/bin/ld: register.cc:(.text+0x160b): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_MINIMUM()'
/usr/bin/ld: register.cc:(.text+0x1629): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_PAD()'
/usr/bin/ld: register.cc:(.text+0x1647): undefined reference to `tflite::ops::custom::Register_NUMERIC_VERIFY()'
/usr/bin/ld: register.cc:(.text+0x166a): undefined reference to `tflite::ops::custom::Register_MFCC()'
/usr/bin/ld: register.cc:(.text+0x168d): undefined reference to `tflite::ops::custom::Register_AUDIO_SPECTROGRAM()'
/usr/bin/ld: register.cc:(.text+0x16b0): undefined reference to `tflite::ops::custom::Register_DETECTION_POSTPROCESS()'
/usr/bin/ld: tensorflow-lite/libtensorflow-lite.a(xnnpack_delegate.cc.o): in function `tflite::xnnpack::(anonymous namespace)::Delegate::Delegate(TfLiteXNNPackDelegateOptions const*, xnn_workspace*, TfLiteContext*)':
xnnpack_delegate.cc:(.text+0x1368): undefined reference to `tflite::CpuBackendContext::GetFromContext(TfLiteContext*)'
/usr/bin/ld: xnnpack_delegate.cc:(.text+0x1370): undefined reference to `tflite::CpuBackendContext::get_xnnpack_threadpool()'
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/minimal.dir/build.make:185: minimal] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:1362: CMakeFiles/minimal.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2

Error on Linux system with Ubuntu 20.04
[100%] Linking CXX executable minimal
/usr/bin/ld: tensorflow-lite/libtensorflow-lite.a(register.cc.o): in function `tflite::ops::builtin::BuiltinOpResolver::BuiltinOpResolver()':
register.cc:(.text+0x1e5): undefined reference to `tflite::ops::builtin::Register_ABS()'
/usr/bin/ld: register.cc:(.text+0x205): undefined reference to `tflite::ops::builtin::Register_HARD_SWISH()'
/usr/bin/ld: register.cc:(.text+0x21f): undefined reference to `tflite::ops::builtin::Register_RELU()'
/usr/bin/ld: register.cc:(.text+0x23f): undefined reference to `tflite::ops::builtin::Register_RELU_N1_TO_1()'
/usr/bin/ld: register.cc:(.text+0x259): undefined reference to `tflite::ops::builtin::Register_RELU_0_TO_1()'
/usr/bin/ld: register.cc:(.text+0x273): undefined reference to `tflite::ops::builtin::Register_RELU6()'
/usr/bin/ld: register.cc:(.text+0x293): undefined reference to `tflite::ops::builtin::Register_TANH()'
/usr/bin/ld: register.cc:(.text+0x2b3): undefined reference to `tflite::ops::builtin::Register_LOGISTIC()'
/usr/bin/ld: register.cc:(.text+0x2d3): undefined reference to `tflite::ops::builtin::Register_AVERAGE_POOL_2D()'
/usr/bin/ld: register.cc:(.text+0x2f3): undefined reference to `tflite::ops::builtin::Register_MAX_POOL_2D()'
/usr/bin/ld: register.cc:(.text+0x313): undefined reference to `tflite::ops::builtin::Register_L2_POOL_2D()'
/usr/bin/ld: register.cc:(.text+0x32d): undefined reference to `tflite::ops::builtin::Register_CONV_2D()'
/usr/bin/ld: register.cc:(.text+0x34d): undefined reference to `tflite::ops::builtin::Register_DEPTHWISE_CONV_2D()'
/usr/bin/ld: register.cc:(.text+0x36d): undefined reference to `tflite::ops::builtin::Register_SVDF()'
/usr/bin/ld: register.cc:(.text+0x38d): undefined reference to `tflite::ops::builtin::Register_RNN()'
/usr/bin/ld: register.cc:(.text+0x3ad): undefined reference to `tflite::ops::builtin::Register_BIDIRECTIONAL_SEQUENCE_RNN()'
/usr/bin/ld: register.cc:(.text+0x3cd): undefined reference to `tflite::ops::builtin::Register_UNIDIRECTIONAL_SEQUENCE_RNN()'
/usr/bin/ld: register.cc:(.text+0x3ed): undefined reference to `tflite::ops::builtin::Register_EMBEDDING_LOOKUP()'
/usr/bin/ld: register.cc:(.text+0x40d): undefined reference to `tflite::ops::builtin::Register_EMBEDDING_LOOKUP_SPARSE()'
/usr/bin/ld: register.cc:(.text+0x427): undefined reference to `tflite::ops::builtin::Register_FULLY_CONNECTED()'
/usr/bin/ld: register.cc:(.text+0x447): undefined reference to `tflite::ops::builtin::Register_LSH_PROJECTION()'
/usr/bin/ld: register.cc:(.text+0x461): undefined reference to `tflite::ops::builtin::Register_HASHTABLE_LOOKUP()'
/usr/bin/ld: register.cc:(.text+0x47b): undefined reference to `tflite::ops::builtin::Register_SOFTMAX()'
/usr/bin/ld: register.cc:(.text+0x49b): undefined reference to `tflite::ops::builtin::Register_CONCATENATION()'
/usr/bin/ld: register.cc:(.text+0x4bb): undefined reference to `tflite::ops::builtin::Register_ADD()'
/usr/bin/ld: register.cc:(.text+0x4d8): undefined reference to `tflite::ops::builtin::Register_SPACE_TO_BATCH_ND()'
/usr/bin/ld: register.cc:(.text+0x4f8): undefined reference to `tflite::ops::builtin::Register_BATCH_TO_SPACE_ND()'
/usr/bin/ld: register.cc:(.text+0x518): undefined reference to `tflite::ops::builtin::Register_MUL()'
/usr/bin/ld: register.cc:(.text+0x538): undefined reference to `tflite::ops::builtin::Register_L2_NORMALIZATION()'
/usr/bin/ld: register.cc:(.text+0x558): undefined reference to `tflite::ops::builtin::Register_LOCAL_RESPONSE_NORMALIZATION()'
/usr/bin/ld: register.cc:(.text+0x572): undefined reference to `tflite::ops::builtin::Register_LSTM()'
/usr/bin/ld: register.cc:(.text+0x592): undefined reference to `tflite::ops::builtin::Register_BIDIRECTIONAL_SEQUENCE_LSTM()'
/usr/bin/ld: register.cc:(.text+0x5b2): undefined reference to `tflite::ops::builtin::Register_UNIDIRECTIONAL_SEQUENCE_LSTM()'
/usr/bin/ld: register.cc:(.text+0x5d2): undefined reference to `tflite::ops::builtin::Register_PAD()'
/usr/bin/ld: register.cc:(.text+0x5f2): undefined reference to `tflite::ops::builtin::Register_PADV2()'
/usr/bin/ld: register.cc:(.text+0x612): undefined reference to `tflite::ops::builtin::Register_RESHAPE()'
/usr/bin/ld: register.cc:(.text+0x62c): undefined reference to `tflite::ops::builtin::Register_RESIZE_BILINEAR()'
/usr/bin/ld: register.cc:(.text+0x64c): undefined reference to `tflite::ops::builtin::Register_RESIZE_NEAREST_NEIGHBOR()'
/usr/bin/ld: register.cc:(.text+0x66c): undefined reference to `tflite::ops::builtin::Register_SKIP_GRAM()'
/usr/bin/ld: register.cc:(.text+0x686): undefined reference to `tflite::ops::builtin::Register_SPACE_TO_DEPTH()'
/usr/bin/ld: register.cc:(.text+0x6a6): undefined reference to `tflite::ops::builtin::Register_DEPTH_TO_SPACE()'
/usr/bin/ld: register.cc:(.text+0x6c6): undefined reference to `tflite::ops::builtin::Register_GATHER()'
/usr/bin/ld: register.cc:(.text+0x6e6): undefined reference to `tflite::ops::builtin::Register_TRANSPOSE()'
/usr/bin/ld: register.cc:(.text+0x706): undefined reference to `tflite::ops::builtin::Register_MEAN()'
/usr/bin/ld: register.cc:(.text+0x726): undefined reference to `tflite::ops::builtin::Register_DIV()'
/usr/bin/ld: register.cc:(.text+0x746): undefined reference to `tflite::ops::builtin::Register_SUB()'
/usr/bin/ld: register.cc:(.text+0x766): undefined reference to `tflite::ops::builtin::Register_SPLIT()'
/usr/bin/ld: register.cc:(.text+0x786): undefined reference to `tflite::ops::builtin::Register_SPLIT_V()'
/usr/bin/ld: register.cc:(.text+0x7a6): undefined reference to `tflite::ops::builtin::Register_SQUEEZE()'
/usr/bin/ld: register.cc:(.text+0x7c6): undefined reference to `tflite::ops::builtin::Register_STRIDED_SLICE()'
/usr/bin/ld: register.cc:(.text+0x7e6): undefined reference to `tflite::ops::builtin::Register_EXP()'
/usr/bin/ld: register.cc:(.text+0x806): undefined reference to `tflite::ops::builtin::Register_TOPK_V2()'
/usr/bin/ld: register.cc:(.text+0x826): undefined reference to `tflite::ops::builtin::Register_LOG()'
/usr/bin/ld: register.cc:(.text+0x846): undefined reference to `tflite::ops::builtin::Register_LOG_SOFTMAX()'
/usr/bin/ld: register.cc:(.text+0x866): undefined reference to `tflite::ops::builtin::Register_CAST()'
/usr/bin/ld: register.cc:(.text+0x886): undefined reference to `tflite::ops::builtin::Register_DEQUANTIZE()'
/usr/bin/ld: register.cc:(.text+0x8a6): undefined reference to `tflite::ops::builtin::Register_PRELU()'
/usr/bin/ld: register.cc:(.text+0x8c0): undefined reference to `tflite::ops::builtin::Register_MAXIMUM()'
/usr/bin/ld: register.cc:(.text+0x8e0): undefined reference to `tflite::ops::builtin::Register_MINIMUM()'
/usr/bin/ld: register.cc:(.text+0x900): undefined reference to `tflite::ops::builtin::Register_ARG_MAX()'
/usr/bin/ld: register.cc:(.text+0x920): undefined reference to `tflite::ops::builtin::Register_ARG_MIN()'
/usr/bin/ld: register.cc:(.text+0x940): undefined reference to `tflite::ops::builtin::Register_GREATER()'
/usr/bin/ld: register.cc:(.text+0x960): undefined reference to `tflite::ops::builtin::Register_GREATER_EQUAL()'
/usr/bin/ld: register.cc:(.text+0x980): undefined reference to `tflite::ops::builtin::Register_LESS()'
/usr/bin/ld: register.cc:(.text+0x9a0): undefined reference to `tflite::ops::builtin::Register_LESS_EQUAL()'
/usr/bin/ld: register.cc:(.text+0x9c0): undefined reference to `tflite::ops::builtin::Register_FLOOR()'
/usr/bin/ld: register.cc:(.text+0x9da): undefined reference to `tflite::ops::builtin::Register_CEIL()'
/usr/bin/ld: register.cc:(.text+0x9f4): undefined reference to `tflite::ops::builtin::Register_ROUND()'
/usr/bin/ld: register.cc:(.text+0xa0e): undefined reference to `tflite::ops::builtin::Register_NEG()'
/usr/bin/ld: register.cc:(.text+0xa28): undefined reference to `tflite::ops::builtin::Register_SELECT()'
/usr/bin/ld: register.cc:(.text+0xa48): undefined reference to `tflite::ops::builtin::Register_SELECT_V2()'
/usr/bin/ld: register.cc:(.text+0xa68): undefined reference to `tflite::ops::builtin::Register_SLICE()'
/usr/bin/ld: register.cc:(.text+0xa88): undefined reference to `tflite::ops::builtin::Register_SIN()'
/usr/bin/ld: register.cc:(.text+0xaa2): undefined reference to `tflite::ops::builtin::Register_COS()'
/usr/bin/ld: register.cc:(.text+0xabc): undefined reference to `tflite::ops::builtin::Register_TRANSPOSE_CONV()'
/usr/bin/ld: register.cc:(.text+0xadc): undefined reference to `tflite::ops::builtin::Register_TILE()'
/usr/bin/ld: register.cc:(.text+0xafc): undefined reference to `tflite::ops::builtin::Register_SUM()'
/usr/bin/ld: register.cc:(.text+0xb1c): undefined reference to `tflite::ops::builtin::Register_REDUCE_PROD()'
/usr/bin/ld: register.cc:(.text+0xb3c): undefined reference to `tflite::ops::builtin::Register_REDUCE_MAX()'
/usr/bin/ld: register.cc:(.text+0xb5c): undefined reference to `tflite::ops::builtin::Register_REDUCE_MIN()'
/usr/bin/ld: register.cc:(.text+0xb7c): undefined reference to `tflite::ops::builtin::Register_REDUCE_ANY()'
/usr/bin/ld: register.cc:(.text+0xb96): undefined reference to `tflite::ops::builtin::Register_REDUCE_ALL()'
/usr/bin/ld: register.cc:(.text+0xbb0): undefined reference to `tflite::ops::builtin::Register_EXPAND_DIMS()'
/usr/bin/ld: register.cc:(.text+0xbca): undefined reference to `tflite::ops::builtin::Register_SPARSE_TO_DENSE()'
/usr/bin/ld: register.cc:(.text+0xbea): undefined reference to `tflite::ops::builtin::Register_EQUAL()'
/usr/bin/ld: register.cc:(.text+0xc0a): undefined reference to `tflite::ops::builtin::Register_NOT_EQUAL()'
/usr/bin/ld: register.cc:(.text+0xc2a): undefined reference to `tflite::ops::builtin::Register_SQRT()'
/usr/bin/ld: register.cc:(.text+0xc44): undefined reference to `tflite::ops::builtin::Register_RSQRT()'
/usr/bin/ld: register.cc:(.text+0xc64): undefined reference to `tflite::ops::builtin::Register_SHAPE()'
/usr/bin/ld: register.cc:(.text+0xc7e): undefined reference to `tflite::ops::builtin::Register_RANK()'
/usr/bin/ld: register.cc:(.text+0xc98): undefined reference to `tflite::ops::builtin::Register_POW()'
/usr/bin/ld: register.cc:(.text+0xcb2): undefined reference to `tflite::ops::builtin::Register_FAKE_QUANT()'
/usr/bin/ld: register.cc:(.text+0xcd2): undefined reference to `tflite::ops::builtin::Register_PACK()'
/usr/bin/ld: register.cc:(.text+0xcf2): undefined reference to `tflite::ops::builtin::Register_ONE_HOT()'
/usr/bin/ld: register.cc:(.text+0xd0c): undefined reference to `tflite::ops::builtin::Register_LOGICAL_OR()'
/usr/bin/ld: register.cc:(.text+0xd26): undefined reference to `tflite::ops::builtin::Register_LOGICAL_AND()'
/usr/bin/ld: register.cc:(.text+0xd40): undefined reference to `tflite::ops::builtin::Register_LOGICAL_NOT()'
/usr/bin/ld: register.cc:(.text+0xd5a): undefined reference to `tflite::ops::builtin::Register_UNPACK()'
/usr/bin/ld: register.cc:(.text+0xd7a): undefined reference to `tflite::ops::builtin::Register_FLOOR_DIV()'
/usr/bin/ld: register.cc:(.text+0xd9a): undefined reference to `tflite::ops::builtin::Register_SQUARE()'
/usr/bin/ld: register.cc:(.text+0xdb4): undefined reference to `tflite::ops::builtin::Register_ZEROS_LIKE()'
/usr/bin/ld: register.cc:(.text+0xdce): undefined reference to `tflite::ops::builtin::Register_FLOOR_MOD()'
/usr/bin/ld: register.cc:(.text+0xdee): undefined reference to `tflite::ops::builtin::Register_RANGE()'
/usr/bin/ld: register.cc:(.text+0xe0e): undefined reference to `tflite::ops::builtin::Register_LEAKY_RELU()'
/usr/bin/ld: register.cc:(.text+0xe2e): undefined reference to `tflite::ops::builtin::Register_SQUARED_DIFFERENCE()'
/usr/bin/ld: register.cc:(.text+0xe4e): undefined reference to `tflite::ops::builtin::Register_FILL()'
/usr/bin/ld: register.cc:(.text+0xe6e): undefined reference to `tflite::ops::builtin::Register_MIRROR_PAD()'
/usr/bin/ld: register.cc:(.text+0xe8e): undefined reference to `tflite::ops::builtin::Register_UNIQUE()'
/usr/bin/ld: register.cc:(.text+0xea8): undefined reference to `tflite::ops::builtin::Register_REVERSE_V2()'
/usr/bin/ld: register.cc:(.text+0xec8): undefined reference to `tflite::ops::builtin::Register_ADD_N()'
/usr/bin/ld: register.cc:(.text+0xee2): undefined reference to `tflite::ops::builtin::Register_GATHER_ND()'
/usr/bin/ld: register.cc:(.text+0xf02): undefined reference to `tflite::ops::builtin::Register_WHERE()'
/usr/bin/ld: register.cc:(.text+0xf22): undefined reference to `tflite::ops::builtin::Register_ELU()'
/usr/bin/ld: register.cc:(.text+0xf3c): undefined reference to `tflite::ops::builtin::Register_REVERSE_SEQUENCE()'
/usr/bin/ld: register.cc:(.text+0xf56): undefined reference to `tflite::ops::builtin::Register_MATRIX_DIAG()'
/usr/bin/ld: register.cc:(.text+0xf70): undefined reference to `tflite::ops::builtin::Register_QUANTIZE()'
/usr/bin/ld: register.cc:(.text+0xf90): undefined reference to `tflite::ops::builtin::Register_MATRIX_SET_DIAG()'
/usr/bin/ld: register.cc:(.text+0xfaa): undefined reference to `tflite::ops::builtin::Register_IF()'
/usr/bin/ld: register.cc:(.text+0xfc4): undefined reference to `tflite::ops::builtin::Register_WHILE()'
/usr/bin/ld: register.cc:(.text+0xfde): undefined reference to `tflite::ops::builtin::Register_NON_MAX_SUPPRESSION_V4()'
/usr/bin/ld: register.cc:(.text+0xff8): undefined reference to `tflite::ops::builtin::Register_NON_MAX_SUPPRESSION_V5()'
/usr/bin/ld: register.cc:(.text+0x1012): undefined reference to `tflite::ops::builtin::Register_SCATTER_ND()'
/usr/bin/ld: register.cc:(.text+0x102c): undefined reference to `tflite::ops::builtin::Register_DENSIFY()'
/usr/bin/ld: register.cc:(.text+0x1046): undefined reference to `tflite::ops::builtin::Register_SEGMENT_SUM()'
/usr/bin/ld: register.cc:(.text+0x1060): undefined reference to `tflite::ops::builtin::Register_BATCH_MATMUL()'
/usr/bin/ld: register.cc:(.text+0x1080): undefined reference to `tflite::ops::builtin::Register_CUMSUM()'
/usr/bin/ld: register.cc:(.text+0x109a): undefined reference to `tflite::ops::builtin::Register_BROADCAST_TO()'
/usr/bin/ld: register.cc:(.text+0x10ba): undefined reference to `tflite::ops::builtin::Register_CALL_ONCE()'
/usr/bin/ld: register.cc:(.text+0x10d4): undefined reference to `tflite::ops::builtin::Register_RFFT2D()'
/usr/bin/ld: register.cc:(.text+0x10ee): undefined reference to `tflite::ops::builtin::Register_CONV_3D()'
/usr/bin/ld: register.cc:(.text+0x1108): undefined reference to `tflite::ops::builtin::Register_IMAG()'
/usr/bin/ld: register.cc:(.text+0x1122): undefined reference to `tflite::ops::builtin::Register_REAL()'
/usr/bin/ld: register.cc:(.text+0x113c): undefined reference to `tflite::ops::builtin::Register_COMPLEX_ABS()'
/usr/bin/ld: register.cc:(.text+0x1156): undefined reference to `tflite::ops::builtin::Register_BROADCAST_ARGS()'
/usr/bin/ld: register.cc:(.text+0x1170): undefined reference to `tflite::ops::builtin::Register_HASHTABLE()'
/usr/bin/ld: register.cc:(.text+0x118a): undefined reference to `tflite::ops::builtin::Register_HASHTABLE_FIND()'
/usr/bin/ld: register.cc:(.text+0x11a4): undefined reference to `tflite::ops::builtin::Register_HASHTABLE_IMPORT()'
/usr/bin/ld: register.cc:(.text+0x11be): undefined reference to `tflite::ops::builtin::Register_HASHTABLE_SIZE()'
/usr/bin/ld: register.cc:(.text+0x11d8): undefined reference to `tflite::ops::builtin::Register_CONV_3D_TRANSPOSE()'
/usr/bin/ld: register.cc:(.text+0x11f2): undefined reference to `tflite::ops::builtin::Register_VAR_HANDLE()'
/usr/bin/ld: register.cc:(.text+0x120c): undefined reference to `tflite::ops::builtin::Register_READ_VARIABLE()'
/usr/bin/ld: register.cc:(.text+0x1226): undefined reference to `tflite::ops::builtin::Register_ASSIGN_VARIABLE()'
/usr/bin/ld: register.cc:(.text+0x1240): undefined reference to `tflite::ops::builtin::Register_MULTINOMIAL()'
/usr/bin/ld: register.cc:(.text+0x125a): undefined reference to `tflite::ops::builtin::Register_RANDOM_STANDARD_NORMAL()'
/usr/bin/ld: register.cc:(.text+0x1274): undefined reference to `tflite::ops::builtin::Register_BUCKETIZE()'
/usr/bin/ld: register.cc:(.text+0x128e): undefined reference to `tflite::ops::builtin::Register_RANDOM_UNIFORM()'
/usr/bin/ld: register.cc:(.text+0x12a8): undefined reference to `tflite::ops::builtin::Register_GELU()'
/usr/bin/ld: register.cc:(.text+0x12c8): undefined reference to `tflite::ops::builtin::Register_DYNAMIC_UPDATE_SLICE()'
/usr/bin/ld: register.cc:(.text+0x12e2): undefined reference to `tflite::ops::builtin::Register_UNSORTED_SEGMENT_PROD()'
/usr/bin/ld: register.cc:(.text+0x12fc): undefined reference to `tflite::ops::builtin::Register_UNSORTED_SEGMENT_MAX()'
/usr/bin/ld: register.cc:(.text+0x1316): undefined reference to `tflite::ops::builtin::Register_UNSORTED_SEGMENT_MIN()'
/usr/bin/ld: register.cc:(.text+0x1330): undefined reference to `tflite::ops::builtin::Register_UNSORTED_SEGMENT_SUM()'
/usr/bin/ld: register.cc:(.text+0x134a): undefined reference to `tflite::ops::builtin::Register_ATAN2()'
/usr/bin/ld: register.cc:(.text+0x1364): undefined reference to `tflite::ops::builtin::Register_SIGN()'
/usr/bin/ld: register.cc:(.text+0x1384): undefined reference to `tflite::ops::builtin::Register_BITCAST()'
/usr/bin/ld: register.cc:(.text+0x139e): undefined reference to `tflite::ops::builtin::Register_BITWISE_XOR()'
/usr/bin/ld: register.cc:(.text+0x13b8): undefined reference to `tflite::ops::builtin::Register_RIGHT_SHIFT()'
/usr/bin/ld: register.cc:(.text+0x13d2): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_SCATTER()'
/usr/bin/ld: register.cc:(.text+0x13ec): undefined reference to `tflite::ops::builtin::Register_DILATE()'
/usr/bin/ld: register.cc:(.text+0x1406): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_RNG_BIT_GENERATOR()'
/usr/bin/ld: register.cc:(.text+0x1420): undefined reference to `tflite::ops::builtin::Register_REDUCE_WINDOW()'
/usr/bin/ld: register.cc:(.text+0x143a): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_REDUCE_WINDOW()'
/usr/bin/ld: register.cc:(.text+0x1454): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_GATHER()'
/usr/bin/ld: register.cc:(.text+0x146e): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_ADD()'
/usr/bin/ld: register.cc:(.text+0x1488): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_MULTIPLY()'
/usr/bin/ld: register.cc:(.text+0x14a2): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_MAXIMUM()'
/usr/bin/ld: register.cc:(.text+0x14bc): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_MINIMUM()'
/usr/bin/ld: register.cc:(.text+0x14d6): undefined reference to `tflite::ops::builtin::Register_STABLEHLO_PAD()'
/usr/bin/ld: register.cc:(.text+0x14f0): undefined reference to `tflite::ops::custom::Register_NUMERIC_VERIFY()'
/usr/bin/ld: register.cc:(.text+0x150c): undefined reference to `tflite::ops::custom::Register_MFCC()'
/usr/bin/ld: register.cc:(.text+0x1528): undefined reference to `tflite::ops::custom::Register_AUDIO_SPECTROGRAM()'
/usr/bin/ld: register.cc:(.text+0x1544): undefined reference to `tflite::ops::custom::Register_DETECTION_POSTPROCESS()'
/usr/bin/ld: tensorflow-lite/libtensorflow-lite.a(xnnpack_delegate.cc.o): in function `TfLiteXNNPackDelegateCreateWithThreadpool':
xnnpack_delegate.cc:(.text+0xab0f): undefined reference to `tflite::CpuBackendContext::GetFromContext(TfLiteContext*)'
/usr/bin/ld: xnnpack_delegate.cc:(.text+0xab17): undefined reference to `tflite::CpuBackendContext::get_xnnpack_threadpool()'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/minimal.dir/build.make:172: minimal] Error 1
make[1]: *** [CMakeFiles/Makefile2:1511: CMakeFiles/minimal.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

@lcerman , Could you please file a new issue with the details of your findings. Thanks

You are welcome, I made the ticket (see the link above).


File Manager & FTP Permissions

Bug Report
System Information

Operating System (Including distribution name and version number)
Debian 10 Buster
AMP version and build date (Always use the version number, 'latest' is not valid!)
[Info] AMP Instance Manager v<IP_ADDRESS> built 19/05/2020 17:33
[Info] Release spec: Release - built by CUBECODERS/buildbot on CCL-DEV
Which AMP release stream you're using (Mainline, Nightly or FastTrack)
Mainline

I confirm:

[x] that I have searched for an existing bug report for this issue.
[x] that I am using the latest available version of AMP.
[x] that my operating system is up-to-date.

Symptoms

What are you trying to do?
update plugins, replace existing files, or delete files.
What are you expecting to happen?
I should be able to make any necessary changes from FTP or the file manager.
What is actually happening? ('Nothing' is not an acceptable answer!)

File Manager: I am unable to

Upload or replace any files with the web file manager

Remote FTP Client:

is not allowed by default which it would be nice if amp could be set to always set this to true in filemanagerplugin.kvp and assign separate ports
Attempting to upload a new plugin results in an error Copying files to remote side failed. Exception thrown, message: Object reference not set to an instance of an object
Attempting to overwrite files gives an error Copying files to remote side failed. Exception thrown, message: Object reference not set to an instance of an object
Attempting to edit files gives a similar error Copying files to remote side failed. Exception thrown, message: Object reference not set to an instance of an object
I am currently able to delete files it just seems all write access is denied

Reproduction
Create a new McMyAdmin3 Instance, allow ftp access from filemanagerplugin.kvp and test all of the above actions. I have seen other mentions of similar errors on discord.

FTP issues have been resolved as of version <IP_ADDRESS>


Intellisense paramater suggestion hover doesn't dismiss properly

The hover appears as expected when I type ( on the end of an API, but doesn't dismiss with ). In this screenshot I've hit enter a couple times just to show how it moves around with the cursor.
It dismisses on a mouse click anywhere or the Escape key.
This is on Ubuntu 14.04, using dotnet CLI, and omnisharp in this zip: https://github.com/OmniSharp/omnisharp-roslyn/releases/download/v1.9-alpha1/omnisharp-linux-x64-dnxcore50.tar.gz
VSCode version:
Version 0.10.10-insider
Commit 5b5f4db87c10345b9d5c8d0bed745bcad4533135
Date 2016-03-07T10:06:50.354Z
Shell 0.35.6
Renderer 45.0.2454.85
Node 4.1.1

Sounds like a UI bug in the vscode extension, so it would be better to address it in the omnisharp-vscode repo and not omnisharp-roslyn.

@willl given that the intellisense stuff only works based on what's in this repo right now I thought this might be a more appropriate place?

This is a duplicate of this issue: https://github.com/OmniSharp/omnisharp-vscode/issues/64

thanks!

@billwert It's an editor specific bug. omnisharp-roslyn just powers the intellisense (it is editor agnostic). It is up to individual editors to manage how they present it.
In this case, VS Code uses the omnisharp-vscode extension, which calls to omnisharp-roslyn (the intellisense engine). I hope that makes sense.


[SPARK-47217][SQL] Fix deduplicated expression resolution

What changes were proposed in this pull request?
There seems to be a regression from Spark 3.5 to 4.0 caused by https://issues.apache.org/jira/browse/SPARK-43838 / https://github.com/apache/spark/pull/41347 as the following code no longer succeed:
val df = Seq((1, 2)).toDF("a", "b")
val df2 = df.select(df("a").as("aa"), df("b").as("bb"))
val df3 = df2.join(df, df2("bb") === df("b")).select(df2("aa"), df("a"))
df3.show()

Please note that if we dig deeper then it turns out that if we omit the extra project from df then the following is actually a bug that came in with the very first version of DeduplicateRelations, that deduplicated MultiInstanceRelations only:
val schema = StructType.fromDDL("a int, b int")
val rows = Seq(Row(1, 2))
val rdd = sparkContext.parallelize(rows)
val df = spark.createDataFrame(rdd, schema)
val df2 = df.select(df("a").as("aa"), df("b").as("bb"))
val df3 = df2.join(df, df2("bb") === df("b")).select(df2("aa"), df("a"))
df3.show()

The root cause seems to be DeduplicateRelations as it changes df("a") (a#7) comming from the right side when it runs on the join:
=== Applying Rule org.apache.spark.sql.catalyst.analysis.DeduplicateRelations ===
!'Join Inner, '`=`(bb#12, b#8)              'Join Inner, '`=`(bb#12, b#18)
 :- Project [a#7 AS aa#11, b#8 AS bb#12]    :- Project [a#7 AS aa#11, b#8 AS bb#12]
 :  +- Project [_1#2 AS a#7, _2#3 AS b#8]   :  +- Project [_1#2 AS a#7, _2#3 AS b#8]
 :     +- LocalRelation [_1#2, _2#3]        :     +- LocalRelation [_1#2, _2#3]
!+- Project [_1#2 AS a#7, _2#3 AS b#8]      +- Project [_1#15 AS a#17, _2#16 AS b#18]
!   +- LocalRelation [_1#2, _2#3]              +- LocalRelation [_1#15, _2#16]

and then when the .select() API adds a Project node containing df("a") above the join, it can't be resolved.
This is because DeduplicateRelations always keeps the attributes of the first occurance of a node (Project [_1#2 AS a#7, _2#3 AS b#8] in this case) and creates new instances for other occurances. The rule doesn't (and can't) take into account if a top level attribute can actually come from a node or not.
If spark.sql.analyzer.failAmbiguousSelfJoin is enabled then the DetectAmbiguousSelfJoin catches the issue as
Column a#7 are ambiguous. It's probably because you joined several Datasets together, and some of these Datasets are the same. This column points to one of the Datasets but Spark is unable to figure out which one. Please alias the Datasets with different names via Dataset.as before joining them, and specify the column using qualified name, e.g. df.as("a").join(df.as("b"), $"a.id" > $"b.id"). You can also set spark.sql.analyzer.failAmbiguousSelfJoin to false to disable this check.

If it is not enabled then a#7 can't be resolved error is thrown.
To solve the above regression this PR:

Assigns LogicalPlan.PLAN_ID_TAGs to logical plans of Datasets that don't have any id yet. (Connect planner already does this.)
Changes resolved AttributeReferences to UnresolvedAttributes in certain Dataset APIs if an attribute doesn't seem valid based on the output of the underlying logical plan. Also, the UnresolvedAttributes get the necessary tags to get resolved by ResolveReferences rule (ColumnResolutionHelper.tryResolveDataFrameColumns() logic) later.

Why are the changes needed?
To fix the regression.
Does this PR introduce any user-facing change?
Yes, it fixes the regression.
How was this patch tested?
New and existing UTs.
Was this patch authored or co-authored using generative AI tooling?
No.

The column reference in classic Spark SQL DataFrame API is very broken and I really don't want to add more hacks here and there to fix certain cases. In Spark Connect, we've redesigned the column reference and it's much more reliable and reasonable.
How about adding a config to let the classic column reference use the same implement of spark connect's? Ideally users should update their DataFrame query to always use named column like SQL API.
df1 = abc.as("df1")
df2 = xyz.as("df2")
df1.join(df2, $"df1.col" === $"df2.col")

But if users really want to stick with the old style, they can turn on the config.

I think unifying the resolution logic in Spark 4.0 is a good idea and the above example work well via connect. But I don't fully get the last sentence:

But if users really want to stick with the old style, they can turn on the config.

Is there any kown downside of the new connect style resolution? Why would someone switch back to the old style?
Also, what shall we do with Spark 3.5? It would be great to fix this regression without requiring users to change their code.

I had some time to play with connect today and as I said it does work well with the query in the PR description, but it doesn't seem to support even the most basic self joins:
@ val df = Seq((1, 2)).toDF("a", "b")
Using Spark's default log4j profile: org/apache/spark/log4j2-defaults.properties
df: org.apache.spark.sql.package.DataFrame = [a: int, b: int]

@ val df2 = df.select(df("a").as("aa"), df("b"))
df2: org.apache.spark.sql.package.DataFrame = [aa: int, b: int]

@ val df3 = df2.join(df, df2("b") === df("b"))
df3: org.apache.spark.sql.package.DataFrame = Invalid Dataframe; [AMBIGUOUS_COLUMN_REFERENCE] Column "b" is ambiguous. It's because you joined several DataFrame together, and some of these DataFrames are the same.
This column points to one of the DataFrames but Spark is unable to figure out which one.
Please alias the DataFrames with different names via `DataFrame.alias` before joining them,
and specify the column using qualified name, e.g. `df.alias("a").join(df.alias("b"), col("a.id") > col("b.id"))`. SQLSTATE: 42702

Am I missing something?

@cloud-fan, I wonder if the above test should work in connect or is it always required in connect to alias conflicting columns as in SQL?

@cloud-fan, since connect style resolution doesn't seem to work in all cases I wonder if we can fix non-connect resolution with this PR?

@zhengruifeng can you take a look? I think we should make this work. We can find df("b") in both join sides, but this is a special case as df("b") directly comes from the right join side. I don't want to make the algorithm very complicated like searching column references from both sides and calculate the depth, but this simple special case is not ambiguous.


Advanced Kotlin Coroutines, Section 6: Type inference failed

I guess that is missing the liveData type in this highlighted code

Resolution:
liveData<List<Plant>>

Same issue.

Yeah following the example of val plants it should be
fun getPlantsWithGrowZone(growZone: GrowZone): LiveData<List<Plant>> = liveData {


Leading number in headline will break anchor link in MD

It is not possible to use anchor links if the headline starts with a number.
https://learn.microsoft.com/en-us/azure/devops/project/wiki/markdown-guidance?view=azure-devops#anchor-links
For example:
1 Test This
Should be text but this will show a broken link.
Test This
If I instead change my headline to # Test This
text it will work.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: fa622358-f5bb-1f5c-177a-081a37b6acef
Version Independent ID: 72f7fd16-a822-66c8-3a34-8905645ce5f2
Content: Markdown syntax for files, widgets, and wikis - Azure DevOps
Content Source: docs/project/wiki/markdown-guidance.md
Service: azure-devops
Sub-service: azure-devops-wiki
GitHub Login: @chcomley
Microsoft Alias: chcomley

Is there any Progress on this?
I am also encountering the same issue where my Title is 5. Title
My anchor link would be [5. Title](#5.-Title) and this would break down as Azure DevOps thinks I am trying to link the work item with work item id 5.

@luzan -- Luzan, thank you for your research.  Please add this issue here, as being product-related rather than documentation-related:

Developer Community

cc @chcomley for awareness
I am closing this issue now.  You are welcome to @ mention me for any followup.  We hope to hear from you again.


seek 65536 not supported with cursor 32768 error while uploading file to server

Hi,
Versions
"ssh2-sftp-client": "2.0.1",
"ssh2-utils": "1.0.28"
I am getting a seek error while uploading files to the server resulting in partial uploads.
Here is the code snippet used. I have attached the debug log for your reference.
const Client = require('ssh2-sftp-client')
const fs = require('fs')
const path = require('path')
const co = require('co')
const lSFTPConfig = {
url: 'xxx.xxx.xxx.xxx',
port: 4045,
username: 'username',
password: 'password',
// in to the sftp server folder
to_server_folder: '/inbound',
}
function debugLog(debuString)
{
console.log(debuString)
}
function* getSFTPObject() {
try {
const sftp = new Client()
const connectionObject = {
host: lSFTPConfig.url,
port: lSFTPConfig.port,
username: lSFTPConfig.username,
password: lSFTPConfig.password,
debug: debugLog,
readyTimeout: 100000,
}
yield sftp.connect(connectionObject)
console.log(SFTP_CONNECTED-${connectionObject.host}:${connectionObject.port})
return sftp
} catch (e) {
console.log('SFTP-CONNECT_ERROR', e.message)
return false
}
}
function* putPayoutFileToRemoteServer(filename) {
let sftp = ''
try {
console.log(UPLOADING-${filename})
sftp = yield getSFTPObject()
yield sftp.put(path.resolve(${filename}), /${lSFTPConfig.to_server_folder}/${filename}, true)
console.log(UPLOADED-REQ-${filename})
return true
} catch (error) {
if (sftp) {
sftp.end()
}
console.log('SFTP-PUT-ERROR', error.message)
return false
}
}
function* testPut() {
try {
yield putPayoutFileToRemoteServer('H2HAPS10388120180327103001.txt')
} catch (error) {
console.log(error)
}
}
co(testPut())
Kindly suggest .
out.txt

emm..  the default upload file chunk size is 32768, you can set chunkSize when upload file, just like 'sftp.put(PathString, remotePath, {chunkSize: 65356})'.

Hi,
Setting the chunk size to 65356 did not resolve the problem. it simply gave a seek error at another location. I also checked the issues at ssh2..and got a cue of setting the concurrency to 1 from the default 64 since this issue is with an IBM server. IBM apparently also suggests to disable resume and setting concurrency to 1 apparently does it.
I managed to get it working by using the command in the following manner.

sftp.get(${lSFTPConfig.from_server_folder}/${filename}, true, 'utf-8', { chunkSize: 32768, concurrency: 1 })

Thanks for the suggestion.


Fix Likes Bug

We weren't updating with the unique post_id, so the very first like with user_id was getting updated. This PR solves that.
Resolves https://github.com/Open-Sourced-Olaf/SocioMark/issues/93

The deployed link will keep on adding the likes because the backend is not continuously deployed to Heroku.


Conflicting version of pyyaml

Conflicting version of pyaml
https://github.com/alertlogic/alcli/blob/89f80196398683ef7400c59365f740ce5c7163b7/requirements.txt#L7
https://github.com/alertlogic/alertlogic-sdk-definitions/blob/master/requirements.txt
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
alcli 1.0.46 requires pyyaml==5.1.2, but you have pyyaml 5.4 which is incompatible.

Should we do away with the requirement for a specific version?

@anton-b

looking

resolved


Add totalCount field to relay connection

One small change to add a totalCount field to relay connection object to get access of total count of queried items. This property is pretty widely used and also mentioned here: https://graphql.org/learn/pagination/#complete-connection-model
To alleviate, at the moment I need to do something like this:
const paginatedVideos = mirageGraphQLFieldResolver(obj, { first, after }, context, info)
const allVideos = mirageGraphQLFieldResolver(obj, {}, context, info)

return {
  ...paginatedVideos,
  totalCount: allVideos.edges.length,
}

I'll think on this one. Since the field is not part of the spec, my first feeling is to leave it out. That said, it's a tiny change and I can do a little research to see how widely used this field is. If pretty much everyone uses this, I see no reason not to add it. Thanks!

I did a little digging and it seems like a popular request. There is some reasoning as to why it's not part of the official spec here: https://github.com/graphql/graphql-relay-js/pull/109#issuecomment-267734541. That said, the use case of an infinite stream seems a bit incompatible with the idea of Mirage so I think we can adopt this field.
I would ask that you add a test for this, though. Thanks again!

Oh and in addition to a test, a little relevant documentation, too, if that makes sense. Not sure if we have anything about Relay pagination in the README.

Seems widely used so I think it'd be nice to adopt this as you said.
Will work on adding the tests. Regarding the docs, README currently doesn't mention Relay at all so I think it could be worth to make a general issue to do that.

@jneurock I've added the field to all the Relay integration tests. I didn't include it in the unit tests as it would need to test resolveRelayConnection directly. Let me know if you're satisfied with that or if there's anything else. :)

@jneurock Could you maybe bump the version? I'd like to use that feature

Yeah, sure, would be fine to bump the version.

Thanks a lot! 🤜

You're welcome. Thanks for the PR 🙂


Add kcp start options for embedded etcd server Prometheus scrape URLs

Summary
This PR extends the start options of kcp with one that can specify a list of URLs at which the embedded etcd server will listen for metrics scrapes. If secured, regular client credentials will be required.
This is a hopefully better alternative to #1431 .
I did not take on the task of introducing a Config struct in this PR, expecting it should go in a separate PR.
Related issue(s)
Fixes #1427

/cc @sttts

/ok-to-test
/lgtm
/approve

/lgtm

/restart

/retest


Can't detect nor install CGMiner

I have cgminer in literally the same folder as multimine but it detects ''no copy of it'' and when I try to get it to download automatically it says something bout ''value may not be null''

I am having the same issue,
I am running windows and after installation, I am asked to download BFGMiner. After clicking yes it throws an exception error:
value cannot be null
Parameter name: uristring
I am guessing this is because the download link for BFGMiner is broken, I manually downloaded BFGMiner into the Multiminer folder but this does not fix the issue.


[liblzma] build failure

Host Environment

OS:  7.9.2009
Compiler:  8.3.0 20190222

To Reproduce
./vcpkg install liblzma
This is the same issue as noted here - https://github.com/microsoft/vcpkg/issues/21680
The compiler needs to be set to C11 and the default on this system is C99
Updating the fix_config_include.patch to force C11 fixes the issues. I've included the patch
fix_config_include.patch

On the other issue C99 also was enough. Can you test it with C99

Good call, I verified the patch also works with C99

Hi, XZ Utils co-maintainer here. The problem is our CMakeLists.txt does not currently enforce the requirement for a compiler that supports C99 or add the flags needed to ensure C99. The API header files from liblzma do not require C99, just the source code and internal headers. Our Autotools build system enforces the need for a C99 compiler.
We are planning a new 5.4.2 release soon, so we will make sure to include a fix for this.

This comment comes from maintainer of liblzma.
Thanks for posting this issue. This issue will be fixed in the new version of liblzma, closed this issue as duplicate of #21680, let us look forward to the new version together.


File.join should handle "" separately

When using File.join with empty strings, some unexpected results can be seen:
File.join("", "file.cr")
File.join(["dir", "", "file.cr"])

These should evaluate to "file.cr" and "dir/file.cr" respectively, but instead they evaluate to "/file.cr" (whoops, absolute path out of nowhere) and "dir//file.cr".

the behavior is identical to Ruby's, but maybe we should change it, the absolute path is probably unexpected;
double file separator is wrong, yes.

I'm not sure 1 is unexpected. 2 can be fixed though.

The empty path "" equals to the current directory ".". Joining "", "file.cr" should be equivalent to joining ".", "file.cr". Otherwise you could end up with really be unexpected behaviour, if an empty path as first argument would somehow turn into the root directory.
Both behaviours are currently wrong. Thy are fixed in #5635, although it includes a bigger refactoring.

The empty path "" equals to the current directory ".".

No. Looks like "a" equals to "b".
What does File.join do?

Returns a new string formed by joining the strings using File::SEPARATOR.

What ["", "file"].join(File::SEPARATOR) will return? "/file".
This is expected behavior.
I'm using this for web-paths in Ruby framework (File.join(nil, static_dir, file_name))

Why would "" equal to "/"? That's as much "a" equals "b". And it's not even universally applicable.
If File.join("", "file") equals to "/file", what would File.join("foo", "", "file") equal to? One could argue, it should also be "/file" if "" refers to the root "/". That doesn't make sense.
In fact, it is very logical to treat the path component "" equal to ".", as for example foo//bar consists of three components: ["foo", "", "bar"]. The second one is empty and semantically equivalent to ".  That applies anywhere in a path. Interpreting an empty path at the beginning of File.joinas referring to the file system root"/"` is a hack. It's inconsistent and platform-specific. This would not work as expected on a windows system.
If you need to join absolute paths, use an explicit root. It's just "/" instead of "".
Please be aware that nil isn't even a valid path component for File.join in Crystal.

Why would "" equal to "/"

It's not equal. "" is member of parameters (Array), "/" is separator. Yeah, you're joining a-like things (path parts) with b-like separator.

If File.join("", "file") equals to "/file", what would File.join("foo", "", "file") equal to?

foo/file, because File.join doesn't allow multiple / in a row. It's a feature.

if "" refers to the root "/"

Yeah, your root is empty-named: %root_like_""%/file

Please be aware that nil isn't even a valid path component for File.join in Crystal.

I know, it's just an example.

It's inconsistent and platform-specific.

OK, maybe it's argument.


[Docs] (child) Create a table for subcommands within a command's page in docs

Current State
Currently the mesheryctl reference page has a table with links of every command and subcommand, but when command page is visited the subcommands are harder to visit
Desired State
Create a table of relevant subcommands for a command page for easier access
(TO BE DONE AFTER #3977)

Contributor Guides and Resources

🛠 Meshery Build & Release Strategy
📚 Instructions for contributing to documentation

Meshery documentation site and source

🎨 Wireframes and designs for Meshery UI in Figma
🙋🏾🙋🏼 Questions: Layer5 Discussion Forum and Layer5 Community Slack

Hi @alphaX86 can I work on this, and can you please provide me with an image and the link where the changes are needed to be done because I am having a little trouble in understanding where to create the table

Hi @AnshumanDhiman I'll tell you what to do this, just wait for some time while I sort some things out 😅😅

Currently we have each command and subcommand on the reference page

But when a user clicks a command, they can't see the subcommands except as a example

Why we're asking a table for every command (not subcommands) is because we felt it's hard to navigate if no table is such present and user is forced to back for that

@AnshumanDhiman checking in.... Sorry for keeping you hold for a long time, coz I had some works in between. Anyways, are you up for this? Or you'd still need any clarification?


Roll Flutter Engine from 89d864552acd to 29d3c89486ca (20 revisions)

https://github.com/flutter/engine/compare/89d864552acd...29d3c89486ca
2023-09-21<EMAIL_ADDRESS>Roll Skia from 86f48da2c812 to a7bcbb9a39f3 (1 revision) (flutter/engine#46128)
2023-09-21<EMAIL_ADDRESS>[Impeller] removed global mutable variable for tessellation allocation function pointers (flutter/engine#46127)
2023-09-20<EMAIL_ADDRESS>[Impeller] Remove removal of save layer from clip. (flutter/engine#46113)
2023-09-20<EMAIL_ADDRESS>[Impeller] Apply the entity transformation when rendering FramebufferBlendContents (flutter/engine#46106)
2023-09-20<EMAIL_ADDRESS>Clang tidy-ify DlColor and friends. (flutter/engine#46122)
2023-09-20<EMAIL_ADDRESS>Apply the right tag for linux fuchsia cipd packages. (flutter/engine#46123)
2023-09-20<EMAIL_ADDRESS>Roll Skia from b78c91996051 to 86f48da2c812 (4 revisions) (flutter/engine#46121)
2023-09-20<EMAIL_ADDRESS>Roll Skia from d923bab3d5fa to b78c91996051 (4 revisions) (flutter/engine#46119)
2023-09-20<EMAIL_ADDRESS>Make dl_color_(filter|source) tidy. (flutter/engine#46111)
2023-09-20<EMAIL_ADDRESS>Make dl_(image|mask|path)_(filter|effect).h tidy! (flutter/engine#46110)
2023-09-20<EMAIL_ADDRESS>Migrate from LOG_X to kLogX. (flutter/engine#46107)
2023-09-20<EMAIL_ADDRESS>Roll Skia from b3c1f49821d8 to d923bab3d5fa (2 revisions) (flutter/engine#46118)
2023-09-20<EMAIL_ADDRESS>Make a variety of low-impact Clang tidy fixes in Impeller. (flutter/engine#46116)
2023-09-20<EMAIL_ADDRESS>[ios] fix asset url not found when loading app extension (flutter/engine#46073)
2023-09-20<EMAIL_ADDRESS>Make a variety of low-impact Clang tidy fixes. (flutter/engine#46114)
2023-09-20<EMAIL_ADDRESS>Roll Skia from c19115e8f712 to b3c1f49821d8 (3 revisions) (flutter/engine#46112)
2023-09-20<EMAIL_ADDRESS>Roll Skia from f4238844089f to c19115e8f712 (5 revisions) (flutter/engine#46108)
2023-09-20<EMAIL_ADDRESS>[web] Move context menu handling to its own class (flutter/engine#46042)
2023-09-20<EMAIL_ADDRESS>Delete ci/lint.sh, which is no longer used. (flutter/engine#46049)
2023-09-20<EMAIL_ADDRESS>[web] Make PlatformViewManager a clear singleton (flutter/engine#46044)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jonahwilliams@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


src: add support for scrooging local JARs

This adds support for providing local JARs full of Thrifts, and generating the scrooge classes for this in scrooge_scala_library.

Can one of the admins verify this patch?

r? @johnynek

basically, I'd rather here:
https://github.com/bazelbuild/rules_scala/blob/master/thrift/thrift.bzl#L80
have something like an additional external_jars attribute that we aggregate up. Then in the scrooge rule, we can look at the external_jars and handle them similarly to how you have it.

I put external_jars onto thrift_library, and do the JAR reading in scrooge_scala_library now, PTAL @johnynek?

@johnynek I've done the depset change and added handling for transitive deps. I'm having some build shenanigans at the moment when running the build:
$ bazel test //test/...
ERROR: /Users/matt/workspace/rules_scala/test/src/main/scala/scala/test/twitter_scrooge/BUILD:66:1: in scrooge_scala_srcjar rule //test/src/main/scala/scala/test/twitter_scrooge:bare_thrift_scrooge_srcjar:
Traceback (most recent call last):
	File "/Users/matt/workspace/rules_scala/test/src/main/scala/scala/test/twitter_scrooge/BUILD", line 66
		scrooge_scala_srcjar(name = 'bare_thrift_scrooge_srcjar')
	File "/Users/matt/workspace/rules_scala/twitter_scrooge/twitter_scrooge.bzl", line 141, in _gen_scrooge_srcjar_impl
		_assert_set_is_subset(only_transitive_thrift_srcs, trans...)
	File "/Users/matt/workspace/rules_scala/twitter_scrooge/twitter_scrooge.bzl", line 105, in _assert_set_is_subset
		fail("scrooge_srcjar target must depe...))
scrooge_srcjar target must depend on scrooge_srcjar targets sufficient to cover the transitive graph of thrift files. Uncovered sources: depset([File:[[/private/var/tmp/_bazel_matt/fc140044b49349304f9eee84fd180cdd/execroot/io_bazel_rules_scala]bazel-out/local-fastbuild/bin]test/src/main/scala/scala/test/twitter_scrooge/thrift/bare_jar_thrifts/bare_jar_1/libbare_jar_1.jar, File:[[/private/var/tmp/_bazel_matt/fc140044b49349304f9eee84fd180cdd/execroot/io_bazel_rules_scala]bazel-out/local-fastbuild/bin]test/src/main/scala/scala/test/twitter_scrooge/thrift/bare_jar_thrifts/bare_jar_2/libbare_jar_2.jar]).
ERROR: Analysis of target '//test/src/main/scala/scala/test/twitter_scrooge:bare_thrift_scrooge_srcjar' failed; build aborted.
INFO: Elapsed time: 0.678s
ERROR: Couldn't start the build. Unable to run tests.

This seems like a regression I introduced in this PR...but I am stumped as to exactly what the assertion is trying to tell me here (the JARs do end up being available and the tests pass when commenting out https://github.com/mduvall/rules_scala/blob/9d6b797a91a22d5fca31601554bba3fee433b90b/twitter_scrooge/twitter_scrooge.bzl#L141). I have a minimal reproduction of the issue I'm having on this branch here: https://github.com/bazelbuild/rules_scala/compare/master...mduvall:md-canidep?expand=1. This is likely PEBKAC; I am guessing the code does not quite use the thrift_library deps correctly, any pointers/obvious wrong things here?

The error on that branch mentioned above is similar:
ERROR: /Users/matt/workspace/rules_scala/test/src/main/scala/scala/test/twitter_scrooge/canidep/BUILD:11:1: in scrooge_scala_srcjar rule //test/src/main/scala/scala/test/twitter_scrooge/canidep:canidep_srcjar:
Traceback (most recent call last):
	File "/Users/matt/workspace/rules_scala/test/src/main/scala/scala/test/twitter_scrooge/canidep/BUILD", line 11
		scrooge_scala_srcjar(name = 'canidep_srcjar')
	File "/Users/matt/workspace/rules_scala/twitter_scrooge/twitter_scrooge.bzl", line 127, in _gen_scrooge_srcjar_impl
		_assert_set_is_subset(only_transitive_thrift_srcs, trans...)
	File "/Users/matt/workspace/rules_scala/twitter_scrooge/twitter_scrooge.bzl", line 94, in _assert_set_is_subset
		fail("scrooge_srcjar target must depe...))
scrooge_srcjar target must depend on scrooge_srcjar targets sufficient to cover the transitive graph of thrift files. Uncovered sources: depset([File:[[/private/var/tmp/_bazel_matt/fc140044b49349304f9eee84fd180cdd/execroot/io_bazel_rules_scala]bazel-out/local-fastbuild/bin]test/src/main/scala/scala/test/twitter_scrooge/canidep/Goodbye/libgoodbye.jar]).

🤦♀ ignore me I didn't catch that we had to build the accompanying scrooge classes as well! Will update the test.

Okay that was embarrassing, PTAL @johnynek?

Looks good.

\o/ thanks!

@mduvall thanks for pushing this through!
Excited to have one more person at Stripe that has some rules hacking experience.


cmake: gcc/clang: enable colour diagnostics in terminal outptut

When gcc/clang output is piped through ninja the compiler disables colour diagnostics. Using -fdiagnostics-color forces the compiler to enable colour output.
Colour highlighted error and warning messages are useful during development.

In general compile flags should be controllable by user using Kconfig, but  diagnostics-color flag is purely color output and thus doesn't affect created object files.
@nashif Should we allow this particular flag as always-on.

@arvinf I see you did a force-push (probably a rebase), but you seem to have forgotten your own changes.

Thank you. That was just a rebase.
I've made the changes you requested and re-pushed it.

@nashif are there plans to merge this in? Could you please review?

@arvinf seems this got closed by mistake :disappointed:
Could you please rebase so we can get it in :+1:

Rebased and updated. This feature is only enabled when environment variabl eZEPHYR_BUILD_COLOUR_DIAGNOSTIC is set prior to starting a clean build. see #34254.

@arvinf I see you added this:
if($ENV{ZEPHYR_BUILD_COLOUR_DIAGNOSTIC})

after approved but before merging.
I don't think we should introduce such environment flags without documenting them.
Secondly, why not a Kconfig setting ?
Not sure how many users will discover that they can actually enable colored output.

My reasoning was that it should be an environment variable because it affects the build process (similar to the choice of compiler) and isn't a feature that affects the firmware.
It could be added as a default on to zephyr-env.sh assuming that doesn't affect the CI and build scripts.
I am OK with adding it to documentation. I just don't know the process for that. The best place for it would be in the doc for setting up the build system [https://docs.zephyrproject.org/latest/application/index.html]?

I think this can be added to the Getting Started guide.

My reasoning was that it should be an environment variable rather than Kconfig because it affects the build process (similar to the choice of compiler) and isn't a feature that affects the firmware.

How does this affect build process in a different way that Optimization, CONFIG_COMPILER_OPT or CONFIG_CODING_GUIDELINE_CHECK ?
Even if not using Kconfig, then an environment variable should still not be used in this.
If there is a good reason, a Cmake cache variable that user can specify using -D<var>=<val> will still be better.
But from the looks of it, my preference here would be a Kconfig, which will give you generated documentation for free.

If it is a Kconfig variable then it would end up in prj.conf of the Application and the coloured output would affect CI and other automated builds for the end user (in their own environemnt). This is the issue raised by @dcpleung in his patch which prompted me to add the variable here. Am I mistaken in my understanding of this issue?

If it is a Kconfig variable then it would end up in prj.conf

Only if the user adds it there.
Users can do: west build -b <board> -- -DCONFIG_COMPILER_COLOUR_DIAGNOSTIC=y
and nothing is added to the prj.conf
This is a compiler setting and should be treated as any other such setting and not an environment variable.

I'll change it to Kconfig CONFIG_BUILD_COLOUR_DIAGNOSTIC and submit a new PR.

This compiler option is to colorize compilation warnings and errors to the console, and does not affect the binary output. It makes the error messages easier to recognize so we don't have to mentally search through a sea of text with the same color. If you make this into kconfig, it means that every time I do west build, I need to manually add the config to the command line. Moreover, if I run twister locally, those tests which fail to build no longer have colorize build log as the kconfig is not enabled by default, and I have to manually add it. If we use an environment variable to enable colorized output, I can set this up in ~/.zephyrrc and the output will be colorized for all builds (both west and twister) automatically. So I think having it to be enabled via environment variable is also important.

@dcpleung Are you propsing that we have both Kconfig and environment variable controls and that either could be set to enable this feature?

Personally I think just using environment variable is enough, as this does not affect the binary output at all.

if you make this into kconfig, it means that every time I do west build, I need to manually add the config to the command line.

No, you can do:
west config build.cmake-args -- -DCONFIG_COMPILER_COLOUR_DIAGNOSTIC=y

and then it will be applied to CMake whenever you run west build.
And you can even make it global for all west workspaces by doing: west config --global ....

Personally I think just using environment variable is enough, as this does not affect the binary output at all.

This is also about having things consistent, and Kconfig / menuconfig provides a easy way for users to lookup all config options, without having to look into the docs.
And grouped with other compiler options, it will be grouped logically and show that color output can be enabled
I'm not sure why @arvinf decided not to just have it always on, as that was accepted here: https://github.com/zephyrproject-rtos/zephyr/pull/25557#issuecomment-633449791.
Also remember, environment settings are very common for Linux developers, but less common for windows developers.
There will always be someone who think a particular flag deserve to be an environment variable, but we should really keep those at a minimum, and so far I haven't seen a good enough reason why setting of a compile flag should be controlled through environment.
The toolchain is a very different story, because we need toolchain / compiler even before we start processing Kconfig.

@tejlmand How about we have it enabled by default (per original approved commit) but have a Kconfig to disable it?
This way it is usable out of the box without the user needing to do anything or make changes to their prj.conf. For CI builds and other automated cases where colour output might interfere they can add -DCONFIG_NO_COMPILER_COLOUR_DIAGNOSTIC=y to their build scripts.

@tejlmand How about we have it enabled by default (per original approved commit) but have a Kconfig to disable it?

I think that sounds very reasonable, and will most likely suit majority of users if not all users.

Done. See #34498


MWPW-159157: Update modal to account for new image size

We added support for a new class in the media block: 'space-between', which when added will add additional space between the right and left parts of the media block, see Figma.
Updated authoring documentation: https://main--milo--mirafedas.hlx.page/docs/authoring/promotions/delayed-modal
Resolves: MWPW-159157
Test URLs:

Before: https://main--cc--adobecom.hlx.page/products/aftereffects/free-trial-download?instant=2024-11-15T14:00:00.000Z
After: https://mwpw-159157-media-space-between--milo--mirafedas.hlx.page/drafts/mirafedas/delayed-modals/delayed-modal-space-between

@mirafedas: Nala video tests are failing on your PR branch. Can you please verify

Your branch failing test URL: https://mwpw-159157-media-space-between--milo--mirafedas.hlx.live/drafts/nala/blocks/video/youtube-video
main branch video test URL: https://main--milo--adobecom.hlx.live/drafts/nala/blocks/video/youtube-video

I guess your branch requires the latest video block changes.
cc: @narcis-radu @mokimo @robert-bogos

@mirafedas Theres this error logged and breaking commerce on Mac-Safari: Can you plz check ?  https://main--cc--adobecom.hlx.live/creativecloud?milolibs=mwpw-159157-media-space-between--milo--mirafedas
cc @npeltier @afmicka

Fixed with Revert PR: https://github.com/adobecom/milo/pull/2987