[OE-core] [oe-core][PATCH] tcl: fix INCLUDE_SPEC and LIB_SPEC

Robert Yang liezhi.yang at windriver.com
Fri Jul 15 06:23:08 UTC 2016


FYI, I had sent one before:

http://lists.openembedded.org/pipermail/openembedded-core/2016-June/123006.html

And pending for reviewing.

// Robert

On 07/15/2016 02:13 PM, Zhenhua Luo wrote:
> Ping.
>
> Is there any other comment to be addressed for the patch?
>
>
> Best Regards,
>
> Zhenhua
>
>> -----Original Message-----
>> From: openembedded-core-bounces at lists.openembedded.org
>> [mailto:openembedded-core-bounces at lists.openembedded.org] On Behalf
>> Of Zhenhua Luo
>> Sent: Wednesday, July 06, 2016 12:09 PM
>> To: Khem Raj <raj.khem at gmail.com>
>> Cc: Patches and discussions about the oe-core layer <openembedded-
>> core at lists.openembedded.org>
>> Subject: Re: [OE-core] [oe-core][PATCH] tcl: fix INCLUDE_SPEC and LIB_SPEC
>>
>>> -----Original Message-----
>>> From: Khem Raj [mailto:raj.khem at gmail.com]
>>> Sent: Tuesday, July 05, 2016 11:16 PM
>>> To: Zhenhua Luo <zhenhua.luo at nxp.com>
>>> Cc: Patches and discussions about the oe-core layer <openembedded-
>>> core at lists.openembedded.org>
>>> Subject: Re: [OE-core] [oe-core][PATCH] tcl: fix INCLUDE_SPEC and
>>> LIB_SPEC
>>>
>>> On Mon, Jul 4, 2016 at 11:20 PM, Zhenhua Luo <zhenhua.luo at nxp.com>
>> wrote:
>>>> TCL_INCLUDE_SPEC -I+<includedir> and TCL_LIB_SPEC -L+${libdir} break
>>>> the cross-compile of packages which require tcl headers and libraries.
>>>>
>>>> One example is that postgresql configure failed at the following error:
>>>> | checking for tcl.h... no
>>>> | configure: error: header file <tcl.h> is required for Tcl
>>>>
>>>> Signed-off-by: Zhenhua Luo <zhenhua.luo at nxp.com>
>>>> ---
>>>>   meta/recipes-devtools/tcltk/tcl_8.6.5.bb | 2 --
>>>>   1 file changed, 2 deletions(-)
>>>>
>>>> diff --git a/meta/recipes-devtools/tcltk/tcl_8.6.5.bb
>>>> b/meta/recipes-devtools/tcltk/tcl_8.6.5.bb
>>>> index 46fc8a7..d75232b 100644
>>>> --- a/meta/recipes-devtools/tcltk/tcl_8.6.5.bb
>>>> +++ b/meta/recipes-devtools/tcltk/tcl_8.6.5.bb
>>>> @@ -56,8 +56,6 @@ do_install() {
>>>>          ln -sf tclsh8.6 ${D}${bindir}/tclsh${VER}
>>>>          sed -i "s+-L${B}+-L${STAGING_LIBDIR}+g" tclConfig.sh
>>>>          sed -i "s+${WORKDIR}+${STAGING_INCDIR}+g" tclConfig.sh
>>>> -       sed -i "s,-L${libdir},-L=${libdir},g" tclConfig.sh
>>>> -       sed -i "s,-I${includedir},-I=${includedir},g" tclConfig.sh
>>>
>>> does this now include some of your host headers in build then ?
>> [Luo Zhenhua-B19537] The patch does the following changes for tclConfig.sh.
>> Without the change, tcl.h can't be found when cross building packages(e.g.
>> postgresql) which depend on tcl. I have cross-compiled several
>> packages(postgresql, expect, ruby, tk) that have tcl dependency and see no
>> issue.
>> 	1. tmp/sysroots/qemuarm64/usr/bin/crossscripts/tclConfig.sh
>> 	# String to pass to linker to pick up the Tcl library from its
>> 	 # installed directory.
>> 	-TCL_LIB_SPEC='-L=/home/bjsimics/workspace/poky-
>> os/qemuppc/tmp/sysroots/qemuarm64/usr/lib -ltcl8.6'
>> 	+TCL_LIB_SPEC='-L/home/bjsimics/workspace/poky-
>> os/qemuppc/tmp/sysroots/qemuarm64/usr/lib -ltcl8.6'
>>
>> 	 # String to pass to the compiler so that an extension can
>> 	 # find installed Tcl headers.
>> 	-TCL_INCLUDE_SPEC='-I=/home/bjsimics/workspace/poky-
>> os/qemuppc/tmp/sysroots/qemuarm64/usr/include/tcl8.6'
>> 	+TCL_INCLUDE_SPEC='-I/home/bjsimics/workspace/poky-
>> os/qemuppc/tmp/sysroots/qemuarm64/usr/include/tcl8.6'
>>
>> 	# String to pass to linker to pick up the Tcl stub library from its
>> 	 # installed directory.
>> 	-TCL_STUB_LIB_SPEC='-L=/home/bjsimics/workspace/poky-
>> os/qemuppc/tmp/sysroots/qemuarm64/usr/lib -ltclstub8.6'
>> 	+TCL_STUB_LIB_SPEC='-L/home/bjsimics/workspace/poky-
>> os/qemuppc/tmp/sysroots/qemuarm64/usr/lib -ltclstub8.6'
>>
>> 	2. tmp/sysroots/qemuarm64/usr/lib/tclConfig.sh
>> 	# String to pass to linker to pick up the Tcl library from its
>> 	 # installed directory.
>> 	-TCL_LIB_SPEC='-L=/usr/lib -ltcl8.6'
>> 	+TCL_LIB_SPEC='-L/usr/lib -ltcl8.6'
>>
>> 	 # String to pass to the compiler so that an extension can
>> 	 # find installed Tcl headers.
>> 	-TCL_INCLUDE_SPEC='-I=/usr/include/tcl8.6'
>> 	+TCL_INCLUDE_SPEC='-I/usr/include/tcl8.6'
>>
>> 	# String to pass to linker to pick up the Tcl stub library from its
>> 	 # installed directory.
>> 	-TCL_STUB_LIB_SPEC='-L=/usr/lib -ltclstub8.6'
>> 	+TCL_STUB_LIB_SPEC='-L/usr/lib -ltclstub8.6'
>>
>>
>> Best Regards,
>>
>> Zhenhua
>>
>>>>          install -d ${D}${bindir_crossscripts}
>>>>          install -m 0755 tclConfig.sh ${D}${bindir_crossscripts}
>>>>          install -m 0755 tclConfig.sh ${D}${libdir}
>>>> --
>>>> 2.7.4
>>>>
>>>> --
>>>> _______________________________________________
>>>> Openembedded-core mailing list
>>>> Openembedded-core at lists.openembedded.org
>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list