that's because get is an inline function building with -std=c90 will solve the problem ./load cdbmake cdb.a alloc.a buffer.a unix.a byte.a ./auto-str auto_home `head -n 1 conf-home` > auto_home.c /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cdbmake.o: in function `main': cdbmake.c:(.text.startup.main+0x9a): undefined reference to `get' /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cdbmake.c:(.text.startup.main+0xba): undefined reference to `get' /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cdbmake.c:(.text.startup.main+0x107): undefined reference to `get' /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cdbmake.c:(.text.startup.main+0x181): undefined reference to `get' /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cdbmake.c:(.text.startup.main+0x1dc): undefined reference to `get' /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cdbmake.o:cdbmake.c:(.text.startup.main+0x1f0): more undefined references to `get' follow
Just get rid of this mess and use tinycdb instead
*** Bug 794892 has been marked as a duplicate of this bug. ***
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58d46a271f1bfbe0965971bae534c805bef0e244 commit 58d46a271f1bfbe0965971bae534c805bef0e244 Author: Akinori Hattori <hattya@gentoo.org> AuthorDate: 2021-11-10 13:40:47 +0000 Commit: Akinori Hattori <hattya@gentoo.org> CommitDate: 2021-11-10 13:40:47 +0000 dev-db/cdb: fix build Closes: https://bugs.gentoo.org/693094 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Akinori Hattori <hattya@gentoo.org> dev-db/cdb/cdb-0.75-r4.ebuild | 1 + dev-db/cdb/files/cdb-inline.patch | 11 +++++++++++ 2 files changed, 12 insertions(+)