<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Embedded Software and Tools ClinicのトピックPowerpc cross-platform interpreter</title>
    <link>https://community.nxp.com/t5/Embedded-Software-and-Tools/Powerpc-cross-platform-interpreter/m-p/1162638#M134</link>
    <description>&lt;P&gt;I'm building the fsl-toolchain and installing the toolset on another machine of the exact same architecture but I've noticed that the cross-platfrom tools (e.g:&amp;nbsp;powerpc64-fsl-linux-gcc) only works on the host where it was built.&amp;nbsp;&lt;/P&gt;&lt;P&gt;The reason is that when it is installed on another machine it can't find the "interpreter".&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;powerpc64-fsl-linux-gcc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, &lt;STRONG&gt;interpreter&lt;/STRONG&gt; /mnt/opt/dunfell/build_t4240rdb-64b/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=82ab6faa07be5cfbc02aee1b1ea6a488c154a728, stripped&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;I noticed that the dynamic reference for the shared object has the fully qualified name:&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;ldd powerpc64-fsl-linux-gcc&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;linux-vdso.so.1 (0x00007ffd2d738000)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;libc.so.6 =&amp;gt; /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1654d39000)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;/mnt/opt/dunfell/build_t4240rdb-64b/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2&lt;/STRONG&gt;&lt;/FONT&gt; =&amp;gt; /lib64/ld-linux-x86-64.so.2 (0x00007f165512a000)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;That was not the case from older SDK versions (I verified it with 2.0) where the dynamic link symbol didn't have the absolute path built-in.&lt;/P&gt;&lt;P&gt;As a workaround, I used the patchelf tool to set the interpreter to a non-absolute path:&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 powerpc64-fsl-linux-gcc&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;After that:&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;ldd powerpc64-fsl-linux-gcc&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;linux-vdso.so.1 (0x00007ffdecbb4000)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;libc.so.6 =&amp;gt; /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb933e42000)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;/lib64/ld-linux-x86-64.so.2&lt;/FONT&gt;&lt;/STRONG&gt; (0x00007fb934233000)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;Then, the&amp;nbsp;powerpc64-fsl-linux-gcc can be installed and executed on the other host, where such absolute path doesn't exist.&lt;BR /&gt;&lt;BR /&gt;I found that in&amp;nbsp;./poky/meta/classes/uninative.bbclass something similar as my workaround is done but is not creating the dynamic links that I expect.&lt;/P&gt;&lt;P&gt;Is there a any configuration option to specify the interpreter link name?&lt;BR /&gt;&lt;BR /&gt;Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sun, 04 Oct 2020 20:29:25 GMT</pubDate>
    <dc:creator>bernardo</dc:creator>
    <dc:date>2020-10-04T20:29:25Z</dc:date>
    <item>
      <title>Powerpc cross-platform interpreter</title>
      <link>https://community.nxp.com/t5/Embedded-Software-and-Tools/Powerpc-cross-platform-interpreter/m-p/1162638#M134</link>
      <description>&lt;P&gt;I'm building the fsl-toolchain and installing the toolset on another machine of the exact same architecture but I've noticed that the cross-platfrom tools (e.g:&amp;nbsp;powerpc64-fsl-linux-gcc) only works on the host where it was built.&amp;nbsp;&lt;/P&gt;&lt;P&gt;The reason is that when it is installed on another machine it can't find the "interpreter".&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;powerpc64-fsl-linux-gcc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, &lt;STRONG&gt;interpreter&lt;/STRONG&gt; /mnt/opt/dunfell/build_t4240rdb-64b/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=82ab6faa07be5cfbc02aee1b1ea6a488c154a728, stripped&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;I noticed that the dynamic reference for the shared object has the fully qualified name:&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;ldd powerpc64-fsl-linux-gcc&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;linux-vdso.so.1 (0x00007ffd2d738000)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;libc.so.6 =&amp;gt; /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1654d39000)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;/mnt/opt/dunfell/build_t4240rdb-64b/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2&lt;/STRONG&gt;&lt;/FONT&gt; =&amp;gt; /lib64/ld-linux-x86-64.so.2 (0x00007f165512a000)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;That was not the case from older SDK versions (I verified it with 2.0) where the dynamic link symbol didn't have the absolute path built-in.&lt;/P&gt;&lt;P&gt;As a workaround, I used the patchelf tool to set the interpreter to a non-absolute path:&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 powerpc64-fsl-linux-gcc&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;After that:&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;ldd powerpc64-fsl-linux-gcc&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;linux-vdso.so.1 (0x00007ffdecbb4000)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;libc.so.6 =&amp;gt; /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb933e42000)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="1 2 3 4 5 6 7"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;/lib64/ld-linux-x86-64.so.2&lt;/FONT&gt;&lt;/STRONG&gt; (0x00007fb934233000)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;Then, the&amp;nbsp;powerpc64-fsl-linux-gcc can be installed and executed on the other host, where such absolute path doesn't exist.&lt;BR /&gt;&lt;BR /&gt;I found that in&amp;nbsp;./poky/meta/classes/uninative.bbclass something similar as my workaround is done but is not creating the dynamic links that I expect.&lt;/P&gt;&lt;P&gt;Is there a any configuration option to specify the interpreter link name?&lt;BR /&gt;&lt;BR /&gt;Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 04 Oct 2020 20:29:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Embedded-Software-and-Tools/Powerpc-cross-platform-interpreter/m-p/1162638#M134</guid>
      <dc:creator>bernardo</dc:creator>
      <dc:date>2020-10-04T20:29:25Z</dc:date>
    </item>
  </channel>
</rss>

