移植expect出现的错误提示,以及解决办法

工具链为:

OpenWrt-Toolchain-x86-generic_gcc-4.8-linaro_glibc-2.21.Linux-i686.tar.bz2

错误提示如下:

i486-openwrt-linux-gnu-gcc.bin: warning: environment variable 'STAGING_DIR' not defined
i486-openwrt-linux-gnu-gcc.bin: warning: environment variable 'STAGING_DIR' not defined
/opt/openwrt-i386-glibc-gcc/bin/../lib/gcc/i486-openwrt-linux-gnu/4.8.3/../../../../i486-openwrt-linux-gnu/bin/ld: warning: libutil.so.1, needed by /home/gino/expect5.45/libexpect5.45.so, not found (try using -rpath or -rpath-link)
/opt/openwrt-i386-glibc-gcc/bin/../lib/gcc/i486-openwrt-linux-gnu/4.8.3/../../../../i486-openwrt-linux-gnu/bin/ld: warning: libpthread.so.0, needed by /home/gino/tcl8.6.4/unix/tmp/lib/libtcl8.6.so, not found (try using -rpath or -rpath-link)
/home/gino/tcl8.6.4/unix/tmp/lib/libtcl8.6.so: undefined reference to `pthread_setspecific@GLIBC_2.0'
/home/gino/tcl8.6.4/unix/tmp/lib/libtcl8.6.so: undefined reference to `pthread_key_delete@GLIBC_2.0'
/home/gino/tcl8.6.4/unix/tmp/lib/libtcl8.6.so: undefined reference to `open64@GLIBC_2.2'
/home/gino/tcl8.6.4/unix/tmp/lib/libtcl8.6.so: undefined reference to `lseek64@GLIBC_2.2'
/home/gino/tcl8.6.4/unix/tmp/lib/libtcl8.6.so: undefined reference to `pthread_key_create@GLIBC_2.0'
/home/gino/tcl8.6.4/unix/tmp/lib/libtcl8.6.so: undefined reference to `pthread_getspecific@GLIBC_2.0'
/home/gino/expect5.45/libexpect5.45.so: undefined reference to `openpty@GLIBC_2.0'
/home/gino/tcl8.6.4/unix/tmp/lib/libtcl8.6.so: undefined reference to `pthread_join@GLIBC_2.0'
/home/gino/tcl8.6.4/unix/tmp/lib/libtcl8.6.so: undefined reference to `pthread_create@GLIBC_2.1'
/home/gino/tcl8.6.4/unix/tmp/lib/libtcl8.6.so: undefined reference to `pthread_attr_setstacksize@GLIBC_2.1'
collect2: error: ld returned 1 exit status
make: *** [expect] 错误 1

对于警告信息部分的解决办法是。编译的时候选上编译SDK,在编译好的SDK中取出工具链。然后安装好工具链之后,将工具链目录下的 staging_dir 目录加入到环境变量 STAGING_DIR 中。(找不到的话,用 find 命令查找)


提示函数未定义部分:

在Makefiles中加入对应的链接库

-lutil
-lphread


你可能感兴趣的:(移植expect出现的错误提示,以及解决办法)