I just failed in trying to build fiasco-ux:
First I followed the fiasco building and using page (the hello module variant) using the public cvs:
- The following dependencies are not mentioned: libncurses5-dev, autoconf, automake1.9, doxygen
I don't understand autoconf: the configure scripts should be generated at the distributors site?
When autoconf was missing, I got a message saying I need autoconf 2.50, it didn't say I need automake1.9. Here autoconf comes by default with 1.8.
Further I don't understand doxygen: Wouldn't it be better to have a separate doc goal and the main make goal independent from doxygen?
I appreciate the different config tools in l4 and fiasco as sign of big freedom in this world (and in Dresden in particular). ;-) However, it would make live easier for the casual l4 configurator (like me) if keybindings would agree and fiasco config had an exit button.
- the fiasco-ux site says
Enable at least the following configuration options:
* Target platform (choose UX) * Assembler IPC shortcut * Generate inline code
I could neither find IPC shortcut nor inline code.
- Then I got the following message:
Flex and Byacc. (If you don't have Byacc, but Bison, try setting "bison -y" in the L4 configuration menu under "Compilers and Tools". Other Yacc implementations might do it as well.)
but neither the message nor the website says where to find the L4 config menu. Wouldn't it be possible to let the config automatically choose bison if byacc is not found?
- the "-C l4" in in 2.a seems to prohibit relativ path for the builddir. Why not cd l4 before?
- Point 3.a says "cd l4", but there is no l4 inside l4
- Somebody told me that the preferred way to download fiasco nowadays is to use one of the opentc snapshots. If thats true if would be nice to have a link to these snapshots.
- Finally fiasco-ux and all the modules were compiled:
tandem l4v2 38> ./fiasco
Fiasco-UX on Linux 2.6.17-2-k7 (i686) Mapped 64 MB Memory + 0 KB Framebuffer + 0 MB Input Area on FD 3
Loading Module 0x00090000-0x00096d44 [sigma0-ux] Loading Module 0x00120000-0x002bd9f4 [roottask]
Bootstrapping...
Welcome to Fiasco(ux)! DD-L4(v2)/x86 microkernel (C) 1998-2006 TU Dresden Rev: Thu Nov 23 10:27:00 2006 compiled with gcc 4.1.2 for Intel Pentium
CPU: AuthenticAMD (F:23:2:0) Model: Athlon 64 X2 (Toledo) at 2418 MHz
32/512 Entry I TLB (4K pages) 8 Entry I TLB (4M pages) 32/512 Entry D TLB (4K pages) 8 Entry D TLB (4M pages) 64 KB L1 I Cache (2-way associative, 64 bytes per line) 64 KB L1 D Cache (2-way associative, 64 bytes per line) 1024 KB L2 U Cache (8-way associative, 64 bytes per line)
Freeing init code/data: 24576 bytes (6 pages)
ASSERTION_FAILED (((((*(int *) &(status))) & 0xff) == 0x7f) && ((((*(int *) &(status))) & 0xff00) >> 8) == 10) in function static unsigned int Hostproc::create(unsigned int) in file /home/tews/Fiasco/current/l4/kernel/fiasco/src/kern/ux/hostproc.cpp:120
Now I tried the latest opentc snapshot. I ingored the opentc build instructions and applied the fiasco build instructions to this tree. At some stage it was complaining about gcc-4.1.2 being the wrong compiler version. I changed the compilers to gcc-3.4/g++-3.4 in the l4 config. After that make skipped a lot of dirs, because the goals were done before already. Shouldn't it recompile everything after changing the compiler? So I did make clean then and rebuild. But still I saw a lot of messages with ``g++'' (which would be 4.1.2). That's unproblematic?
The compilation stoped eventually with
make[3]: Entering directory `/home/tews/Fiasco/opentc-snap/l4/build/doc/building-howto' cp building.tex drops-building.tex cp: cannot stat `building.tex': No such file or directory make[3]: *** [drops-building.tex] Error 1 make[3]: Leaving directory `/home/tews/Fiasco/opentc-snap/l4/build/doc/building-howto' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/tews/Fiasco/opentc-snap/l4/doc/building-howto' make[1]: *** [building-howto] Error 2 make[1]: Leaving directory `/home/tews/Fiasco/opentc-snap/l4/doc' make: *** [doc] Error 2
There seems a problem with the builddir, because
tandem l4 29> find . -name building.tex ./doc/building-howto/building.tex
However, the build/bin/x86_586/l4v2 dir looked already very full, so I decided to ignore the build instructions and tried:
tandem l4v2 7> ./fiasco
Fiasco-UX on Linux 2.6.17-2-k7 (i686) Mapped 64 MB Memory + 0 KB Framebuffer + 0 MB Input Area on FD 3
Loading Module 0x00090000-0x00096ce4 [sigma0-ux] Loading Module 0x00120000-0x002bda14 [roottask]
Bootstrapping...
Welcome to Fiasco(ux)! DD-L4(v2)/x86 microkernel (C) 1998-2006 TU Dresden Rev: Unknown compiled with gcc 4.1.2 for Intel Pentium
CPU: AuthenticAMD (F:23:2:0) Model: Athlon 64 X2 (Toledo) at 2418 MHz
32/512 Entry I TLB (4K pages) 8 Entry I TLB (4M pages) 32/512 Entry D TLB (4K pages) 8 Entry D TLB (4M pages) 64 KB L1 I Cache (2-way associative, 64 bytes per line) 64 KB L1 D Cache (2-way associative, 64 bytes per line) 1024 KB L2 U Cache (8-way associative, 64 bytes per line)
Freeing init code/data: 24576 bytes (6 pages)
ASSERTION_FAILED (((((*(int *) &(status))) & 0xff) == 0x7f) && ((((*(int *) &(status))) & 0xff00) >> 8) == 10) in function static unsigned int Hostproc::create(unsigned int) in file /home/tews/Fiasco/opentc-snap/l4/kernel/fiasco/src/kern/ux/hostproc.cpp:120
which is the same problem as before.
Bye,
Hendrik
On Fri, 24 Nov 2006 16:58:33 +0100 Hendrik Tews (HT) wrote:
HT> - the fiasco-ux site says HT> HT> Enable at least the following configuration options: HT> HT> * Target platform (choose UX) HT> * Assembler IPC shortcut HT> * Generate inline code HT> HT> I could neither find IPC shortcut nor inline code.
* Assembler IPC shortcut was hidden by accident because someone thought PF_UX is included in PF_PC. The Fiasco maintainer(s) didn't catch that. Following patch reverts that silliness.
Index: rules.cml =================================================================== RCS file: /home/cvs/l4/kernel/fiasco/src/rules.cml,v retrieving revision 1.171 diff -u -r1.171 rules.cml --- rules.cml 19 Oct 2006 08:50:54 -0000 1.171 +++ rules.cml 24 Nov 2006 16:19:31 -0000 @@ -462,7 +462,7 @@ unless IA32 and PF_PC suppress dependent REGPARM3 unless IA32 suppress dependent PROFILE SYNC_TSC SMALL_SPACES IO_PROT FINE_GRAINED_CPUTIME -unless PF_PC suppress ASSEMBLER_IPC_SHORTCUT +unless PF_UX or PF_PC suppress ASSEMBLER_IPC_SHORTCUT unless IA32 suppress dependent JDB_ACCOUNTING ia32_processor unless AMD64 suppress dependent amd64_processor require AMD64 implies WATCHDOG==n and GSTABS==n and ABI_X0==n and
* Generate inline code still exists in the "Kernel Debugging" menu.
HT> - Finally fiasco-ux and all the modules were compiled: HT> HT> tandem l4v2 38> ./fiasco HT> HT> HT> Fiasco-UX on Linux 2.6.17-2-k7 (i686) HT> Mapped 64 MB Memory + 0 KB Framebuffer + 0 MB Input Area on FD 3 HT> HT> Loading Module 0x00090000-0x00096d44 [sigma0-ux] HT> Loading Module 0x00120000-0x002bd9f4 [roottask] HT> HT> Bootstrapping... HT> HT> Welcome to Fiasco(ux)! HT> DD-L4(v2)/x86 microkernel (C) 1998-2006 TU Dresden HT> Rev: Thu Nov 23 10:27:00 2006 compiled with gcc 4.1.2 for Intel Pentium HT> HT> CPU: AuthenticAMD (F:23:2:0) Model: Athlon 64 X2 (Toledo) at 2418 MHz HT> HT> 32/512 Entry I TLB (4K pages) 8 Entry I TLB (4M pages) HT> 32/512 Entry D TLB (4K pages) 8 Entry D TLB (4M pages) HT> 64 KB L1 I Cache (2-way associative, 64 bytes per line) HT> 64 KB L1 D Cache (2-way associative, 64 bytes per line) HT> 1024 KB L2 U Cache (8-way associative, 64 bytes per line) HT> HT> Freeing init code/data: 24576 bytes (6 pages) HT> HT> ASSERTION_FAILED (((((*(int *) &(status))) & 0xff) == 0x7f) && ((((*(int *) HT> &(status))) & 0xff00) >> 8) == 10) in function static unsigned int HT> Hostproc::create(unsigned int) in HT> file /home/tews/Fiasco/current/l4/kernel/fiasco/src/kern/ux/hostproc.cpp:120
This sounds like your host kernel uses a VAS split other than 1G/3G. See http://os.inf.tu-dresden.de/fiasco/ux/status.shtml for details on that.
- Udo
l4-hackers@os.inf.tu-dresden.de