debian-jessiefluent-bit

Missing header <fluent-bit.h> while compiling C program


I'm trying to compile my C program using library Api of fluent-bit , but the header fluent-bit.h is missing and I don't understand why.

I installed fluent-bit using installation guide

Here is my code I want to test:

#include <fluent-bit.h>

int main()
{
    int i;
    int n;
    char tmp[256];
    flb_ctx_t *ctx;
    int in_ffd;
    int out_ffd;

    /* Initialize library */
    ctx = flb_create();
    if (!ctx) {
        exit(EXIT_FAILURE);
    }

    in_ffd = flb_input(ctx, "lib", NULL);
    flb_input_set(ctx, in_ffd, "tag", "test", NULL);

    out_ffd = flb_output(ctx, "stdout", NULL);
    flb_output_set(ctx, out_ffd, "match", "test", NULL);

    /* Start the background worker */
    flb_start(ctx);

    /* Push some data */
    for (i = 0; i < 100; i++) {
        n = snprintf(tmp, sizeof(tmp) - 1,
                     "[%f, {\"key\": \"val %i\"}]",
                     flb_time_now(), i);
        flb_lib_push(ctx, in_ffd, tmp, n);
    }
    flb_stop(ctx);

    /* Release Resources */
    flb_destroy(ctx);

    return 0;
}

Here the error I got:

hello.c:1:24: fatal error: fluent-bit.h: No such file or directory
 #include <fluent-bit.h>
                        ^
compilation terminated.

Solution

  • Problem solved, I didn't install fluent-bit and headers properly. Here was the problem : the headers were missing, so move on to cd /path/to/downloaded/fluent-bit-x.y.z/includes

    Then use

    sudo cmake .
    sudo make install
    

    You'll get an output saying that the headers had been installed on your system.

    To make sure fluent-bit is correctly installed too :

    cd ..
    sudo cmake .
    sudo make install
    

    You can now use the fluent-bit API without problems