Trouble Compiling modules/kernel
Zachary Kline
klinez at onid.orst.edu
Wed Jan 7 15:35:01 EST 2009
Hi,
You need to switch from CVS to Git. There are many detailed sets of
instructions in the list archives on how to do this.
What distribution are you compiling for, and which kernel versions are
you dealing with?
Best,
Zack.
----- Original Message -----
From: "Joe Kamphaus" <joe at joekamphaus.net>
To: <speakup at braille.uwo.ca>
Sent: Wednesday, January 07, 2009 12:30 PM
Subject: Trouble Compiling modules/kernel
> What am I doing wrong?
>
> I am trying to compile a kernel and keep getting this error:
>
> CC [M] drivers/char/speakup/speakup.o
> drivers/char/speakup/speakup.c:2677:39: error: macro "DECLARE_WORK"
> requires 3 arguments, but only 2 given
> drivers/char/speakup/speakup.c:2677: warning: type defaults to ‘int’ in
> declaration of ‘DECLARE_WORK’
> drivers/char/speakup/speakup.c: In function ‘speakup_help’:
> drivers/char/speakup/speakup.c:2686: error: ‘ld_help’ undeclared (first
> use in this function)
> drivers/char/speakup/speakup.c:2686: error: (Each undeclared identifier is
> reported only once
> drivers/char/speakup/speakup.c:2686: error: for each function it appears
> in.)
> make[3]: *** [drivers/char/speakup/speakup.o] Error 1
> make[2]: *** [drivers/char/speakup] Error 2
> make[1]: *** [drivers/char] Error 2
> make: *** [drivers] Error 2
>
> I have tried to compile as module or included in kernel. I have tried
> several kernel versions. I am using cvs with the following script to patch
> the source.
>
> #!/bin/bash
>
> ROOTDIR=/usr/src/linux
> if [ "$1" != "" ]; then
> ROOTDIR="$1"
> else
> if [ -d kernel -a -d Documentation ]; then
> ROOTDIR=`pwd`
> fi
> fi
>
> VERSION=v`head -2 $ROOTDIR/Makefile | \
> awk '{ printf "%s",$3 }'`
>
> DIR=$ROOTDIR/drivers/char/speakup
>
> echo "Patching version $VERSION"
>
> if [ ! -d ${DIR}/CVS ] && [ "$CVSROOT" == "" ]; then
> echo 'CVSROOT not set. Enter it below. Hit enter for anonymous.'
> read -p 'CVSROOT> ' CVSROOT
> [ "$CVSROOT" == "" ] &&
> CVSROOT=':pserver:anonymous at linux-speakup.org:/usr/src/CVS'
> export CVSROOT
> cvs login || exit
> fi
>
> if [ "$1" != "-p" ]; then
> # get new version
> mkdir -p ${DIR%/speakup}
> cd ${DIR%/speakup}
> if [ -d speakup ] && [ -d ${DIR}/CVS ]; then
> cd speakup
> cvs update -d -P || exit
> else
> rm -fr ${DIR}
> cvs co -P speakup || exit
> cd speakup
> fi
> fi
>
> # make .orig files
> echo -n 'Creating .orig files ['
> for i in `cat ${DIR}/patchlist-${VERSION}`; do
> patch=`echo $i | cut -f 1 -d ,`
> filebase=`echo $i | cut -f 2 -d ,`
>
> mkdir -p `dirname $ROOTDIR/$filebase`
> if [ "$patch" == "1" ]; then
> if [ ! -e $ROOTDIR/$filebase.orig ]; then
> echo -n .
> cp $ROOTDIR/$filebase $ROOTDIR/$filebase.orig
> fi
> fi
> done
> echo '] done.'
>
> # apply patches
> echo -n 'Patching files ['
> for i in ${DIR}/diff-${VERSION}/*.patch; do
> # skip dirs
> [ -d $i ] && continue
> echo -n p
> writeloc=${i##$DIR\/diff-${VERSION}\/}
> writeloc=${writeloc%.patch}
> writeloc=${writeloc//^/\/}
> patch --silent -f -p0 -o $ROOTDIR/$writeloc $ROOTDIR/$writeloc.orig $i
> done
> echo '] done.'
>
> # copy files
> echo -n 'Copying files ['
> for i in ${DIR}/diff-${VERSION}/*.copy; do
> # skip dirs
> [ -d $i ] && continue
> echo -n c
> writeloc=${i##$DIR\/diff-${VERSION}\/}
> writeloc=${writeloc%.copy}
> writeloc=${writeloc//^/\/}
> cp $i $ROOTDIR/$writeloc
> done
> echo '] done.'
>
> http://www.joekamphaus.net
>
>
> _______________________________________________
> Speakup mailing list
> Speakup at braille.uwo.ca
> http://speech.braille.uwo.ca/mailman/listinfo/speakup
>
More information about the Speakup
mailing list