Kernel fordítási problemam akadt

Fórumok

Kernel fordítási problemam akadt

Hozzászólások

Feltettem a 2.95.3-as GCC-t,

kernel forditasakor, make bzImage után:

sched.c: In function `schedule_timeout':
sched.c:415: `MAX_SCHEDULE_TIMEOUT' undeclared (first use in this function)
sched.c:415: (Each undeclared identifier is reported only once
sched.c:415: for each function it appears in.)
sched.c:423: warning: implicit declaration of function `schedule'
sched.c:423: warning: unreachable code at beginning of switch statement
sched.c: At top level:
sched.c:548: warning: type mismatch with previous implicit declaration
sched.c:451: warning: previous implicit declaration of `schedule'
sched.c:548: warning: `schedule' was previously implicitly declared to return `int'
make[2]: *** [sched.o] Error 1
make[2]: Leaving directory `/usr/src/redhat/linux-2.4.21/kernel'
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/usr/src/redhat/linux-2.4.21/kernel'
make: *** [_dir_kernel] Error 2

Ezt lehet valahogy orvosolni?

volt make dep?
a kernel-config biztosan nincsen elcseszve?

Nemhiszem, így akarnám csinálni:

make mrproper
make menuconfig
make dep
make bzImage

Sziasztok,

2.6.9-1.667 kernel alol ( fedora core 3 ) szeretnek egy 2.4.21-es verzioju kernelt forditani. ( ez elott frissitettem 3.2.2 verzioju
GCCrol 3.4.4-esre ) Am nem sikerul,:

[root@localhost linux-2.4.21]# gcc -v
Reading specs from /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.4/specs
Configured with: ./configure : (reconfigured) ./configure
Thread model: posix
gcc version 3.4.4

[root@localhost linux-2.4.21]# make menuconfig
rm -f include/asm
( cd include ; ln -sf asm-i386 asm)
make -C scripts/lxdialog all
make: *** scripts/lxdialog: Nincs ilyen fájl vagy konyvtar. Stop.
make: *** [menuconfig] Error 2

[root@localhost linux-2.4.21]# make xconfig
rm -f include/asm
( cd include ; ln -sf asm-i386 asm)
make -C scripts kconfig.tk
make: *** scripts: Nincs ilyen fájl vagy konyvtar. Stop.
make: *** [xconfig] Error 2

[root@localhost linux-2.4.21]# make config
rm -f include/asm
( cd include ; ln -sf asm-i386 asm)
/bin/sh scripts/Configure arch/i386/config.in
/bin/sh: scripts/Configure: Nincs ilyen fajl vagy konyvtar
make: *** [config] Error 127

Amint lehet is latni nem mukodik sem az make menuconfig, sem a make xconfig. Van valakinek valami otlete, hogy hogyan lehetne segiteni rajta?

ha régi emlékezetem nem csal, akkor nálam azért volt hasonló probléma, mert a következő két csomag nem volt telepítve:
libc6-dev
libncurses5-dev

Csaba

szia, megoldottam a problemat. az ovlt a gond, ohgy nem csomagolta ki teljesen a linux, de aztan ezt megoldottam.

Viszont a make bzImage után ( 3.4.4-es GCC ) kijon egy ujabb problema.

[root@localhost linux]# make bzImage
gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -DKBUILD_BASENAME=main -c -o init/main.o init/main.c
In file included from /usr/src/linux/include/linux/sched.h:23,
from /usr/src/linux/include/linux/mm.h:4,
from /usr/src/linux/include/linux/slab.h:14,
from /usr/src/linux/include/linux/proc_fs.h:5,
from init/main.c:15:
/usr/src/linux/include/linux/smp.h:29: error: conflicting types for 'smp_send_reschedule'
/usr/src/linux/include/asm/smp.h:65: error: previous declaration of 'smp_send_reschedule' was here
/usr/src/linux/include/linux/smp.h:29: error: conflicting types for 'smp_send_reschedule'
/usr/src/linux/include/asm/smp.h:65: error: previous declaration of 'smp_send_reschedule' was here
In file included from /usr/src/linux/include/linux/unistd.h:9,
from init/main.c:17:
/usr/src/linux/include/asm/unistd.h:360: warning: conflicting types for built-in function '_exit'
make: *** [init/main.o] Error 1

Lehetseges ez a GCC miatt? Tegyek fel egy 2.95-os verziojut?

2.4-es kernelnél make bzimage előtt make dep -et kell futtatni. Ez megvolt?

Én is láttam már olyat, hogy más gcc kellett valamihez, ha ezt megnézed:

ls -l /usr/bin/gcc*
lrwxrwxrwx 1 root root 7 2005-04-11 23:21 /usr/bin/gcc -> gcc-3.3
-rwxr-xr-x 1 root root 69960 2004-03-10 07:47 /usr/bin/gcc-2.95
-rwxr-xr-x 1 root root 74056 2002-04-08 03:26 /usr/bin/gcc-3.0
-rwxr-xr-x 1 root root 85196 2005-05-25 02:03 /usr/bin/gcc-3.3
-rwxr-xr-x 1 root root 84972 2005-05-06 01:19 /usr/bin/gcc-3.4

tehát a gcc link melyik gcc-re mutat az a lényeg, nekem működött, debian-on.

NW