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

Khem Raj raj.khem at gmail.com
Fri Jul 15 07:35:28 UTC 2016


On Tue, Jul 5, 2016 at 9:08 PM, Zhenhua Luo <zhenhua.luo at nxp.com> wrote:
>> -----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,

Thanks for verifying, this looks OK to me.



More information about the Openembedded-core mailing list