红联Linux门户
Linux帮助

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

发布时间:2015-10-31 15:02:24来源:linux网站作者:linux_zhu

工具链为:

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来做Linux程序测试:http://www.linuxdiyf.com/linux/7673.html

Linux下的expect的简单用法及举例:http://www.linuxdiyf.com/linux/2655.html

Linux下Expect命令应用:http://www.linuxdiyf.com/linux/1709.html