[yocto] native gcc compiler error

Kumar Gala galak at kernel.crashing.org
Mon Jul 18 13:04:08 PDT 2011


On Jul 18, 2011, at 2:27 PM, Khem Raj wrote:

> On Mon, Jul 18, 2011 at 12:22 PM, Kumar Gala <galak at kernel.crashing.org> wrote:
>> 
>> On Jul 18, 2011, at 1:37 PM, Khem Raj wrote:
>> 
>>> On Mon, Jul 18, 2011 at 11:24 AM, Kumar Gala <galak at kernel.crashing.org> wrote:
>>>>>>>>> You can try -fno-use-linker-plugin as a workaround. Does
>>>>>>>>> liblto_plugin.so exist on target rfs ?
>>>>>>>>> it might be then gcc driver bug if the library is not there then we
>>>>>>>>> forgot to package it.
>>>>>>>> 
>>>>>>>> File appears to be there:
>>>>>>>> root at p2020-ds:/# file /usr/libexec/gcc/powerpc-poky-linux-gnuspe/4.6.1/liblto_plugin.so.0.0.0
>>>>>>>> ./usr/libexec/gcc/powerpc-poky-linux-gnuspe/4.6.1/liblto_plugin.so.0.0.0: ELF 32-bit MSB shared object, PowerPC or cisco 4500, version 1 (SYSV), dynamically linked, with unknown capability 0x41000000 = 0xf676e75, with unknown capability 0x10000 = 0x70402, stripped
>>>>>>>> 
>>>>>>>> root at p2020-ds:~# ls -lstr /usr/libexec/gcc/powerpc-poky-linux-gnuspe/4.6.1/
>>>>>>>> total 31624
>>>>>>>>  9812 -rwxr-xr-x 1 root root 10046304 Jul 16 22:40 lto1
>>>>>>>>    28 -rwxr-xr-x 1 root root    26344 Jul 16 22:40 lto-wrapper
>>>>>>>>    60 -rwxr-xr-x 1 root root    60132 Jul 16 22:40 liblto_plugin.so.0.0.0
>>>>>>>>   124 -rwxr-xr-x 1 root root   124776 Jul 16 22:40 collect2
>>>>>>>> 11208 -rwxr-xr-x 1 root root 11476244 Jul 16 22:40 cc1plus
>>>>>>>> 10392 -rwxr-xr-x 1 root root 10640644 Jul 16 22:40 cc1
>>>>>>>>     0 lrwxrwxrwx 1 root root       22 Jul 17 15:07 liblto_plugin.so.0 ->  liblto_plugin.so.0.0.0
>>>>>>>> 
>>>>>>>> So not clear why its not finding it.
>>>>>>>> 
>>>>>>> This looks similar to Yocto Bug 1233 (http://bugzilla.yoctoproject.org/show_bug.cgi?id=1233
>>>>>>> 
>>>>>>> Can you confirm if you have the following commit in your branch?
>>>>>>> http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=2429773613cb95b6a0541b5cce6ce1338d5cfc2b
>>>>>>> 
>>>>>>> It's possible you might be missing this and it's not finding the file correctly.
>>>>>>> 
>>>>>>> As Richard mentioned also, an strace output would be helpful if you do have the above commit.
>>>>>>> 
>>>>>>> Thanks
>>>>>>>       Sau!
>>>>>> 
>>>>>> access("/usr/libexec/gcc/powerpc-poky-linux-gnuspe/4.6.1/liblto_plugin.so", R_OK) = -1 ENOENT (No such file or directory)
>>>>>> access("/usr/libexec/gcc/powerpc-poky-linux-gnuspe/4.6.1/liblto_plugin.so", R_OK) = -1 ENOENT (No such file or directory)
>>>>>> access("/usr/libexec/gcc/powerpc-poky-linux-gnuspe/liblto_plugin.so", R_OK) = -1 ENOENT (No such file or directory)
>>>>>> access("/usr/lib/gcc/powerpc-poky-linux-gnuspe/4.6.1/liblto_plugin.so", R_OK) = -1 ENOENT (No such file or directory)
>>>>>> access("/usr/lib/gcc/powerpc-poky-linux-gnuspe/liblto_plugin.so", R_OK) = -1 ENOENT (No such file or directory)
>>>>>> access("/usr/lib/gcc/powerpc-poky-linux-gnuspe/4.6.1/../../../../powerpc-poky-linux-gnuspe/bin/powerpc-poky-linux-gnuspe/4.6.1/liblto_plugin.so", R_OK) = -1 ENOENT (No such file or directory)
>>>>>> access("/usr/lib/gcc/powerpc-poky-linux-gnuspe/4.6.1/../../../../powerpc-poky-linux-gnuspe/bin/liblto_plugin.so", R_OK) = -1 ENOENT (No such file or directory)
>>>>>> 
>>>>>> So it appears we are missing in the package 'liblto_plugin.so' link.
>>>>> 
>>>>> Does that symlink exist in your gcc install tree during build ? if not
>>>>> then gcc makefiles need to generate it. if its just a case we
>>>>> forgot to bundle it then we should add it to FILES var of gcc.
>>>> 
>>>> How do I tell?  Which gcc dir should I be looking at under build/tmp/work/* ?
>>>> 
>>>> For the MPC8315E-RDB build:
>>>> 
>>>> http://pastebin.com/yYSww5nK
>>>> 
>>>> [ the first three lines look interesting about packages-split/gcc-dev vs packages-split/gcc ]
>>>> 
>>>> For the e500v2 (P2020-DS) build:
>>>> 
>>>> http://pastebin.com/B1qyfbGE
>>>> 
>>>> - k
>>> 
>>> hmm the symlink goes into gcc-dev package since the package splitter
>>> sees a sumlink xyz.so
>>> but in this case this should be packages explicitly into gcc as we see
>>> gcc depends on it for normal
>>> execution or may be create a new package called liblto or somesuch
>>> 
>>> Can you install gcc-dev package on your device and see if this helps ?
>> 
>> Yes if I install gcc-dev it works.
> 
> OK thanks. So I think we just need to package this symlink along with gcc
> and all is good.

Agreed, do you mind working up such a patch.  I'm not an expert in this area so feel a little concerned about not knowing enough to try and do this cleanly (or generically).

- k




More information about the yocto mailing list