Error compiling test program using fluent-bit API with fluent-bit.h and g++ compiler · Issue #9746 · fluent/fluent-bit · GitHub
More Web Proxy on the site http://driver.im/
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fluent-bit is compiled under linux (Ubuntu 24.04 LTS) from source (tag v3.2.2) Using a C-compiler (gcc) test program compiles fine Using g++ I get compile errors from mpack.h complaining about conflicting declarations (see example below)
In file included from /home/pbc/fluent-bit/lib/ctraces/include/ctraces/ctraces.h:31,
from /home/pbc/fluent-bit/include/fluent-bit/flb_input_trace.h:24,
from /home/pbc/fluent-bit/include/fluent-bit/flb_input.h:41,
from /home/pbc/fluent-bit/include/fluent-bit/flb_engine.h:25,
from /home/pbc/fluent-bit/include/fluent-bit/flb_output.h:38: /home/pbc/fluent-bit/lib/mpack-amalgamation-1.1.1/src/mpack/mpack.h: At global scope: /home/pbc/fluent-bit/lib/mpack-amalgamation-1.1.1/src/mpack/mpack.h:4206:19: error: conflicting declaration of C function ‘void mpack_write(mpack_writer_t*, int16_t)’ 4206 | MPACK_INLINE void mpack_write(mpack_writer_t* writer, int16_t value) { | ^~~~~~~~~~~ /home/pbc/fluent-bit/lib/mpack-amalgamation-1.1.1/src/mpack/mpack.h:4202:19: note: previous declaration ‘void mpack_write(mpack_writer_t*, int8_t)’ 4202 | MPACK_INLINE void mpack_write(mpack_writer_t* writer, int8_t value) {
mpack.h wants to overload functions which is allowed with g++, but it seems this is run with extern "C" although the extern "C" is ended immediately above the overloaded functions.
What am I missing here?
All headers are included from the fluent-bit repository the same way as the c-files in tests/runtime are compiled (tested with make VERBOSE=1)
The text was updated successfully, but these errors were encountered:
Has this problem been resolved? I encountered a similar error.
In file included from external/fluent_bit/include/fluent-bit.h:41:
In file included from external/fluent_bit/include/fluent-bit/flb_output.h:38:
In file included from external/fluent_bit/include/fluent-bit/flb_engine.h:25:
In file included from external/fluent_bit/include/fluent-bit/flb_input.h:41:
In file included from external/fluent_bit/include/fluent-bit/flb_input_trace.h:24:
In file included from external/fluent_bit/include/ctraces/ctraces/ctraces.h:31:
external/fluent_bit/include/mpack/mpack/mpack.h:4206:19: error: conflicting types for 'mpack_write'
MPACK_INLINE void mpack_write(mpack_writer_t* writer, int16_t value) {
^
external/fluent_bit/include/mpack/mpack/mpack.h:4202:19: note: previous definition is here
MPACK_INLINE void mpack_write(mpack_writer_t* writer, int8_t value) {
^```
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 5 days. Maintainers can add the exempt-stale label.
Uh oh!
There was an error while loading. Please reload this page.
Fluent-bit is compiled under linux (Ubuntu 24.04 LTS) from source (tag v3.2.2) Using a C-compiler (gcc) test program compiles fine Using g++ I get compile errors from mpack.h complaining about conflicting declarations (see example below)
This my simple program:
This is part of the reported errors from g++:
mpack.h wants to overload functions which is allowed with g++, but it seems this is run with extern "C" although the extern "C" is ended immediately above the overloaded functions.
What am I missing here?
All headers are included from the fluent-bit repository the same way as the c-files in tests/runtime are compiled (tested with make VERBOSE=1)
The text was updated successfully, but these errors were encountered: