Fiasco-UX build problem
Adam Lackorzynski
adam at os.inf.tu-dresden.de
Thu Jan 27 16:49:54 CET 2005
On Thu Jan 27, 2005 at 14:06:29 +0100, Stefan K. wrote:
> First i got the following error:
> ...
> make[3]: Entering directory
> `/home/sk852421/Documents/uni/OS/Fiasco-UX/oskit/examples'
> ld -Ttext 100000 -L../lib \
> -o multiboot ../lib/multiboot.o multiboot.o \
> -lkern -lmc
> -llmm ../lib/crtn.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/libgcc.a
> ld -Ttext 100000 -L../lib \
> -o multiboot-gdb ../lib/multiboot.o multiboot-gdb.o \
> -lkern -lmc
> -llmm ../lib/crtn.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/libgcc.a
> ld -Ttext 100000 -L../lib \
> -o multiboot-smp ../lib/multiboot.o multiboot-smp.o \
> -lsmp -lkern -lmc
> -llmm ../lib/crtn.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/libgcc.a
> ../lib/libsmp.a(boot.o)(.text+0x29): In function `_SMP_TRAMP_START_':
> : relocation truncated to fit: R_386_16 _SMP_TRAMP_32_ENTRY_
> make[3]: *** [multiboot-smp] Error 1
> make[3]: Leaving directory
> `/home/sk852421/Documents/uni/OS/Fiasco-UX/oskit/examples'
> make[2]: *** [examples/all.MAKE] Error 2
> make[2]: Leaving directory `/home/sk852421/Documents/uni/OS/Fiasco-UX/oskit'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/home/sk852421/Documents/uni/OS/Fiasco-UX/oskit'
> make: *** [../oskit] Error 2
Last time I had this (or something quite similar) with FC3 I installed
new binutils and gcc (2.15 and 3.4.something) and it worked then.
Don't know why distribution compilers don't like this.
> here is the full output:
> http://www.inf.tu-dresden.de/~sk852421/fiasco/make.out2
>
> After that I choosed i586 instead of K7 (i'm using athlon xp) and i could
Looks like a typo in the build system, hopefully fixed.
> build the whole environment, but now i wanna compile Fiasco-UX and it fails
> every time:
> ...
> g++ -c -MD -D_GNU_SOURCE
> -include /home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/kern/ux/format.h
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/types/ux
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/types
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/drivers/ux
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/drivers
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/kern/ux
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/kern/shared
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/kern
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/lib/libk/ux
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/lib/libk
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/lib/amm
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/lib/lmm
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/lib/disasm
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/lib/perfctr
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/lib/regex
> -I. -Iauto -fno-implement-inlines -finline-limit=10000
> -mpreferred-stack-boundary=2 -march=i586 -fno-defer-pop -freg-struct-return
> -g -Wall -Wformat=2 -ffunction-sections -W -frename-registers
> -fomit-frame-pointer -gstabs+ -fno-rtti -fno-exceptions -O2
> auto/thread-ipc2-v4.cc -o thread-ipc2-v4.o
> ... Making kernel_thread.o
> g++ -c -MD -D_GNU_SOURCE
> -include /home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/kern/ux/format.h
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/types/ux
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/types
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/drivers/ux
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/drivers
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/kern/ux
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/kern/shared
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/kern
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/lib/libk/ux
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/lib/libk
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/lib/amm
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/lib/lmm
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/lib/disasm
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/lib/perfctr
> -I/home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/lib/regex
> -I. -Iauto -fno-implement-inlines -finline-limit=10000
> -mpreferred-stack-boundary=2 -march=i586 -fno-defer-pop -freg-struct-return
> -g -Wall -Wformat=2 -ffunction-sections -W -frename-registers
> -fomit-frame-pointer -gstabs+ -fno-rtti -fno-exceptions -O2
> auto/kernel_thread.cc -o kernel_thread.o
> /home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/kern/kernel_thread.cpp:104:
> error: parse
> error before `)' token
> /home/sk852421/Documents/uni/OS/Fiasco-UX/l4/kernel/fiasco/src/kern/kernel_thread.cpp:113:
> error: ISO
> C++ forbids declaration of `init_switch_time' with no type
I guess some preprocessing got it wrong.
Go to the build directory and do "make kernel_thread.i" and then look at
kernel_thread.i at the place where the error comes from. For me, it looks
something like this:
__attribute__ ((noinline)) __attribute__ ((noreturn))
void
Kernel_thread::run()
{
free_initcall_section();
Context::init_switch_time();
Should be similar/equal for you.
Adam
--
Adam adam at os.inf.tu-dresden.de
Lackorzynski http://os.inf.tu-dresden.de/~adam/
More information about the l4-hackers
mailing list