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