armon / bloomd

C network daemon for bloom filters
http://armon.github.io/bloomd
Other
1.24k stars 112 forks source link

cast-function-type error in bloomd.c #54

Closed zbuc closed 1 year ago

zbuc commented 5 years ago

I'm working off the latest master, on Ubuntu 18.10.

scons version:

    script: v3.0.5.a56bbd8c09fb219ab8a9673330ffcd55279219d0, 2019-03-26 23:16:31, by bdeegan on kufra
    engine: v3.0.5.a56bbd8c09fb219ab8a9673330ffcd55279219d0, 2019-03-26 23:16:31, by bdeegan on kufra
$ python3 `which scons`
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o src/bloomd/bloomd.o -c -std=c99 -D_GNU_SOURCE -Wall -Wextra -Werror -O2 -pthread -Isrc/bloomd/ -Ideps/inih/ -Ideps/libev/ -Isrc/libbloom/ src/bloomd/bloomd.c
src/bloomd/bloomd.c: In function 'main':
src/bloomd/bloomd.c:180:43: error: cast between incompatible function types from 'void (*)(worker_args *)' {aka 'void (*)(struct <anonymous> *)'} to 'void * (*)(void *)' [-Werror=cast-function-type]
         pthread_create(&threads[i], NULL, (void*(*)(void*))worker_main, &wargs);
                                           ^
cc1: all warnings being treated as errors
scons: *** [src/bloomd/bloomd.o] Error 1
scons: building terminated because of errors.
zbuc commented 5 years ago

I got it to build by disabling the warning for now:

SConstruct:

-envbloomd_with_err = Environment(CCFLAGS = '-std=c99 -D_GNU_SOURCE -Wall -Wextra -Werror -O2 -pthread -Isrc/bloomd/ -Ideps/inih/ -Ideps/libev/ -Isrc/libbloom/')
+envbloomd_with_err = Environment(CCFLAGS = '-std=c99 -D_GNU_SOURCE -Wall -Wextra -Werror -Wno-cast-function-type -O2 -pthread -Isrc/bloomd/ -Ideps/inih/ -Ideps/libev/ -Isrc/libbloom/')
armon commented 1 year ago

Fixed by #58