another error while I compile l4

l4 fangzhsh07 at gmail.com
Mon May 19 15:28:53 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