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.

Linux/TMDSICE3359: TMDSICE3359

Part Number: TMDSICE3359

Tool/software: Linux

I try install the runit into the linux RT.
I have read the google.

As I understood:

When I compile the runit in x86 (ubuntu 16.04 LTS), the compiler found the "-lgcc_eh" and "-lc" in "libgcc.a" and "libgcc_eh.a" files at "/usr/lib/gcc/x86_64-linux-gnu/5" directory. So, it compile finely.

When I compile the runit in arm (linux RT Arago 2018.04), the compiler can not find the "-lgcc_eh" and "-lc":
/usr/lib/gcc/arm-linux-gnueabi/7.2.1/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgcc_eh
/usr/lib/gcc/arm-linux-gnueabi/7.2.1/../../../../arm-linux-gnueabi/bin/ld: cannot find -lc
the compiler tried to find "-lgcc_eh" and "-lc" in files at "/usr/lib/gcc/arm-linux-gnueabi/7.2.1/../../../../arm-linux-gnueabi/bin/ld".
The file "libgcc.a" is in "/usr/lib/". But there are no any "libgcc_eh.a" file at rootfs.
Please help.

  • Hello VLeshka,

    These libraries are not present in the board's rootfs. You can find them in the Processor SDK's linux-devkit directory.
    <Processor SDK>/linux-devkit/sysroots/x86_64-arago-linux/usr/lib/gcc/arm-linux-gnueabihf/5.3.1/libgcc_eh.a
    <Processor SDK>/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/lib/libc.so

    If you cross-compile your application on the host, you will be able to link these libraries. All the development packages are not included in the rootfs as it will become very big and won't fit into board's storage.

    Best regards,
    Kemal

  • Thanks. The libgcc.a files are found in SDK's linux-devkit directory, and all founf files are same.

    Then, the conpiler need in libc.a file.

    There are 3 files in SDK's linux-devkit directory:
    linux-devkit\sysroots\x86_64-arago-linux\usr\share\ti\cgt-c6x\lib - first tested
    linux-devkit\sysroots\x86_64-arago-linux\usr\share\ti\cgt-pru\lib - second tested
    linux-devkit\sysroots\armv7ahf-neon-linux-gnueabi\usr\lib - third tested

    So, acording to the name of directory, the first and second tested are for my OS (arago). The third is not for my OS. But:

    When linux-devkit\sysroots\x86_64-arago-linux\usr\share\ti\cgt-c6x\lib (first tested):
    /usr/lib/gcc/arm-linux-gnueabi/7.2.1/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/gcc/arm-linux-gnueabi/7.2.1/../../../libc.a when searching for -lc
    /usr/lib/gcc/arm-linux-gnueabi/7.2.1/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible //usr/lib/libc.a when searching for -lc
    /usr/lib/gcc/arm-linux-gnueabi/7.2.1/../../../../arm-linux-gnueabi/bin/ld: cannot find -lc
    collect2: error: ld returned 1 exit status
    make: *** [Makefile:9: runit] Error 1

    When linux-devkit\sysroots\x86_64-arago-linux\usr\share\ti\cgt-pru\lib (second tested):
    /usr/lib/gcc/arm-linux-gnueabi/7.2.1/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/gcc/arm-linux-gnueabi/7.2.1/../../../libc.a when searching for -lc
    /usr/lib/gcc/arm-linux-gnueabi/7.2.1/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible //usr/lib/libc.a when searching for -lc
    /usr/lib/gcc/arm-linux-gnueabi/7.2.1/../../../../arm-linux-gnueabi/bin/ld: cannot find -lc
    collect2: error: ld returned 1 exit status
    make: *** [Makefile:9: runit] Error 1

    When linux-devkit\sysroots\armv7ahf-neon-linux-gnueabi\usr\lib (third tested) - the compiler links fine.

    Is everything correct?
  • No. The third tested is also for your OS.
  • Hello VLeshka,

    Please, close this thread if you are done with it.

    Best regards,
    Kemal