Hi All,
there is a error when compling fiasco-1.2 on my pc. I do it following the course "Microkernel Construction Exercises":
1)Download and extract the Fiasco kernel from here http://os.inf.tu-dresden.de/fiasco/download/fiasco-1.2.tar.gz. 2)Switch to the directory *fiasco-1.2/l4/kernel/fiasco/* and create a build directory using *make BUILDDIR=build_ux**. 3)Run *make config* in this build directory and select UX as target platform (in 'Target System Options'). Leave the configuration menu with 'x'. 4)Build the kernel using *make*.
The error as following: ........ ........ ... Making thread-msg-ux.o ... Making thread-log.o ... Making thread-debug.o ... Making kernel_thread.o /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:104: error: parse error before `)' token /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:113: error: ISO C++ forbids declaration of `init_switch_time' with no type /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:113: error: prototype for `int Context::init_switch_time()' does not match any in class `Context' auto/context.h:1039: error: candidate is: void Context::init_switch_time() /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:113: error: ` int Context::init_switch_time()' and `void Context::init_switch_time()' cannot be overloaded /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:113: error: prototype for `int Context::init_switch_time()' does not match any in class `Context' auto/context.h:1039: error: candidate is: void Context::init_switch_time() /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:113: error: ` int Context::init_switch_time()' and `void Context::init_switch_time()' cannot be overloaded /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:113: error: declaration of `int Context::init_switch_time()' outside of class is not definition /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:117: error: ISO C++ forbids declaration of `init_workload' with no type /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:119: error: parse error before `while' /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:122: error: ISO C++ forbids declaration of `puts' with no type /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:122: error: ` int puts' redeclared as different kind of symbol /usr/include/stdio.h:589: error: previous declaration of `int puts(const char*) ' /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:122: error: invalid conversion from `const char*' to `int' /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:127: error: ISO C++ forbids declaration of `ready_dequeue' with no type /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:128: error: ISO C++ forbids declaration of `sched' with no type /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp: In function `int sched()': /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:128: error: parse error before `->' token /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:129: error: ISO C++ forbids declaration of `ready_enqueue' with no type /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:131: error: ISO C++ forbids declaration of `kill_all' with no type /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:133: error: ISO C++ forbids declaration of `threading_system_active' with no type /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:133: error: conflicting types for `int Helping_lock::threading_system_active' auto/helping_lock.h:24: error: previous declaration as `bool Helping_lock::threading_system_active' /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:135: error: ISO C++ forbids declaration of `exit' with no type /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:135: error: ` int exit' redeclared as different kind of symbol /usr/include/stdlib.h:640: error: previous declaration of `void exit(int)' /home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/src/kern/kernel_thread.cpp:136: error: parse error before `}' token make[3]: *** [kernel_thread.o] Error 1 make[3]: Leaving directory `/home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/build' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/build' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/ljian/L4/Fiasco/curses/practise/fiasco-1.2/l4/kernel/fiasco/build' make: *** [build] Error 2
btw: I use gentoo
Cheers:)
Liu Jian