error while compiling l4
l4
fangzhsh07 at gmail.com
Mon May 19 05:10:56 CEST 2008
hi all,
several days ago Cheng suggest me use qemu to virtual a 32bit system to
compile l4,then i do.The l4 can work ,but the qemu is not very stable on
my computer,sometimes I even can't login the qemu.So I recompile l4 on
my computer again by using the latest tudos package.The error come out
again :
------------------------
==> "bootstrap" built
... Generating bootstrap32.bin
objcopy -S bootstrap bootstrap64.bin
chmod -x bootstrap64.bin
objcopy -B i386 -I binary -O elf32-i386 bootstrap64.bin
bootstrap32.bin
==> Linking bootstrap32
gcc -o bootstrap32 -nostdlib -static \
-Wl,-T,/home/l4/tudos/l4/pkg/bootstrap/server/src/ARCH-amd64/boot32/bootstrap32.ld,--gc-sections boot.o32 boot_idt.o32 boot_cpu.o32 boot_kernel.o32 load_elf.o32 minilibc_support.o32 bootstrap32.bin /home/l4/tudos/build/pkg/bootstrap/server/src/ARCH-amd64/libc32/OBJ-amd64_k8/libc32.a -lgcc
/usr/bin/ld: i386 architecture of input file `boot.o32' is
incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `boot_idt.o32' is
incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `boot_cpu.o32' is
incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `boot_kernel.o32'
is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `load_elf.o32' is
incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file
`minilibc_support.o32' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `bootstrap32.bin'
is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file
`/home/l4/tudos/build/pkg/bootstrap/server/src/ARCH-amd64/libc32/OBJ-amd64_k8/libc32.a(__assert_fail.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file
`/home/l4/tudos/build/pkg/bootstrap/server/src/ARCH-amd64/libc32/OBJ-amd64_k8/libc32.a(memcpy.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file
`/home/l4/tudos/build/pkg/bootstrap/server/src/ARCH-amd64/libc32/OBJ-amd64_k8/libc32.a(memset.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file
`/home/l4/tudos/build/pkg/bootstrap/server/src/ARCH-amd64/libc32/OBJ-amd64_k8/libc32.a(printf.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file
`/home/l4/tudos/build/pkg/bootstrap/server/src/ARCH-amd64/libc32/OBJ-amd64_k8/libc32.a(puts.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file
`/home/l4/tudos/build/pkg/bootstrap/server/src/ARCH-amd64/libc32/OBJ-amd64_k8/libc32.a(vprintf.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file
`/home/l4/tudos/build/pkg/bootstrap/server/src/ARCH-amd64/libc32/OBJ-amd64_k8/libc32.a(__v_printf.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file
`/home/l4/tudos/build/pkg/bootstrap/server/src/ARCH-amd64/libc32/OBJ-amd64_k8/libc32.a(strtol.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file
`/home/l4/tudos/build/pkg/bootstrap/server/src/ARCH-amd64/libc32/OBJ-amd64_k8/libc32.a(strtoul.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file
`/home/l4/tudos/build/pkg/bootstrap/server/src/ARCH-amd64/libc32/OBJ-amd64_k8/libc32.a(__lltostr.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file
`/home/l4/tudos/build/pkg/bootstrap/server/src/ARCH-amd64/libc32/OBJ-amd64_k8/libc32.a(__ltostr.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file
`/home/l4/tudos/build/pkg/bootstrap/server/src/ARCH-amd64/libc32/OBJ-amd64_k8/libc32.a(isspace.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file
`/home/l4/tudos/build/pkg/bootstrap/server/src/ARCH-amd64/libc32/OBJ-amd64_k8/libc32.a(memmove.o)' is incompatible with i386:x86-64 output
/home/l4/tudos/build/pkg/bootstrap/server/src/ARCH-amd64/libc32/OBJ-amd64_k8/libc32.a(__lltostr.o): In function `__lltostr':
/home/l4/tudos/l4/pkg/bootstrap/server/src/ARCH-amd64/libc32/__lltostr.c:29: undefined reference to `__umoddi3'
/home/l4/tudos/l4/pkg/bootstrap/server/src/ARCH-amd64/libc32/__lltostr.c:30: undefined reference to `__udivdi3'
collect2: ld return 1
make[5]: *** [bootstrap32] error 1
make[5]: Leaving directory
`/home/l4/tudos/build/pkg/bootstrap/server/src/OBJ-amd64_k8'
make[4]: ***
[/home/l4/tudos/build/pkg/bootstrap/server/src/OBJ-amd64_k8]
error 2
make[4]: Leaving directory
`/home/l4/tudos/l4/pkg/bootstrap/server/src'
make[3]: *** [src] error 2
make[3]: Leaving directory
`/home/l4/tudos/l4/pkg/bootstrap/server'
make[2]: *** [server] error 2
make[2]: Leaving directory `/home/l4/tudos/l4/pkg/bootstrap'
make[1]: *** [bootstrap.bin] error 2
make[1]: Leaving directory `/home/l4/tudos/l4/pkg'
make: *** [pkg] error 2
------------------------
my cpu information is :
------------------------
l4 at fwnc:~$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 107
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
stepping : 2
cpu MHz : 2200.104
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx
mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16
lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
bogomips : 4403.55
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc 100mhzsteps
-----------------------
I also check the fiasco and l4 as the AMD64 need,please see the
attachments for detail .is there any problem with my lib?I google that
someone suggest that:
*****************************
You can install the ia32-libs, libc6-dev-i386, etc packages to
get the 32bit libs on your 64bit install.
Alternatively, setting up a development chroot is pretty easy,
and not such a bad idea. pbuilder makes this quite easy. Install
the pbuilder package, then run
Code:
sudo pbuilder create --distribution edgy --debootstrapopts arch --debootstrapopts i386
You can then login to your chroot with sudo pbuilder login. This
won't save any changes you make in the chroot (you need to pass
--save-after-login to do that), though, since it's designed for
building debian packages.
******************************
Could you please give me some advice ?
thank you very much!
-------------- next part --------------
#
# Automatically generated make config: don't edit
# Fiasco kernel version: SVN
# Mon May 19 10:05:46 2008
#
#
# Target configuration
#
# CONFIG_IA32 is not set
CONFIG_AMD64=y
# CONFIG_ARM is not set
CONFIG_PF_PC=y
# CONFIG_PF_UX is not set
# CONFIG_PF_REALVIEW is not set
# CONFIG_PF_INTEGRATOR is not set
# CONFIG_PF_XSCALE is not set
# CONFIG_PF_SA1100 is not set
CONFIG_ABI_V2=y
# CONFIG_ARM_PXA is not set
# CONFIG_ARM_SA is not set
# CONFIG_ARM_920T is not set
# CONFIG_ARM_926 is not set
# CONFIG_ARM_1176 is not set
# CONFIG_ARM_MPCORE is not set
# CONFIG_IA32_486 is not set
# CONFIG_IA32_586 is not set
# CONFIG_IA32_686 is not set
# CONFIG_IA32_P2 is not set
# CONFIG_IA32_P3 is not set
# CONFIG_IA32_P4 is not set
# CONFIG_IA32_PM is not set
# CONFIG_IA32_K6 is not set
# CONFIG_IA32_K7 is not set
# CONFIG_IA32_K8 is not set
CONFIG_AMD64_K8=y
CONFIG_SCHED_PIT=y
# CONFIG_SCHED_RTC is not set
# CONFIG_SCHED_APIC is not set
CONFIG_WORKAROUND_AMD_FPU_LEAK=y
#
# Kernel options
#
# CONFIG_PL0_HACK is not set
# CONFIG_TASK_CAPS is not set
CONFIG_ASSEMBLER_IPC_SHORTCUT=y
CONFIG_CONTEXT_4K=y
# CONFIG_IO_PROT is not set
#
# Debugging
#
CONFIG_INLINE=y
# CONFIG_NDEBUG is not set
CONFIG_NO_FRAME_PTR=y
# CONFIG_STACK_DEPTH is not set
# CONFIG_LIST_ALLOC_SANITY is not set
# CONFIG_BEFORE_IRET_SANITY is not set
CONFIG_SERIAL=y
CONFIG_JDB=y
# CONFIG_JDB_MISC is not set
CONFIG_POWERSAVE_GETCHAR=y
# CONFIG_WARN_NONE is not set
CONFIG_WARN_WARNING=y
# CONFIG_WARN_ANY is not set
#
# Compiling
#
CONFIG_CC="gcc"
CONFIG_CXX="g++"
CONFIG_HOST_CC="gcc"
CONFIG_HOST_CXX="g++"
# CONFIG_VERBOSE is not set
# CONFIG_MAINTAINER_MODE is not set
CONFIG_LABEL=""
CONFIG_EXPERIMENTAL=y
CONFIG_PERF_CNT=y
CONFIG_BIT64=y
CONFIG_WARN_LEVEL=1
CONFIG_XARCH="amd64"
CONFIG_IA32_TARGET="AMD Opteron"
CONFIG_ABI="v2"
CONFIG_DECEIT_BIT_DISABLES_SWITCH=y
More information about the l4-hackers
mailing list