[oe] tk 8.6.0: strange error: "oe_runmake: command not found"

Paul Barker paul at paulbarker.me.uk
Mon Feb 17 09:35:48 UTC 2014


On 11 February 2014 13:01, Nick D'Ademo <nickdademo at gmail.com> wrote:
> The only reference to "oe_runmake" in the run file is within the
> autotools_do_install() function (as pasted in my previous message).
>
> Complete run file below:
>
>> #!/bin/sh
>>
>> # Emit a useful diagnostic if something fails:
>> bb_exit_handler() {
>>     ret=$?
>>     case $ret in
>>     0)  ;;
>>     *)  case $BASH_VERSION in
>>         "")   echo "WARNING: exit code $ret from a shell command.";;
>>         *)    echo "WARNING: ${BASH_SOURCE[0]}:${BASH_LINENO[0]} exit $ret
>> from
>>   "$BASH_COMMAND"";;
>>         esac
>>         exit $ret
>>     esac
>> }
>> trap 'bb_exit_handler' 0
>> set -e
>> export localstatedir="/var"
>> export prefix="/usr"
>> export LD="x86_64-poky-linux-ld
>> --sysroot=/home/nick/poky/build/tmp/sysroots/nuc  "
>> export RANLIB="x86_64-poky-linux-ranlib"
>> export CXX="x86_64-poky-linux-g++  -m64 -march=corei7 -mtune=corei7
>> -mfpmath=sse -msse4.2 --sysroot=/home/nick/poky/build/tmp/sysroots/nuc"
>> export lt_cv_sys_lib_dlsearch_path_spec="/usr/lib64 /lib64"
>> export servicedir="/srv"
>> export sysconfdir="/etc"
>> export TARGET_LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
>> export PKG_CONFIG_DISABLE_UNINSTALLED="yes"
>> export STRINGS="x86_64-poky-linux-strings"
>> export
>> BUILD_CFLAGS="-isystem/home/nick/poky/build/tmp/sysroots/i686-linux/usr/include
>> -O2 -pipe"
>> export base_prefix=""
>> export CPP="x86_64-poky-linux-gcc -E
>> --sysroot=/home/nick/poky/build/tmp/sysroots/nuc  -m64 -march=corei7
>> -mtune=corei7 -mfpmath=sse -msse4.2"
>> export
>> PSEUDO_LOCALSTATEDIR="/home/nick/poky/build/tmp/work/corei7-64-poky-linux/tk/8.6.0-r0/pseudo/"
>> export LOGNAME="nick"
>> export STRIP="x86_64-poky-linux-strip"
>> export datadir="/usr/share"
>> export PKG_CONFIG_SYSROOT_DIR="/home/nick/poky/build/tmp/sysroots/nuc"
>> export bindir="/usr/bin"
>> export mandir="/usr/share/man"
>> export
>> CPPFLAGS_FOR_BUILD="-isystem/home/nick/poky/build/tmp/sysroots/i686-linux/usr/include"
>> export PATCH_GET="0"
>> export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
>> -Wl,-rpath,/usr/lib64/tcltk/8.6.0/lib"
>> export MAKE="make"
>> export
>> PKG_CONFIG_PATH="/home/nick/poky/build/tmp/sysroots/nuc/usr/lib64/pkgconfig:/home/nick/poky/build/tmp/sysroots/nuc/usr/share/pkgconfig"
>> export LD_FOR_BUILD="ld "
>> export AS="x86_64-poky-linux-as  "
>> export AR="x86_64-poky-linux-ar"
>> export exec_prefix="/usr"
>> export LC_ALL="C"
>> export base_libdir="/lib64"
>> export
>> PATH="/home/nick/poky/scripts:/home/nick/poky/build/tmp/sysroots/i686-linux/usr/bin/corei7-64-poky-linux:/home/nick/poky/build/tmp/sysroots/nuc/usr/bin/crossscripts:/home/nick/poky/build/tmp/sysroots/i686-linux/usr/sbin:/home/nick/poky/build/tmp/sysroots/i686-linux/usr/bin:/home/nick/poky/build/tmp/sysroots/i686-linux/sbin:/home/nick/poky/build/tmp/sysroots/i686-linux/bin:/home/nick/poky/scripts:/home/nick/poky/bitbake/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/nick/workspace/tye-firmware/util/arm-2011.03/bin"
>> export infodir="/usr/share/info"
>> export BUILD_CC="gcc "
>> export
>> BUILD_LDFLAGS="-L/home/nick/poky/build/tmp/sysroots/i686-linux/usr/lib
>> -L/home/nick/poky/build/tmp/sysroots/i686-linux/lib
>> -Wl,-rpath-link,/home/nick/poky/build/tmp/sysroots/i686-linux/usr/lib
>> -Wl,-rpath-link,/home/nick/poky/build/tmp/sysroots/i686-linux/lib
>> -Wl,-rpath,/home/nick/poky/build/tmp/sysroots/i686-linux/usr/lib
>> -Wl,-rpath,/home/nick/poky/build/tmp/sysroots/i686-linux/lib -Wl,-O1"
>> export BUILD_CCLD="gcc "
>> export
>> CFLAGS_FOR_BUILD="-isystem/home/nick/poky/build/tmp/sysroots/i686-linux/usr/include
>> -O2 -pipe"
>> export CC="x86_64-poky-linux-gcc  -m64 -march=corei7 -mtune=corei7
>> -mfpmath=sse -msse4.2 --sysroot=/home/nick/poky/build/tmp/sysroots/nuc"
>> export CPPFLAGS=""
>> export OBJCOPY="x86_64-poky-linux-objcopy"
>> export systemd_unitdir="/lib/systemd"
>> export
>> PKG_CONFIG_DIR="/home/nick/poky/build/tmp/sysroots/nuc/usr/lib64/pkgconfig"
>> export CCLD="x86_64-poky-linux-gcc  -m64 -march=corei7 -mtune=corei7
>> -mfpmath=sse -msse4.2 --sysroot=/home/nick/poky/build/tmp/sysroots/nuc"
>> export base_bindir="/bin"
>> export
>> PKG_CONFIG_LIBDIR="/home/nick/poky/build/tmp/sysroots/nuc/usr/lib64/pkgconfig"
>> export sbindir="/usr/sbin"
>> export CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types"
>> export
>> LDFLAGS_FOR_BUILD="-L/home/nick/poky/build/tmp/sysroots/i686-linux/usr/lib
>> -L/home/nick/poky/build/tmp/sysroots/i686-linux/lib
>> -Wl,-rpath-link,/home/nick/poky/build/tmp/sysroots/i686-linux/usr/lib
>> -Wl,-rpath-link,/home/nick/poky/build/tmp/sysroots/i686-linux/lib
>> -Wl,-rpath,/home/nick/poky/build/tmp/sysroots/i686-linux/usr/lib
>> -Wl,-rpath,/home/nick/poky/build/tmp/sysroots/i686-linux/lib -Wl,-O1"
>> export docdir="/usr/share/doc"
>> export TERM="xterm"
>> export CCACHE_DISABLE="1"
>> export
>> BUILD_CXXFLAGS="-isystem/home/nick/poky/build/tmp/sysroots/i686-linux/usr/include
>> -O2 -pipe -fpermissive"
>> export FC="x86_64-poky-linux-gfortran  -m64 -march=corei7 -mtune=corei7
>> -mfpmath=sse -msse4.2 --sysroot=/home/nick/poky/build/tmp/sysroots/nuc"
>> export HOME="/home/nick"
>> export CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fpermissive
>> -fvisibility-inlines-hidden"
>> unset MACHINE
>> export BUILD_STRIP="strip"
>> export PSEUDO_PASSWD="/home/nick/poky/build/tmp/sysroots/nuc"
>> export libexecdir="/usr/lib64/tk"
>> export TARGET_CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types
>> -fpermissive"
>> export includedir="/usr/include"
>> export BUILD_LD="ld "
>> export oldincludedir="/usr/include"
>> export BUILD_RANLIB="ranlib"
>> export BUILD_NM="nm"
>> export BUILD_AR="ar"
>> export BUILD_AS="as "
>> export sharedstatedir="/com"
>> export CONFIG_SITE="/home/nick/poky/meta/site/endian-little
>> /home/nick/poky/meta/site/common-linux
>> /home/nick/poky/meta/site/common-glibc
>> /home/nick/poky/meta/site/x86_64-linux /home/nick/poky/meta/site/common
>> /home/nick/poky/meta-openembedded/meta-oe/site/endian-little "
>> export PSEUDO_DISABLED="0"
>> export CXX_FOR_BUILD="g++ "
>> export libdir="/usr/lib64"
>> export nonarch_base_libdir="/lib"
>> export BUILD_CXX="g++ "
>> unset TARGET_ARCH
>> export CCACHE_DIR="/home/nick"
>> export PSEUDO_PREFIX="/home/nick/poky/build/tmp/sysroots/i686-linux/usr"
>> export BUILD_CPP="cpp "
>> export base_sbindir="/sbin"
>> export USER="nick"
>> export NM="x86_64-poky-linux-nm"
>> export
>> BUILD_CPPFLAGS="-isystem/home/nick/poky/build/tmp/sysroots/i686-linux/usr/include"
>> export BUILD_FC="gfortran "
>> export CPP_FOR_BUILD="cpp "
>> export TARGET_CPPFLAGS=""
>> export
>> CXXFLAGS_FOR_BUILD="-isystem/home/nick/poky/build/tmp/sysroots/i686-linux/usr/include
>> -O2 -pipe -fpermissive"
>> export TARGET_CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types"
>> export OBJDUMP="x86_64-poky-linux-objdump"
>> unset DISTRO
>> export CC_FOR_BUILD="gcc "
>> export SHELL="/bin/bash"
>> export PSEUDO_NOSYMLINKEXP="1"
>> do_install() {
>>     autotools_do_install
>>     ln -sf libtk8.6.so
>> /home/nick/poky/build/tmp/work/corei7-64-poky-linux/tk/8.6.0-r0/image/usr/lib64/libtk8.6.so.0
>>     oe_libinstall -so libtk8.6
>> /home/nick/poky/build/tmp/work/corei7-64-poky-linux/tk/8.6.0-r0/image/usr/lib64
>>     ln -sf wish8.6
>> /home/nick/poky/build/tmp/work/corei7-64-poky-linux/tk/8.6.0-r0/image/usr/bin/wish
>>
>>     # Even after passing libdir=/usr/lib64 at config, some incorrect dirs
>> are still generated for the multilib build
>>     if [ "$libdir" != "/usr/lib" ]; then
>>         # Move files to correct library directory
>>         mv
>> /home/nick/poky/build/tmp/work/corei7-64-poky-linux/tk/8.6.0-r0/image/usr/lib/tk8.6/*
>> /home/nick/poky/build/tmp/work/corei7-64-poky-linux/tk/8.6.0-r0/image//usr/lib64/tk8.6/
>>         # Remove unneeded/incorrect dir ('usr/lib/')
>>         rm -rf
>> /home/nick/poky/build/tmp/work/corei7-64-poky-linux/tk/8.6.0-r0/image/usr/lib
>>     fi
>>
>> }
>>
>> oe_libinstall() {
>>     # Purpose: Install a library, in all its forms
>>     # Example
>>     #
>>     # oe_libinstall libltdl
>> /home/nick/poky/build/tmp/sysroots/nuc/usr/lib64/
>>     # oe_libinstall -C src/libblah libblah
>> /home/nick/poky/build/tmp/work/corei7-64-poky-linux/tk/8.6.0-r0/image//usr/lib64/
>>     dir=""
>>     libtool=""
>>     silent=""
>>     require_static=""
>>     require_shared=""
>>     staging_install=""
>>     while [ "$#" -gt 0 ]; do
>>         case "$1" in
>>         -C)
>>             shift
>>             dir="$1"
>>             ;;
>>         -s)
>>             silent=1
>>             ;;
>>         -a)
>>             require_static=1
>>             ;;
>>         -so)
>>             require_shared=1
>>             ;;
>>         -*)
>>             bbfatal "oe_libinstall: unknown option: $1"
>>             ;;
>>         *)
>>             break;
>>             ;;
>>         esac
>>         shift
>>     done
>>
>>     libname="$1"
>>     shift
>>     destpath="$1"
>>     if [ -z "$destpath" ]; then
>>         bbfatal "oe_libinstall: no destination path specified"
>>     fi
>>     if echo "$destpath/" | egrep
>> '^/home/nick/poky/build/tmp/sysroots/nuc/usr/lib64/' >/dev/null
>>     then
>>         staging_install=1
>>     fi
>>
>>     __runcmd () {
>>         if [ -z "$silent" ]; then
>>             echo >&2 "oe_libinstall: $*"
>>         fi
>>         $*
>>     }
>>
>>     if [ -z "$dir" ]; then
>>         dir=`pwd`
>>     fi
>>
>>     dotlai=$libname.lai
>>
>>     # Sanity check that the libname.lai is unique
>>     number_of_files=`(cd $dir; find . -name "$dotlai") | wc -l`
>>     if [ $number_of_files -gt 1 ]; then
>>         bbfatal "oe_libinstall: $dotlai is not unique in $dir"
>>     fi
>>
>>
>>     dir=$dir`(cd $dir;find . -name "$dotlai") | sed
>> "s/^\.//;s/\/$dotlai\$//;q"`
>>     olddir=`pwd`
>>     __runcmd cd $dir
>>
>>     lafile=$libname.la
>>
>>     # If such file doesn't exist, try to cut version suffix
>>     if [ ! -f "$lafile" ]; then
>>         libname1=`echo "$libname" | sed 's/-[0-9.]*$//'`
>>         lafile1=$libname.la
>>         if [ -f "$lafile1" ]; then
>>             libname=$libname1
>>             lafile=$lafile1
>>         fi
>>     fi
>>
>>     if [ -f "$lafile" ]; then
>>         # libtool archive
>>         eval `cat $lafile|grep "^library_names="`
>>         libtool=1
>>     else
>>         library_names="$libname.so* $libname.dll.a $libname.*.dylib"
>>     fi
>>
>>     __runcmd install -d $destpath/
>>     dota=$libname.a
>>     if [ -f "$dota" -o -n "$require_static" ]; then
>>         rm -f $destpath/$dota
>>         __runcmd install -m 0644 $dota $destpath/
>>     fi
>>     if [ -f "$dotlai" -a -n "$libtool" ]; then
>>         rm -f $destpath/$libname.la
>>         __runcmd install -m 0644 $dotlai $destpath/$libname.la
>>     fi
>>
>>     for name in $library_names; do
>>         files=`eval echo $name`
>>         for f in $files; do
>>             if [ ! -e "$f" ]; then
>>                 if [ -n "$libtool" ]; then
>>                     bbfatal "oe_libinstall: $dir/$f not found."
>>                 fi
>>             elif [ -L "$f" ]; then
>>                 __runcmd cp -P "$f" $destpath/
>>             elif [ ! -L "$f" ]; then
>>                 libfile="$f"
>>                 rm -f $destpath/$libfile
>>                 __runcmd install -m 0755 $libfile $destpath/
>>             fi
>>         done
>>     done
>>
>>     if [ -z "$libfile" ]; then
>>         if  [ -n "$require_shared" ]; then
>>             bbfatal "oe_libinstall: unable to locate shared library"
>>         fi
>>     elif [ -z "$libtool" ]; then
>>         # special case hack for non-libtool .so.#.#.# links
>>         baselibfile=`basename "$libfile"`
>>         if (echo $baselibfile | grep -qE '^lib.*\.so\.[0-9.]*$'); then
>>             sonamelink=`x86_64-poky-linux-readelf -d $libfile |grep
>> 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
>>             solink=`echo $baselibfile | sed -e 's/\.so\..*/.so/'`
>>             if [ -n "$sonamelink" -a x"$baselibfile" != x"$sonamelink" ];
>> then
>>                 __runcmd ln -sf $baselibfile $destpath/$sonamelink
>>             fi
>>             __runcmd ln -sf $baselibfile $destpath/$solink
>>         fi
>>     fi
>>
>>     __runcmd cd "$olddir"
>>
>>
>> }
>>
>> autotools_do_install() {
>>     oe_runmake
>> 'DESTDIR=/home/nick/poky/build/tmp/work/corei7-64-poky-linux/tk/8.6.0-r0/image'
>> install
>>     # Info dir listing isn't interesting at this point so remove it if it
>> exists.
>>     if [ -e
>> "/home/nick/poky/build/tmp/work/corei7-64-poky-linux/tk/8.6.0-r0/image/usr/share/info/dir"
>> ]; then
>>         rm -f
>> /home/nick/poky/build/tmp/work/corei7-64-poky-linux/tk/8.6.0-r0/image/usr/share/info/dir
>>     fi
>>
>> }
>>
>> bbfatal() {
>>     echo "ERROR: $*"
>>     exit 1
>>
>> }
>>
>> cd
>> '/home/nick/poky/build/tmp/work/corei7-64-poky-linux/tk/8.6.0-r0/tk8.6.0/unix'
>> do_install
>>
>> # cleanup
>> ret=$?
>> trap '' 0
>> exit $?
>

Sorry, I'm lost on where to look next on this. The run files in my
builds include the definition of oe_runmake() and the other functions
which are used so I assume that's what's supposed to happen. I was
hoping someone else would notice this thread and have a better idea
what the underlying problem might be. I've never really looked at the
internals of bitbake or how these scripts are generated.

I'd suggest asking on the #oe or #yocto channels on irc.freenode.net,
plus maybe reposting to yocto at yoctoproject.org if no-one else replies
to this and you still need help.

Sorry I can't be any more help.

-- 
Paul Barker

Email: paul at paulbarker.me.uk
http://www.paulbarker.me.uk



More information about the Openembedded-devel mailing list