radareorg / sdb

Simple and fast string based key-value database with support for arrays and json
https://www.radare.org/
MIT License
218 stars 62 forks source link

Fails to compile with the TinyCC (git) on Debian Potato: sdbht.c:11: error: 'strdup' undeclared #220

Closed XVilka closed 3 years ago

XVilka commented 4 years ago
make -C sdb/src ARCH=xxx RANLIB="ranlib" CFLAGS_SHARED="-fPIC" \
        CC="tcc -D__LITTLE_ENDIAN__=1" AR="ar" ARCH=undefined CFLAGS='-D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1' LDFLAGS='' libsdb.a
make[3]: Entering directory '/radare2-master/shlr/sdb/src'
make cdb.o buffer.o cdb_make.o ls.o sdbht.o ht_uu.o sdb.o num.o base64.o match.o json.o ns.o lock.o util.o disk.o query.o array.o fmt.o journal.o dict.o ht_pp.o ht_up.o set.o diff.o
make[4]: Entering directory '/radare2-master/shlr/sdb/src'
tcc -D__LITTLE_ENDIAN__=1 -c  -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -fPIC -o cdb.o cdb.c
tcc -D__LITTLE_ENDIAN__=1 -c  -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -fPIC -o buffer.o buffer.c
tcc -D__LITTLE_ENDIAN__=1 -c  -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -fPIC -o cdb_make.o cdb_make.c
tcc -D__LITTLE_ENDIAN__=1 -c  -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -fPIC -o ls.o ls.c
tcc -D__LITTLE_ENDIAN__=1 -c  -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -D_POSIX_C_SOURCE=200809L -D_POSIX_C_SOURCE=200809L   -fPIC -g -Wall -D__UNIX__=1 -fPIC -o sdbht.o sdbht.c
sdbht.c:11: error: 'strdup' undeclared
make[4]: *** [Makefile:82: sdbht.o] Error 1
make[4]: Leaving directory '/radare2-master/shlr/sdb/src'
make[3]: *** [Makefile:34: sdb_objs] Error 2
make[3]: Leaving directory '/radare2-master/shlr/sdb/src'
make[2]: *** [Makefile:145: sdb-target] Error 2
make[2]: Leaving directory '/radare2-master/shlr'
make[1]: *** [Makefile:123: sdbs] Error 2
make[1]: Leaving directory '/radare2-master/shlr'
make: *** [Makefile:56: all] Error 2
trufae commented 4 years ago

Can you try adding #include in sdbht.c ? and see if that fixes the build?

trufae commented 3 years ago

Builds fine for me, and its actually being compiled inside r2 in the CI. closing