Project

General

Profile

Actions

Optimization #6126

open

compiling with outdated cbindgen does not have a corresponding err msg

Added by Peter Manev over 1 year ago. Updated over 1 year ago.

Status:
New
Priority:
Normal
Assignee:
Target version:
Effort:
Difficulty:
Label:

Description

Observed when compiling with the current master.
When compiling suricata with an outdated cbindgen , there is no err message indication this is the actual problem by the resulting errors and the compilation fails.
A regular user following the docs would not be able to figure it out by themselves i think.
We should probably have a minimum cbindgen version that is needed to compile with (just as we do with rust).

Example of the errs that are related to older cbindgen :

./../rust/gen/rust-bindings.h:4794:3: error: typedef redefinition with different types ('struct AppLayerTxData' (aka 'AppLayerTxData') vs 'struct AppLayerTxData')
} AppLayerTxData;
  ^
./detect.h:1333:31: note: previous definition is here
typedef struct AppLayerTxData AppLayerTxData;
                              ^
make[2]: *** [Makefile:3482: app-layer-parser.o] Error 1
1 error generated.
5 errors generated.
In file included from detect-engine-file.c:42:
In file included from ./app-layer-parser.h:30:
In file included from ./rust.h:27:
./../rust/gen/rust-bindings.h:4794:3: error: typedef redefinition with different types ('struct AppLayerTxData' (aka 'AppLayerTxData') vs 'struct AppLayerTxData')
} AppLayerTxData;
  ^
./detect.h:1333:31: note: previous definition is here
typedef struct AppLayerTxData AppLayerTxData;
                              ^
In file included from detect-engine-enip.c:28:
./app-layer-enip-common.h:206:20: error: field has incomplete type 'AppLayerTxData' (aka 'struct AppLayerTxData')
    AppLayerTxData tx_data;
                   ^
./detect.h:1333:16: note: forward declaration of 'struct AppLayerTxData'
typedef struct AppLayerTxData AppLayerTxData;
...

Actions

Also available in: Atom PDF