`
61party
  • 浏览: 1123448 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Fedora安装Expect

 
阅读更多

费了很大力气才下到Expect的源代码,然后参考了Expect的INSTALL说明文件,还需要Tcl/Tk的源代码支持,于是又下载了Tcl/Tk的源代码,把它们都给放到/usr/local/src下面。先编译安装tcl和tk,完了之后进入expect的文件夹下面,./configure,结果报错,说找不到tclInt.h。于是在tcl的源文件的文件夹下面搜索tclInt.h,发现该文件确实存在,在generic下面。又参考了一下Expect的INSTALL说明文件,才知道可以加--withtclincluse=选项,于是重新configure:

./configure --withtclinclude=/usr/local/src/tcl8.6b1/generic

configure成功。于是输入make,正式编译,结果又发现了如下错误:

exp_main_exp.c:32: error: ‘Tcl_Interp’ has no member named ‘result’
exp_main_exp.c:33: warning: incompatible implicit declaration of built-in function ‘exit’
make: *** [exp_main_exp.o] Error 1

网上一搜,在http://groups.google.com/group/comp.lang.tcl/browse_thread/thread/e63b1bd2d350d024/8bbd5758f6193120?show_docid=8bbd5758f6193120&pli=1 发现有人遇到过同样的问题。在http://www.tcl.tk/cgi-bin/tct/tip/330.html 给出了原因,说是因为在新版(8.6)的tcl的tcl.h中Tcl_Interp被重命名为unused1了,而expect的源代码并没有做相应修改。并且给出了解决方案,就是添加预定义USE_INTERP_RESULT,或者用8.5以下的tcl源代码。

我没有再继续尝试编译安装expect。我想起来可以尝试通过yum安装,于是输入yum install expect,竟然成功了!不过在安装expect的同时,还自动安装了tcl8.5.3,估计这是因为安装的expect是基于tcl8.5的源代码变异的。

看来Expect开发者乏人啊,这么长时间这个bug竟然没有人修复,唉……

分享到:
评论

相关推荐

    expect & tcl 的安装文件

    由于提供的文件名为"expect&tcl rpm",我们可以假设这是一个包含RPM(Red Hat Package Manager)格式的安装包,通常用于Fedora、CentOS或RHEL等基于Red Hat的Linux发行版。以下是安装步骤: 1. **打开终端**:在...

    expect5.45.tar.gz

    标题中的"expect5.45.tar.gz"是一个包含了Fedora8系统下expect 5.45版本源代码的压缩包。本文将深入探讨expect的基本概念,功能特性,以及如何与TCL语言结合使用,以帮助读者全面理解这一工具的精髓。 expect,由...

    linux-expect模拟键盘输入实现定时登录教程.zip

    在CentOS或Fedora系统上,使用`sudo yum install expect`或者`sudo dnf install expect`。 接下来,我们将探讨如何使用expect模拟登录。以下是一个基本的SSH登录脚本示例: ```bash #!/usr/bin/expect spawn ssh ...

    expect-5.43.0-8.el5.x86_64

    标题“expect-5.43.0-8.el5.x86_64”指的是一个特定版本的Expect软件包,适用于Linux系统,特别是RPM(Red Hat Package Manager)格式的系统,如CentOS或Fedora。这个版本是5.43.0,发行编号为8,目标平台是el5...

    expect资料

    标题“expect资料”表明我们将探讨的是关于`Expect`工具的相关知识,这通常涉及到其安装、基本使用方法以及一些实际应用示例。 **LINUX_EXPECT的安装.doc** 在Linux系统中安装`Expect`,通常通过包管理器进行。...

    Linux expect交互命令使用详解.docx

    yum install tcl expect -y # 对于基于RPM的系统(如CentOS、Fedora) apt-get install tcl expect -y # 对于基于Debian的系统(如Ubuntu) ``` ### expect的执行方式 执行`expect`脚本通常有两种方法: 1. 直接...

    expect-5.43.0-9.fc8.i386.rpm

    要用fedora的expect,先装了tcl后,装这个。tcl我也有上传上来,大家自己找

    expect-5.45-14.el7-1.x86-64.rpm,tcl-8.5.13-8.el7.x86-64.rpm

    在这个场景中,`expect-5.45-14.el7_1.x86_64.rpm` 依赖于 `tcl-8.5.13-8.el7.x86_64.rpm`,所以通常会在安装`expect`之前先安装`tcl`。 使用`expect`和`tcl`进行自动化操作时,开发者可以创建脚本来处理复杂的交互...

    Wiley.Publishing.Fedora.Linux.Toolbox.1000+.Commands.for.Fedora.CentOS.and.Red.Hat.Power.Users.and.Red.Hat.Power.Users.2008.pdf

    - **Scripting**: Automating remote tasks using shell scripts and tools like `expect`. - **Monitoring Tools**: Using tools like `nagios` and `ganglia` to monitor remote systems. - **Automation**: ...

    linux系统的锐捷认证

    安装expect通常需要先确保你的Linux系统中已经安装了TCL(Tool Command Language)环境,因为expect是基于TCL的。你可以通过以下命令检查TCL是否已安装: ```bash tclsh -version ``` 如果没有安装,可以使用包...

    yum 本地库离线安装

    Yum(Yellowdog Updater, Modified)是RHEL(Red Hat Enterprise Linux)及其衍生版本如CentOS、Fedora等常用的一款包管理器,用于自动化安装、更新、删除软件包的过程。 在标题提及的“yum 本地库离线安装”中,...

    开放Ruby+watir 自动化测试工具介绍+安装说明

    对于Fedora或CentOS,使用`sudo yum install ruby`。 ### Watir安装 在安装Ruby后,我们可以通过Ruby的包管理器Gem来安装Watir。打开终端或命令提示符,输入以下命令: ```bash gem install watir ``` 等待安装...

    tcl-8.4.17-1.fc8.i386.rpm

    在fedora上,要用expect,得先装这个,再装expect包

    redmine安装脚本 2.6.10版本

    yum install -y expect yum install -y mysql mysql-devel mysql-server ``` 3. **Ruby 环境配置**: - 接着是 Ruby 环境的安装和配置。这里使用 RVM (Ruby Version Manager) 来管理 Ruby 的版本。 ```bash ...

    inux生成自动密码

    首先,你需要确保系统中已经安装了`expect`软件包,因为`mkpasswd`是基于`expect`的。可以通过以下命令安装: ```bash # 对于基于Red Hat的发行版(如CentOS、Fedora) yum install expect # 对于基于Debian的发行...

    docker-containers-on-demand:Docker 容器随需应变系统的 Web 应用程序部分。 其他细节即将到来

    注意:应用程序是在 Fedora 20 和 Amazon Linux AMI 2015.03 上开发/测试的 - 不能保证在其他平台上(但它应该在最流行的 Linux 发行版上运行) 入门 1) 安装 bash 依赖项(基于 RPM) sudo yum install -y ...

    ssh代码演示

    在CentOS或Fedora上,使用`sudo yum install openssh-server`或`sudo dnf install openssh-server`。 2. **启动SSH服务**:安装完成后,需要启动SSH服务,以便可以连接。在Linux系统中,这通常通过`sudo systemctl ...

    error while loading shared libraries xx.so处理方法

    - 对于基于Red Hat的系统(如Fedora、CentOS): ``` sudo yum install libevent ``` **2. 系统未能正确识别共享库路径** 即便已经安装了正确的共享库,也可能因为路径配置不当而无法被识别。解决这个问题的...

    Linux命令大全搜索工具.pdf

    - **`yum`**:Yellowdog Updater Modified,基于RPM的软件包管理器,适用于Fedora、CentOS等发行版。 ##### 5. **其他常用命令** - **`echo`**:向标准输出打印文本。 - **`grep`**:搜索文件中的特定模式。 - ...

Global site tag (gtag.js) - Google Analytics