[¿À·ù³»¿ë .1 ] then mv -f ".deps/bfill.Tpo" ".deps/bfill.Po"; else rm -f ".deps/bfill.Tpo"; exit 1; fi In file included from /usr/include/asm/percpu.h:4, from /usr/include/asm/processor.h:22, from /usr/include/asm/atomic.h:6, from ../include/my_global.h:297, from bfill.c:32: /usr/include/asm-generic/percpu.h:8: error: `CONFIG_NR_CPUS' undeclared here (not in a function) make[2]: *** [bfill.o] ¿À·ù 1 make[2]: Leaving directory `/usr/local/src/mysql-4.1.11/strings' make[1]: *** [all-recursive] ¿À·ù 1 make[1]: Leaving directory `/usr/local/src/mysql-4.1.11' make: *** [all] ¿À·ù 2 StaticMysql.sh: line 26: /home/mysql/bin/mysql_install_db: ±×·± ÆÄÀÏÀ̳ª µð·ºÅ丮°¡ ¾øÀ½ chown: cannot access `/home/mysql/var': ±×·± ÆÄÀÏÀ̳ª µð·ºÅ丮°¡ ¾øÀ½ cp: cannot stat `/home/mysql/share/mysql/mysql.server': ±×·± ÆÄÀÏÀ̳ª µð·ºÅ丮°¡ ¾øÀ½
[ ÇØ°á ¹æ¹ý .1] http://bugs.mysql.com/bug.php?id=7970
#!/bin/sh cd mysql-5.0-20050111.1950/ && sed -i "/#define _global_h/a #define CONFIG_NR_CPUS 1n" ./include/my_global.h && echo Success.
[ ¿À·ù³»¿ë .2 ] if g++ -DDEFAULT_BASEDIR="/usr" -DDATADIR=""/var/lib/mysql"" -DDEFAULT_CHARSET_HOME=""/usr"" -DSHAREDIR=""/usr/share/mysql"" -DDEFAULT_HOME_ENV=MYSQL_HOME -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I. -O3 -DDBUG_OFF -O2 -pipe -march=athlon-xp -O3 -felide-constructors -fno-exceptions -fno-rtti -DHAVE_ERRNO_AS_DEFINE=1 -fno-implicit-templates -fno-exceptions -fno-rtti -MT my_new.o -MD -MP -MF ".deps/my_new.Tpo" -c -o my_new.o my_new.cc; then mv -f ".deps/my_new.Tpo" ".deps/my_new.Po"; else rm -f ".deps/my_new.Tpo"; exit 1; fi In file included from /usr/include/asm/processor.h:18, from /usr/include/asm/atomic.h:6, from ../include/my_global.h:293, from mysys_priv.h:17, from my_new.cc:22: /usr/include/asm/system.h:247: error: expected `,' or `...' before "new" /usr/include/asm/system.h: In function `long unsigned int __cmpxchg(volatile void*, long unsigned int, long unsigned int)': /usr/include/asm/system.h:250: error: `size' undeclared (first use this function) /usr/include/asm/system.h:250: error: (Each undeclared identifier is reported only once for each function it appears in.) /usr/include/asm/system.h:254: error: expected identifier before ')' token /usr/include/asm/system.h:260: error: expected identifier before ')' token /usr/include/asm/system.h:266: error: expected identifier before ')' token make[2]: *** [my_new.o] Error 1
It seems the c++ 'new' is crossing the '#ifdef __cpluscplus__ ...' boundry and causing this error. I am using gnu tools: gccversion='3.4.3', gnulibc_version='2.3.3'.
[ ÇØ°á¹æ¹ý .2 ] http://bugs.mysql.com/bug.php?id=7851
I can't understand how 'new' is confusing the plain c kernel headers. I cannot find any mysql problem - this is possibly a gnu-gcc problem ( they say no ).
My workaround is to patch asm/system.h:
sed -i "s/new/nneww/g" /usr/include/asm/system.h
( my kernel headers are put there after kernel compiles ).
|
|