Minix: undefined reference to 'strtok'?

3.4k views Asked by At

I am trying to add a new system call at: /usr/src/servers/pm/exec.c

I write a very simple method in exec.c:

void parseBlack(char * value){
    char * ptr = strtok(values, ";");

    }

However, when I try to compile it there is an error:

In function parseBlac, undefined reference to "strtok".

And I have added #include <string.h>

It is weird. I checked minix api. It has this method:

/minix/include/string.h(http://code.metager.de/source/xref/minix/include/string.h)

Here is a screen shot:

enter image description here

1

There are 1 answers

0
AntoineL On

Servers in MINIX do not link with the full, bloated and verbose libc.a, rather with a limited version of the C library (probably libminc in your case). Clearly strtok was not considered to be part of that limited library in the release you are using. Either move strtok.c to that library (edit libminc/Makefile then clean and rebuild), or link explicitly with strtok.o.