Quantcast
Channel: Active questions tagged ubuntu - Stack Overflow
Viewing all articles
Browse latest Browse all 7088

Linker cannot find strnstr() on Ubuntu with libbsd

$
0
0

To port some existing code from FreeBSD to Ubuntu (22.04) with the libbsd-dev package installed, I am encountering a problem in the linking phase: undefined reference to 'strnstr'. Code:

#include <bsd/string.h>#include <stdio.h> int main(int argc, char **argv) {    char * ppl = "World citizens";    char * s = strnstr(ppl, "c", strlen(ppl));    printf("Hello, %s\n", s);}

The command used for building and linking is: cc -lbsd test-strnstr.c. This command invokes gcc.

If called explicitly with clang (clang -lbsd test-strnstr.c) it works. It also compiles, links and runs fine on MacOS (without the 'bsd/' part in the first #include).

What can be the reason that it won't link with the strnstr() in libbsd (and libbsd.a is installed /usr/lib/aarch64-linux-gnu/)?


Viewing all articles
Browse latest Browse all 7088

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>