This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

error building gpp applications

Other Parts Discussed in Thread: TMS320DM6467

hi all

I am following build_instructions.html for building codec engine examples.

i have come to step 6, building gpp applications.

when i type gmake, it throws out follwing errors:

/opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le/bin/../lib/gcc/armv5tl-montavista-linuxeabi/3.4.3/../../../../armv5tl-montavista-linuxeabi/bin/ld: ERROR: Source object /home/omer/dvsdk_evm/codec_engine_2_23_01/packages/ti/sdo/ce/utils/xdm/lib/release/XdmUtils.av5T(XdmUtils.ov5T) has EABI version 5, but target bin/evmDM6446/app_local.xv5T has EABI version 4
/opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le/bin/../lib/gcc/armv5tl-montavista-linuxeabi/3.4.3/../../../../armv5tl-montavista-linuxeabi/bin/ld: failed to merge target specific data of file /home/omer/dvsdk_evm/codec_engine_2_23_01/packages/ti/sdo/ce/utils/xdm/lib/release/XdmUtils.av5T(XdmUtils.ov5T)
/home/omer/dvsdk_evm/codec_engine_2_23_01/packages/ti/sdo/ce/lib/release/ce.av5T(Engine.ov5T)(.text+0x19c8): In function `Engine_deleteNode':
Engine.c: undefined reference to `__aeabi_uidiv'
collect2: ld returned 1 exit status
gmake[1]: *** [bin/evmDM6446/app_local.xv5T] Error 1
gmake: *** [/home/omer/dvsdk_evm/codec_engine_2_23_01/examples/ti/sdo/ce/examples/apps/speech,.executables] Error 2
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/home/omer/dvsdk_evm/codec_engine_2_23_01/examples/ti/sdo/ce/examples/apps/speech'
gmake: *** [all] Error 2

 

it mentions about EABI versions. what is it about.

 

thank you very much.

  • I think you may have a versioning issue, I see your path shows codec engine 2.23.01 which is fairly new (comes with DVSDK 2.00.00.22) however your build tools path has MVL 4.0 shown which is an older Monta Vista tool set from the DVSDK 1.x series. Essentially I suspect the EABI errors are stemming from some incompatibility between the codec engine version you are trying to build with and your Monta Vista build tools.

    You could fix this in two ways, either use an older Codec Engine package that was made for MVL 4.0, or update your MVL tools to a newer 5.0 release, in general I would recommend the latter, and you can download a full DVSDK (including the MVL 5.0 tools) with the Codec Engine version you have from here.

  • From the log above, it appears you are using DM6446, correct?  Also, what DVSDK version are you using?  Have you updated any component of the original DVSDK; DVSDK components are tested and should build without any issues; however, when updating individual components, careful attention must be paid to the release notes for the various components which describe their compatibility with other components.

  • Bernie's got it right - just a little more detail...

    You can see from the Codec Engine Roadmap article that between the 2.10.* and CE 2.20.* releases we moved from MV4 (i.e. gcc 3.4) to MV5 (gcc 4.2) toolchains.  These are not binary compatible toolchains, so you can't mix-n-match them.

    Chris

  • hi Bernie,

    you were right. it was a versioning issue. i have updated MVL tools and it worked :-)

    thank you all.

     

  • yes Juan, I am using DM6446. I have installed DVSDK2.0 that I downloaded from TIs webpage.I had MVL 4.0 that came from DVD and i wanted upgrade it. I have downloaded 2 things which are MVL 5.0 Tools and LSP 02_00_00_140, i have installed these files as described in TMS320DM6467 DVEVM v2.0 Getting Started Guide.Then, I was able to build gpp applications as Bernie mentioned.

    I deleted workdir/filesys files and recreatred workdir/filesys files from mv_pro_5.0 as described in guide. However, now when booting the board it throws following error.

    Kernel panic - not syncing: Attempted to kill init!

     

    U-Boot 1.1.3 (Dec  4 2006 - 12:05:38)

    U-Boot code: 81080000 -> 81097628  BSS: -> 810A0018
    RAM Configuration:
    Bank #0: 80000000 256 MB
    Flash: 16 MB
    In:    serial
    Out:   serial
    Err:   serial
    ARM Clock :- 297MHz
    DDR Clock :- 162MHz
    Hit any key to stop autoboot:  0
    ## Booting image at 02050000 ...
       Image Name:   Linux-2.6.10_mvl401-davinci_evm
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    1333196 Bytes =  1.3 MB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
    OK

    Starting kernel ...

    Uncompressing Linux.............................................................
    Linux version 2.6.10_mvl401-davinci_evm (xlibrary@scarletoak.sanb.design.ti.com)
     (gcc version 3.4.3 (MontaVista 3.4.3-25.0.30.0501131 2005-07-23)) #2 Mon Aug 7
    14:58:21 PDT 2006
    CPU: ARM926EJ-Sid(wb) [41069265] revision 5 (ARMv5TEJ)
    CPU0: D VIVT write-back cache
    CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
    CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
    Machine: DaVinci EVM
    Memory policy: ECC disabled, Data cache writeback
    Built 1 zonelists
    Kernel command line: console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nf
    sroot=10.1.80.51:/home/omer/workdir/filesys,nolock mem=120M video=dm64xxfb:outpu
    t=pal
    PID hash table entries: 512 (order: 9, 8192 bytes)
    Console: colour dummy device 80x30
    Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
    Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
    Memory: 120MB = 120MB total
    Memory: 118784KB available (2271K code, 480K data, 136K init)
    Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
    CPU: Testing write buffer coherency: ok
    spawn_desched_task(00000000)
    desched cpu_callback 3/00000000
    ksoftirqd started up.
    desched cpu_callback 2/00000000
    desched thread 0 started up.
    NET: Registered protocol family 16
    Registering platform device 'musb_hdrc'. Parent at platform
    DaVinci I2C DEBUG: 12:15:02 Aug  1 2006
    Registering platform device 'i2c'. Parent at platform
    usbcore: registered new driver usbfs
    usbcore: registered new driver hub
    JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
    yaffs Aug  1 2006 12:14:38 Installing.
    davincifb: Options "output=pal"
    DaVinci: Output on PAL in COMPOSITE format, Enabled windows: Video0 Video1 OSD0
    OSD1
    Setting Video0 size 720x576, position (0,0)
    Setting Video1 size 720x576, position (0,0)
    Setting OSD0 size 720x576, position (0,0)
    Setting OSD1 size 720x576, position (0,0)
    Registering platform device 'davincifb.0'. Parent at platform
    Setting Up Clocks for DM420 OSD
    Console: switching to colour frame buffer device 90x36
    fb0: dm_osd0_fb frame buffer device
    fb1: dm_vid0_fb frame buffer device
    fb2: dm_osd1_fb frame buffer device
    fb3: dm_vid1_fb frame buffer device
    Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
    Registering platform device 'serial8250'. Parent at platform
    ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A
    io scheduler noop registered
    io scheduler anticipatory registered
    RAMDISK driver initialized: 1 RAM disks of 32768K size 1024 blocksize
    Registering platform device 'ti_davinci_emac'. Parent at platform
    TI DaVinci EMAC: MAC address is 00:0e:99:02:41:03
    TI DaVinci EMAC Linux version updated 4.0
    TI DaVinci EMAC: Installed 1 instances.
    netconsole: not configured, aborting
    i2c /dev entries driver
    Linux video capture interface: v1.00
    Registering platform device 'vpfe.1'. Parent at platform
    DaVinci v4l2 capture driver V1.0 loaded
    Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
    ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
    hda: TOSHIBA MK4032GAX, ATA DISK drive
    elevator: using anticipatory as default io scheduler
    ide0 at 0xe10661f0-0xe10661f7,0xe10663f6 on irq 22
    hda: max request size: 1024KiB
    hda: 78140160 sectors (40007 MB), CHS=16383/255/63
     hda: hda1 hda2
        ide0: BM-DMA at 0xe1066000-0xe1066007, BIOS settings: hda:pio, hdb:pio
    mice: PS/2 mouse device common for all mice
    musb_hdrc: version 2.2a/db-0.4.8 [pio] [host] [debug=0]
    musb_hdrc: USB Host mode controller at c8060000 using PIO, IRQ 12
    musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    Registering platform device 'davinci-audio.0'. Parent at platform
    NET: Registered protocol family 2
    IP: routing cache hash table of 512 buckets, 4Kbytes
    TCP: Hash tables configured (established 8192 bind 16384)
    NET: Registered protocol family 1
    NET: Registered protocol family 17
    Sending DHCP requests ..., OK
    IP-Config: Got DHCP answer from 10.1.10.60, my address is 10.1.80.43
    IP-Config: Complete:
          device=eth0, addr=10.1.80.43, mask=255.255.255.0, gw=10.1.80.1,
         host=10.1.80.43, domain=uzay.tubitak.gov.tr, nis-domain=(none),
         bootserver=10.1.10.60, rootserver=10.1.80.51, rootpath=
    Looking up port of RPC 100003/2 on 10.1.80.51
    Looking up port of RPC 100005/1 on 10.1.80.51
    VFS: Mounted root (nfs filesystem).
    Freeing init memory: 136K
    FATAKernel panic - not syncing: Attempted to kill init!
    L: kernel too ol d

    Thank you very much.

  • The last line of the log implies that the kernel being used is too old; have you updated the kernel as well?  FYI, sometimes I have found that my kernel image gets out of wack and simply copying a new kernel image to my TFTP directory (I primarily load my kernel via TFTP) fixes the synching errors for me.

  • I have not updated the kernel.

    i think you mean Building a New Linux Kernel. section 4.5 TMS320DM6467 DVEVM v2.0 Getting Started Guide( since I am new at these subjects, I do not want to confuse the terms)

  • apologies for the confusion, you are correct that this section would take care of most of the steps you need to be using your new kernel (e.g. build the kernel and copy it to tftpboot directory. 

    However, to be a little more precise.  Your linux kernel can reside in NAND flash or TFTP directory (/tftpboot on host) and you can cofigure u-boot variables to tell your system where you want it to look for the linux kernel (by setting bootcmd to bootm <hex address in RAM> vs dhcp).  Optionally, the kernel comes pre-built and can be found under PSP_XX_XX_XXX directory under dvsdk installation tree.  In conclusion, you do need to update your kernel as well.  You can either built it per GSG, or use the pre-built one.  I would recommend copying the kernel to your TFTP directory and setting your u-boot paramaters such that you load kernel from TFTP (see appendix A.3.2 in GSG).