[asterisk-dev] Dahdi compilation error on ARM
Pavel Troller
patrol at sinus.cz
Wed Sep 9 12:11:07 CDT 2009
> tks for the quick response
>
> On Wed, Sep 9, 2009 at 12:00 PM, Tzafrir Cohen<tzafrir.cohen at xorcom.com> wrote:
> > On Wed, Sep 09, 2009 at 11:32:26AM -0300, Rafael Seste wrote:
> >> Hello all,
> >>
> >> I don't know if here is the right place to post this.
> >> I'm trying to compile dahdi on an arm plataform but I'm having some problems.
> >>
> >> here is the output
> >>
> >> # make
> >> make -C drivers/dahdi/firmware firmware-loaders
> >> make[1]: Entering directory `/root/dahdi-linux-2.2.0.2/drivers/dahdi/firmware'
> >> make[1]: Leaving directory `/root/dahdi-linux-2.2.0.2/drivers/dahdi/firmware'
> >> make -C /lib/modules/2.6.30.5/build
> >> SUBDIRS=/root/dahdi-linux-2.2.0.2/drivers/dahdi
> >> DAHDI_INCLUDE=/root/dahdi-linux-2.2.0.2/include DAHDI_MODULES_EXTRA="
> >> " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m
> >> make[1]: Entering directory `/mnt/pendrive/MySwitch/linuxKernel/linux-2.6.30.5'
> >> /root/dahdi-linux-2.2.0.2/drivers/dahdi/Kbuild:85: CPU Architecture
> >> 'arm' does not support VPMADT032 or HPEC. Skipping.
> >
> > That seems irrelevant. But could you please give some more information
> > on the specific arm platform?
>
> It is a armv5tel. It is the marvel kirkwood architecture from the sheevaplug.
>
> >
> >> CC [M] /root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi-base.o
> >> Killed
> >> make[2]: *** [/root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi-base.o] Error 137
> >
> > gcc got signal 9 ( = 137-128). It was killed. Looks at first glance like
> > a toolchain issue or platform issue. Also: if a process suddenly gets
> > killed, check out the kernel log for strange error messages.
> >
> > To see the exact command that was run by the kernel build system:
> >
> > KBUILD_VERBOSE=1 make
> >
> >
> >> make[1]: *** [_module_/root/dahdi-linux-2.2.0.2/drivers/dahdi] Error 2
> >> make[1]: Leaving directory `/mnt/pendrive/MySwitch/linuxKernel/linux-2.6.30.5'
> >> make: *** [modules] Error 2
> >
>
> from dmesg I got this:
>
> sh invoked oom-killer: gfp_mask=0x1200d2, order=0, oomkilladj=0
> [<c00309c0>] (unwind_backtrace+0x0/0xe0) from [<c007b534>]
> (oom_kill_process+0x84/0x20c)
> [<c007b534>] (oom_kill_process+0x84/0x20c) from [<c007bad0>]
> (__out_of_memory+0x188/0x1ac)
> [<c007bad0>] (__out_of_memory+0x188/0x1ac) from [<c007bb70>]
> (out_of_memory+0x7c/0xcc)
> [<c007bb70>] (out_of_memory+0x7c/0xcc) from [<c007e580>]
> (__alloc_pages_internal+0x2f0/0x3a0)
> [<c007e580>] (__alloc_pages_internal+0x2f0/0x3a0) from [<c008d728>]
> (handle_mm_fault+0x178/0x700)
> [<c008d728>] (handle_mm_fault+0x178/0x700) from [<c03d0094>]
> (do_page_fault+0x154/0x2a8)
> [<c03d0094>] (do_page_fault+0x154/0x2a8) from [<c002b24c>]
> (do_DataAbort+0x3c/0x9c)
> [<c002b24c>] (do_DataAbort+0x3c/0x9c) from [<c03ce65c>]
> (ret_from_exception+0x0/0x10)
> Exception stack(0xdf1e1fb0 to 0xdf1e1ff8)
> 1fa0: 1dcdb118 0001fee9 40151000 000014ac
> 1fc0: 1dcdaf18 4015205c 4015205c 1dcdaf18 4015202c 40152064 00000200 000001ff
> 1fe0: 000200e8 befc1150 40094578 40092544 60000010 ffffffff
> Mem-info:
> Normal per-cpu:
> CPU 0: hi: 186, btch: 31 usd: 169
> Active_anon:99647 active_file:11 inactive_anon:24650
> inactive_file:0 unevictable:0 dirty:0 writeback:0 unstable:0
> free:717 slab:1036 mapped:0 pagetables:337 bounce:0
> Normal free:2868kB min:2884kB low:3604kB high:4324kB
> active_anon:398588kB inactive_anon:98600kB active_file:44kB
> inactive_file:0kB unevictable:0kB present:520192kB pages_scanned:97579
> all_unreclaimable? no
> lowmem_reserve[]: 0 0
> Normal: 21*4kB 6*8kB 3*16kB 4*32kB 2*64kB 3*128kB 2*256kB 3*512kB
> 0*1024kB 0*2048kB 0*4096kB = 2868kB
> 55 total pagecache pages
> 0 pages in swap cache
> Swap cache stats: add 0, delete 0, find 0/0
> Free swap = 0kB
> Total swap = 0kB
> 131072 pages of RAM
> 1095 free pages
> 2648 reserved pages
> 852 slab pages
> 11 pages shared
> 0 pages swap cached
> Out of memory: kill process 15017 (sh) score 7653 or a child
> Killed process 15017 (sh)
>
> # KBUILD_VERBOSE=1 make
> make -C drivers/dahdi/firmware firmware-loaders
> make[1]: Entering directory `/root/dahdi-linux-2.2.0.2/drivers/dahdi/firmware'
> make[1]: Leaving directory `/root/dahdi-linux-2.2.0.2/drivers/dahdi/firmware'
> make -C /lib/modules/2.6.30.5/build
> SUBDIRS=/root/dahdi-linux-2.2.0.2/drivers/dahdi
> DAHDI_INCLUDE=/root/dahdi-linux-2.2.0.2/include DAHDI_MODULES_EXTRA="
> " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m
> make[1]: Entering directory `/mnt/pendrive/MySwitch/linuxKernel/linux-2.6.30.5'
> test -e include/linux/autoconf.h -a -e include/config/auto.conf || (
> \
> echo; \
> echo " ERROR: Kernel configuration is invalid."; \
> echo " include/linux/autoconf.h or
> include/config/auto.conf are missing."; \
> echo " Run 'make oldconfig && make prepare' on kernel
> src to fix it."; \
> echo; \
> /bin/false)
> mkdir -p /root/dahdi-linux-2.2.0.2/drivers/dahdi/.tmp_versions ; rm -f
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/.tmp_versions/*
> make -f scripts/Makefile.build obj=/root/dahdi-linux-2.2.0.2/drivers/dahdi
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/Kbuild:85: CPU Architecture
> 'arm' does not support VPMADT032 or HPEC. Skipping.
> gcc -Wp,-MD,/root/dahdi-linux-2.2.0.2/drivers/dahdi/.dahdi-base.o.d
> -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabi/4.3.3/include
> -Iinclude -I/mnt/pendrive/MySwitch/linuxKernel/linux-2.6.30.5/arch/arm/include
> -include include/linux/autoconf.h -D__KERNEL__ -mlittle-endian
> -Iarch/arm/mach-kirkwood/include -Iarch/arm/plat-orion/include -Wall
> -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
> -fno-common -Werror-implicit-function-declaration
> -fno-delete-null-pointer-checks -Os -marm -mabi=aapcs-linux
> -mno-thumb-interwork -funwind-tables -D__LINUX_ARM_ARCH__=5
> -march=armv5te -mtune=xscale -msoft-float -Uarm -fno-stack-protector
> -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign
> -fno-strict-overflow -DHAVE_HRTIMER_ACCESSORS=1 -DMODULE
> -I/root/dahdi-linux-2.2.0.2/include
> -I/root/dahdi-linux-2.2.0.2/drivers/dahdi -D"KBUILD_STR(s)=#s"
> -D"KBUILD_BASENAME=KBUILD_STR(dahdi_base)"
> -D"KBUILD_MODNAME=KBUILD_STR(dahdi)" -c -o
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi-base.o
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi-base.c
> Killed
> make[2]: *** [/root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi-base.o] Error 137
> make[1]: *** [_module_/root/dahdi-linux-2.2.0.2/drivers/dahdi] Error 2
> make[1]: Leaving directory `/mnt/pendrive/MySwitch/linuxKernel/linux-2.6.30.5'
> make: *** [modules] Error 2
>
> I ran the command 'make oldconfig && make prepare' and after that the
> first error didn't occur anymore but it crash in an other point:
>
>
> gcc -o /root/dahdi-linux-2.2.0.2/drivers/dahdi/xpp/print_fxo_modes
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/xpp/print_fxo_modes.o
> GEN /root/dahdi-linux-2.2.0.2/drivers/dahdi/xpp/init_fxo_modes
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/xpp/print_fxo_modes
> >/root/dahdi-linux-2.2.0.2/drivers/dahdi/xpp/init_fxo_modes || (rm -f
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/xpp/init_fxo_modes; exit 1)
> CHECK /root/dahdi-linux-2.2.0.2/drivers/dahdi/xpp/init_card_2_30
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/xpp/init_card_2_30 -v
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/xpp/init_fxo_modes || (rm -f
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/xpp/init_fxo_modes.verified;
> exit 1)
> touch /root/dahdi-linux-2.2.0.2/drivers/dahdi/xpp/init_fxo_modes.verified
> (cat /dev/null; echo
> kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi.ko; echo
> kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi_dummy.ko; echo
> kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi_dynamic.ko;
> echo kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi_dynamic_loc.ko;
> echo kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi_dynamic_eth.ko;
> echo kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi_transcode.ko;
> cat /root/dahdi-linux-2.2.0.2/drivers/dahdi/wct4xxp/modules.order;
> cat /root/dahdi-linux-2.2.0.2/drivers/dahdi/wctc4xxp/modules.order;
> cat /root/dahdi-linux-2.2.0.2/drivers/dahdi/wctdm24xxp/modules.order;
> cat /root/dahdi-linux-2.2.0.2/drivers/dahdi/wcte12xp/modules.order;
> echo kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/wctdm.ko; cat
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/voicebus/modules.order; cat
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/wcb4xxp/modules.order; echo
> kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/wct1xxp.ko; echo
> kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/wcte11xp.ko; echo
> kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/wcfxo.ko; echo
> kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/tor2.ko; echo
> kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/pciradio.ko; cat
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/xpp/modules.order; echo
> kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi_echocan_jpah.ko;
> echo kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi_echocan_sec.ko;
> echo kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi_echocan_sec2.ko;
> echo kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi_echocan_kb1.ko;
> echo kernel//root/dahdi-linux-2.2.0.2/drivers/dahdi/dahdi_echocan_mg2.ko;)
> > /root/dahdi-linux-2.2.0.2/drivers/dahdi/modules.order
> make -f /mnt/pendrive/MySwitch/linuxKernel/linux-2.6.30.5/scripts/Makefile.modpost
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/Kbuild:85: CPU Architecture
> 'arm' does not support VPMADT032 or HPEC. Skipping.
> scripts/mod/modpost -i
> /mnt/pendrive/MySwitch/linuxKernel/linux-2.6.30.5/Module.symvers -I
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/Module.symvers -o
> /root/dahdi-linux-2.2.0.2/drivers/dahdi/Module.symvers -S -w -s
> Killed
> make[2]: *** [__modpost] Error 137
> make[1]: *** [modules] Error 2
> make[1]: Leaving directory `/mnt/pendrive/MySwitch/linuxKernel/linux-2.6.30.5'
> make: *** [modules] Error 2
>
> As you can see it is a similar error.
> And I found this on the dmesg:
>
> sh invoked oom-killer: gfp_mask=0x1200d2, order=0, oomkilladj=0
> [<c00309c0>] (unwind_backtrace+0x0/0xe0) from [<c007b534>]
> (oom_kill_process+0x84/0x20c)
> [<c007b534>] (oom_kill_process+0x84/0x20c) from [<c007bad0>]
> (__out_of_memory+0x188/0x1ac)
> [<c007bad0>] (__out_of_memory+0x188/0x1ac) from [<c007bb70>]
> (out_of_memory+0x7c/0xcc)
> [<c007bb70>] (out_of_memory+0x7c/0xcc) from [<c007e580>]
> (__alloc_pages_internal+0x2f0/0x3a0)
> [<c007e580>] (__alloc_pages_internal+0x2f0/0x3a0) from [<c008d728>]
> (handle_mm_fault+0x178/0x700)
> [<c008d728>] (handle_mm_fault+0x178/0x700) from [<c03d0094>]
> (do_page_fault+0x154/0x2a8)
> [<c03d0094>] (do_page_fault+0x154/0x2a8) from [<c002b24c>]
> (do_DataAbort+0x3c/0x9c)
> [<c002b24c>] (do_DataAbort+0x3c/0x9c) from [<c03ce65c>]
> (ret_from_exception+0x0/0x10)
> Exception stack(0xdef55fb0 to 0xdef55ff8)
> 5fa0: 1dce7100 00013f01 40151000 000014ac
> 5fc0: 1dce6f00 4015205c 4015205c 1dce6f00 4015202c 40152064 00000200 000001ff
> 5fe0: 00014100 beeb6e90 40094578 40092544 60000010 ffffffff
> Mem-info:
> Normal per-cpu:
> CPU 0: hi: 186, btch: 31 usd: 147
> Active_anon:79973 active_file:11 inactive_anon:44340
> inactive_file:0 unevictable:0 dirty:0 writeback:0 unstable:0
> free:720 slab:1038 mapped:0 pagetables:337 bounce:0
> Normal free:2880kB min:2884kB low:3604kB high:4324kB
> active_anon:319892kB inactive_anon:177360kB active_file:44kB
> inactive_file:0kB unevictable:0kB present:520192kB
> pages_scanned:270539 all_unreclaimable? no
> lowmem_reserve[]: 0 0
> Normal: 94*4kB 25*8kB 2*16kB 3*32kB 4*64kB 1*128kB 1*256kB 1*512kB
> 1*1024kB 0*2048kB 0*4096kB = 2880kB
> 55 total pagecache pages
> 0 pages in swap cache
> Swap cache stats: add 0, delete 0, find 0/0
> Free swap = 0kB
> Total swap = 0kB
> 131072 pages of RAM
> 1076 free pages
> 2648 reserved pages
> 859 slab pages
> 11 pages shared
> 0 pages swap cached
> Out of memory: kill process 16563 (sh) score 7653 or a child
> Killed process 16563 (sh)
>
> I don't know much about linux, so I don't know what is this.
> Do you have any idea of what is happening??
>
Hi!
Yes, we know. It's simple. OOM means "Out Of Memory". Your machine runs out
of memory during compilation (you don't have swap, it's also visible from the
dump), so your system is simply too small to compile this. Add either RAM or
a swap device.
With regards, Pavel Troller
More information about the asterisk-dev
mailing list