1

I am attempting to install rexec into Redhat Enterprise Release 4. Everytime I attempt to use the make command I get the following error.

Makefile:15: *** missing separator. Stop.

I have looked elsewhere on the net and line 15 of the Makefile has the below:

.include (I am unsure why but this website is blanking out what comes after .include, it is bsd.kmod.mk surrounded by <>)

I have used vi to make sure that space in the middle is a TAB and not 8 spaces, this does not resolve the issue. I have placed a TAB in front of the .include as I read somewhere there has to be a tab at the beginning, I then get a different error:

make: *** No rule to make target 'rexec.ko' , needed by 'load'. Stop.

I am unsure what else I'm supposed to do to get rexec installed, any clues?

Entire Makefile:

SRCS = rexec.c vnode_if.h KMOD = rexec KO = ${KMOD}.ko KLDMOD = t

KLDLOAD = /sbin/kldload KLDUNLOAD = /sbin/kldunload

load: ${KO} ${KLDLOAD} -v ./${KO}

unload: ${KO} ${KLDUNLOAD} -v -n ${KO}

.include (I am unsure why but this website is blanking out what comes after .include, it is bsd.kmod.mk surrounded by <>)

  • What "make" are you using i.e what is the output of "make --version"? – Troubadour Jul 08 '09 at 21:52
  • BTW, generally you need to escape an opening angle bracket by writing < instead of that character. Similarly an ampersand(&) would need to be escaped as &. – Troubadour Jul 08 '09 at 21:57
  • Output of make --version is GNU Make 3.80 –  Jul 10 '09 at 19:35
  • Does this answer your question? [Make error: missing separator](https://stackoverflow.com/questions/920413/make-error-missing-separator) – Tejas Shetty Nov 05 '21 at 08:38

1 Answers1

0

I believe the .include should be using spaces. Check out the last part of the Makefile. It should end like this:

unload: ${KO}
<tab>${KLDUNLOAD} -v -n ${KO}

.include <bsd.kmod.mk>

Where <tab> is an actual tab character. And that blank line better be blank; no tricksy whitespace on it.

George Phillips
  • 4,564
  • 27
  • 25
  • when I VI the file the space before "${KLDUNLOAD} -v -n ${KO}" is a tab, am I supposed to type a character into it? I'd be confused if that was the issue as it keeps complaining about line 15 where the .include is. And there is a blank line from what I can tell, again using VI. –  Jul 10 '09 at 19:39
  • No character to add, just wanted to check it was a tab. The problem is just figuring out a way to show white space which is why making white space matter is so evil. I was just guessing based on the possibility that an earlier error broke the .include. But I think @Maxi has it right with the BSD vs. GNU situation. – George Phillips Jul 10 '09 at 20:50