[OE-core] [PATCH 2/4] gcc-package-target.inc: add the symbol link /lib/cpp

Cui, Dexuan dexuan.cui at intel.com
Thu Nov 24 23:09:59 UTC 2011


Richard Purdie wrote on 2011-11-25:
> On Thu, 2011-11-24 at 23:37 +0800, Cui, Dexuan wrote:
>> Richard Purdie wrote on 2011-11-24:
>>> On Thu, 2011-11-24 at 18:08 +0800, Dexuan Cui wrote:
>>>> --- a/meta/recipes-devtools/gcc/gcc-package-target.inc
>>>> +++ b/meta/recipes-devtools/gcc/gcc-package-target.inc
>>>> @@ -122,6 +122,8 @@ do_install () {
>>>>  	ln -sf ${TARGET_PREFIX}g++ g++
>>>>  	ln -sf ${TARGET_PREFIX}gcc gcc
>>>>  	ln -sf ${TARGET_PREFIX}cpp cpp
>>>> +	install -d ${D}${base_libdir}
>>>> +	ln -sf ${bindir}/${TARGET_PREFIX}cpp ${D}${base_libdir}/cpp
>>>>  	ln -sf g++ c++
>>>>  	ln -sf gcc cc
>>> 
>>> Why do we need this change?
>> When I was trying self-hosted-image, eglibc's do_install failed in the
>> target: ERROR: cannot stat bootparam_prot.h: the cause is: rpcgen
>> doesn't work properly: rpcgen can't exec /lib/cpp since it doesn't
>> exist.
>> 
>> According to
>> http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/lib.html,
> "if a C preprocessor is installed, /lib/cpp must be a reference to it,
> for historical reasons. The usual placement of this binary is /usr/bin/cpp".
>> 
>> Typical distros, like Ubuntu, openSuSE, Fedora, RHEL, all comply with
>> the rule.
>> 
>> Actually in meta/recipes-devtools/gcc/gcc-package-target.inc, we do
>> try to
> package ${base_libdir}/cpp:
>>  FILES_cpp = "\
>>   ${bindir}/${TARGET_PREFIX}cpp \
>>   ${base_libdir}/cpp \
>>   ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1"
>> But unluckily we didn't to create a symbol link in do_install. This
>> patch
> adds the symbol link.
> 
> Ok, this sounds great. Put this in the commit message though please!
Hi RP,
Please use the new commit(the only change is the updated commit message):
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=dcui/self-hosted-v2&id=f6001f0b12cb561f5e08d3a5b0d61ab5fa924f40

Thanks,
-- Dexuan



More information about the Openembedded-core mailing list