tags:

views:

646

answers:

2

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 <>)

A: 

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
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.
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
+1  A: 

The .include directive is BSD Make syntax. The default make command on Linux is GNU Make which supports a slightly different syntax.

Also, you won't find bsd.kmod.mk on your RedHat system and you won't have any luck using the BSD kldload command.

Are you sure you downloaded the right thing?

Maxi
I downloaded the 1.1 and 5.0 versions from here:http://sourceforge.net/projects/cerber/files/
Oh, and no I'm not sure I'm downloading the right thing, I'm still a newbie.
Well, that's a FreeBSD Kernel Module, so you can't use it on RedHat Linux.You might be looking for rsh which includes rexec and which is available as a RHEL package.
Maxi