Error: undefined reference to ndbm functions

Joel Sherrill joel at rtems.org
Fri Jun 28 12:27:11 UTC 2019


You need to add the library to the gcc command that links the program. If
the libndbm is in the library search path, add -lndbm.

I don't recall the exact Makefile variable to set for this to show up. Look
at the paranoia sample. It should be doing this with -lm.

--joel

On Fri, Jun 28, 2019, 8:12 AM Vaibhav Gupta <vaibhavgupta40 at gmail.com>
wrote:

> Hello,
> .
> Status:
>
>    1. I have ported ndbm in newlib. When compiled newlib-cygwin, function
>    symbols were generated. Created patch.
>    2. Applied the patch to RSB and rebuild toolchain. Generated ndbm.h in
>    5/sparc-rtems5/include directory.
>
> Blocker:
>
>    1. I made a raw program which calls dbm_open, dbm_close, dbm_store,
>    dbm_fetch.
>    2. When  I run 'make -j 2', in erc32 directory, it shows undefined
>    reference to those functions.
>
> https://github.com/VARoDeK/rtems/compare/test_ndbm_presence_02
> .
> home/varodek/development/rtems/5/lib/gcc/sparc-rtems5/7.4.1/../../../../sparc-rtems5/bin/ld:
> psxinttypes01/psxinttypes01-init.o: in function `Init':
> /home/varodek/development/rtems/kernel/rtems/c/src/../../testsuites/psxtests/psxinttypes01/init.c:231:
> undefined reference to `dbm_open'
> /home/varodek/development/rtems/5/lib/gcc/sparc-rtems5/7.4.1/../../../../sparc-rtems5/bin/ld:
> /home/varodek/development/rtems/kernel/rtems/c/src/../../testsuites/psxtests/psxinttypes01/init.c:232:
> undefined reference to `dbm_store'
> /home/varodek/development/rtems/5/lib/gcc/sparc-rtems5/7.4.1/../../../../sparc-rtems5/bin/ld:
> /home/varodek/development/rtems/kernel/rtems/c/src/../../testsuites/psxtests/psxinttypes01/init.c:236:
> undefined reference to `dbm_fetch'
> /home/varodek/development/rtems/5/lib/gcc/sparc-rtems5/7.4.1/../../../../sparc-rtems5/bin/ld:
> /home/varodek/development/rtems/kernel/rtems/c/src/../../testsuites/psxtests/psxinttypes01/init.c:239:
> undefined reference to `dbm_close'
> collect2: error: ld returned 1 exit status
> make[5]: *** [Makefile:7679: psxinttypes01.exe] Error 1
> make[5]: Leaving directory
> '/home/varodek/development/rtems/kernel/erc32/sparc-rtems5/c/erc32/testsuites/psxtests'
> make[4]: *** [Makefile:663: psxtests] Error 2
> make[4]: *** Waiting for unfinished jobs....
> .
> .
> .
> Maybe I have compiled it incorrectly, please verify.
>
>    1. ndbm port: https://github.com/VARoDeK/newlib/compare/port_ndbm
>    2. RSB patch:
>    https://github.com/VARoDeK/rsb/compare/newlib_ndbm_rsb_patch_01
>
> Vaibhav Gupta
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20190628/9a39d0e2/attachment.html>


More information about the devel mailing list