diff options
| author | Nitin A Kamble <nitin.a.kamble@intel.com> | 2012-04-26 15:53:19 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-04-30 11:37:30 +0100 |
| commit | c2e4b5d066e13df2a3c3540c3f29c7dc29c2b5f1 (patch) | |
| tree | 6faacebf8ae5b365f27a674a8953e23584af6e5d /meta/recipes-devtools/tcltk | |
| parent | 9da5a7bedfb5ab3fea9351050dbad12df7222c2b (diff) | |
| download | poky-c2e4b5d066e13df2a3c3540c3f29c7dc29c2b5f1.tar.gz | |
tcl: fix target recipe build issue on older distros
the builddir is put in front of the LD_LIBRARY_PATH, causing dynamically
linking of target library with native tclsh.
Fix this behavior to cross build tcl correctly.
This issue got exposed when eglibc-2.15 was configured for the target.
(From OE-Core rev: 76e8df78bdb641b045e34dcf01d7b9eb626401dc)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/tcltk')
| -rw-r--r-- | meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch | 109 | ||||
| -rw-r--r-- | meta/recipes-devtools/tcltk/tcl_8.5.11.bb | 5 |
2 files changed, 112 insertions, 2 deletions
diff --git a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch new file mode 100644 index 0000000000..9c295a66dd --- /dev/null +++ b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch | |||
| @@ -0,0 +1,109 @@ | |||
| 1 | Upstream-Status: inappropriate [embedded specific] | ||
| 2 | |||
| 3 | Fixes tcl target recipe build on old distros which have glibc older than 2.14 | ||
| 4 | |||
| 5 | | + echo 'NOTE: make DESTDIR=/srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image install' | ||
| 6 | | NOTE: make DESTDIR=/srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image install | ||
| 7 | | + make DESTDIR=/srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image install | ||
| 8 | | Making directory /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image/usr/lib | ||
| 9 | | Installing message catalogs | ||
| 10 | | Making directory /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image/usr/share/man | ||
| 11 | | tclsh: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/tcl8.5.11/unix/libtcl8.5.so) | ||
| 12 | | Making directory /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image/usr/bin | ||
| 13 | | make: *** [install-msgs] Error 1 | ||
| 14 | |||
| 15 | Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> | ||
| 16 | 2012/04/26 | ||
| 17 | |||
| 18 | Index: unix/Makefile.in | ||
| 19 | =================================================================== | ||
| 20 | --- unix.orig/Makefile.in | ||
| 21 | +++ unix/Makefile.in | ||
| 22 | @@ -592,12 +592,12 @@ tcltest-real: | ||
| 23 | # % make test TESTFLAGS="-verbose bps -file fileName.test" | ||
| 24 | |||
| 25 | test: tcltest@EXEEXT@ | ||
| 26 | - @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 27 | + @LD_LIBRARY_PATH_VAR@="$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 28 | TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ | ||
| 29 | ./tcltest@EXEEXT@ $(TOP_DIR)/tests/all.tcl $(TESTFLAGS) | ||
| 30 | |||
| 31 | gdb-test: tcltest@EXEEXT@ | ||
| 32 | - @echo "set env @LD_LIBRARY_PATH_VAR@=\"`pwd`:$${@LD_LIBRARY_PATH_VAR@}\"" > gdb.run | ||
| 33 | + @echo "set env @LD_LIBRARY_PATH_VAR@=\"$${@LD_LIBRARY_PATH_VAR@}\"" > gdb.run | ||
| 34 | @echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run | ||
| 35 | @echo "set args $(TOP_DIR)/tests/all.tcl $(TESTFLAGS) -singleproc 1" >> gdb.run | ||
| 36 | $(GDB) ./tcltest@EXEEXT@ --command=gdb.run | ||
| 37 | @@ -605,27 +605,27 @@ gdb-test: tcltest@EXEEXT@ | ||
| 38 | |||
| 39 | # Useful target to launch a built tcltest with the proper path,... | ||
| 40 | runtest: tcltest@EXEEXT@ | ||
| 41 | - @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 42 | + @LD_LIBRARY_PATH_VAR@="$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 43 | TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ | ||
| 44 | ./tcltest@EXEEXT@ | ||
| 45 | |||
| 46 | # Useful target for running the test suite with an unwritable current | ||
| 47 | # directory... | ||
| 48 | ro-test: tcltest@EXEEXT@ | ||
| 49 | - @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 50 | + @LD_LIBRARY_PATH_VAR@="$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 51 | TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ | ||
| 52 | echo 'exec chmod -w .;package require tcltest;tcltest::temporaryDirectory /tmp;source ../tests/all.tcl;exec chmod +w .' | ./tcltest@EXEEXT@ | ||
| 53 | |||
| 54 | # This target can be used to run tclsh from the build directory | ||
| 55 | # via `make shell SCRIPT=/tmp/foo.tcl` | ||
| 56 | shell: ${TCL_EXE} | ||
| 57 | - @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 58 | + @LD_LIBRARY_PATH_VAR@="$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 59 | TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ | ||
| 60 | ${TCL_EXE} $(SCRIPT) | ||
| 61 | |||
| 62 | # This target can be used to run tclsh inside either gdb or insight | ||
| 63 | gdb: ${TCL_EXE} | ||
| 64 | - @echo "set env @LD_LIBRARY_PATH_VAR@=\"`pwd`:$${@LD_LIBRARY_PATH_VAR@}\"" > gdb.run | ||
| 65 | + @echo "set env @LD_LIBRARY_PATH_VAR@=\"$${@LD_LIBRARY_PATH_VAR@}\"" > gdb.run | ||
| 66 | @echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run | ||
| 67 | $(GDB) ${TCL_EXE} --command=gdb.run | ||
| 68 | rm gdb.run | ||
| 69 | @@ -633,12 +633,12 @@ gdb: ${TCL_EXE} | ||
| 70 | VALGRINDARGS=--tool=memcheck --num-callers=8 --leak-resolution=high --leak-check=yes --show-reachable=yes -v | ||
| 71 | |||
| 72 | valgrind: ${TCL_EXE} tcltest@EXEEXT@ | ||
| 73 | - @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 74 | + @LD_LIBRARY_PATH_VAR@="$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 75 | TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ | ||
| 76 | valgrind $(VALGRINDARGS) ./tcltest@EXEEXT@ $(TOP_DIR)/tests/all.tcl -singleproc 1 $(TESTFLAGS) | ||
| 77 | |||
| 78 | valgrindshell: ${TCL_EXE} | ||
| 79 | - @LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 80 | + @LD_LIBRARY_PATH_VAR@="$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 81 | TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ | ||
| 82 | valgrind $(VALGRINDARGS) ${TCL_EXE} $(SCRIPT) | ||
| 83 | |||
| 84 | @@ -802,14 +802,14 @@ install-libraries: libraries $(INSTALL_T | ||
| 85 | |||
| 86 | install-tzdata: ${TCL_EXE} | ||
| 87 | @echo "Installing time zone data" | ||
| 88 | - @@LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 89 | + @@LD_LIBRARY_PATH_VAR@="$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 90 | TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ | ||
| 91 | ${TCL_EXE} $(TOOL_DIR)/installData.tcl \ | ||
| 92 | $(TOP_DIR)/library/tzdata "$(SCRIPT_INSTALL_DIR)"/tzdata | ||
| 93 | |||
| 94 | install-msgs: ${TCL_EXE} | ||
| 95 | @echo "Installing message catalogs" | ||
| 96 | - @@LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 97 | + @@LD_LIBRARY_PATH_VAR@="$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 98 | TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ | ||
| 99 | ${TCL_EXE} $(TOOL_DIR)/installData.tcl \ | ||
| 100 | $(TOP_DIR)/library/msgs "$(SCRIPT_INSTALL_DIR)"/msgs | ||
| 101 | @@ -1733,7 +1733,7 @@ html-tk: ${TCL_EXE} | ||
| 102 | @EXTRA_BUILD_HTML@ | ||
| 103 | |||
| 104 | BUILD_HTML = \ | ||
| 105 | - @@LD_LIBRARY_PATH_VAR@="`pwd`:$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 106 | + @@LD_LIBRARY_PATH_VAR@="$${@LD_LIBRARY_PATH_VAR@}"; export @LD_LIBRARY_PATH_VAR@; \ | ||
| 107 | TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ | ||
| 108 | ${TCL_EXE} $(TOOL_DIR)/tcltk-man2html.tcl --htmldir="$(HTML_INSTALL_DIR)" \ | ||
| 109 | --srcdir=$(TOP_DIR)/.. $(BUILD_HTML_FLAGS) | ||
diff --git a/meta/recipes-devtools/tcltk/tcl_8.5.11.bb b/meta/recipes-devtools/tcltk/tcl_8.5.11.bb index 09dd155a1e..1d43371209 100644 --- a/meta/recipes-devtools/tcltk/tcl_8.5.11.bb +++ b/meta/recipes-devtools/tcltk/tcl_8.5.11.bb | |||
| @@ -11,13 +11,14 @@ LIC_FILES_CHKSUM = "file://../license.terms;md5=a47a9be26d03f925fc1fbd2784f27e11 | |||
| 11 | file://../win/license.terms;md5=a47a9be26d03f925fc1fbd2784f27e11 \ | 11 | file://../win/license.terms;md5=a47a9be26d03f925fc1fbd2784f27e11 \ |
| 12 | " | 12 | " |
| 13 | 13 | ||
| 14 | PR = "r5" | 14 | PR = "r6" |
| 15 | 15 | ||
| 16 | BASE_SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/tcl${PV}-src.tar.gz \ | 16 | BASE_SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/tcl${PV}-src.tar.gz \ |
| 17 | file://tcl-add-soname.patch" | 17 | file://tcl-add-soname.patch" |
| 18 | 18 | ||
| 19 | SRC_URI = "${BASE_SRC_URI} \ | 19 | SRC_URI = "${BASE_SRC_URI} \ |
| 20 | file://fix_non_native_build_issue.patch " | 20 | file://fix_non_native_build_issue.patch \ |
| 21 | file://fix_issue_with_old_distro_glibc.patch " | ||
| 21 | 22 | ||
| 22 | SRC_URI[md5sum] = "b01a9691c83990b3db0ce62d1012ca67" | 23 | SRC_URI[md5sum] = "b01a9691c83990b3db0ce62d1012ca67" |
| 23 | SRC_URI[sha256sum] = "8addc385fa6b5be4605e6d68fbdc4c0e674c5af1dc1c95ec5420390c4b08042a" | 24 | SRC_URI[sha256sum] = "8addc385fa6b5be4605e6d68fbdc4c0e674c5af1dc1c95ec5420390c4b08042a" |
