window10安装CygWin 并编译ipmitool win版本工具

Window下使用CygWin编译ipmitool.exe

    • 准备工作
    • 安装CygWin
    • 编译ipmitool
    • 编译结果参考:附下载链接
    • 参考

准备工作

声明:本文操作环境为:window10版本
操作前需要做好如下准备:
1、下载CygWin,下载链接: cygwin
2、安装CygWin
3、ipmitool源码包 ipmitool-IPMITOOL_1_8_18,下载地址: sourcecode

安装CygWin

1、双击刚刚下载的文件:setup-x86_64.exe

window10安装CygWin 并编译ipmitool win版本工具_第1张图片
2、然后选择下一步,选择需要安装的路径和保存文件的路径:
window10安装CygWin 并编译ipmitool win版本工具_第2张图片
window10安装CygWin 并编译ipmitool win版本工具_第3张图片
3、选择下载网络:
window10安装CygWin 并编译ipmitool win版本工具_第4张图片

window10安装CygWin 并编译ipmitool win版本工具_第5张图片

找不到时手动添加国内镜像:http://mirrors.163.com/cygwin/
window10安装CygWin 并编译ipmitool win版本工具_第6张图片

4、选择需要的文件包
编译ipmitool原则上需要以下几个包:
Cygwin packages:依赖包
1、gcc-core (在 Devel 目录下)
2、make (在 Devel 目录下)
3、openssl-devel
包之间的其他依赖关系,安装软件会自动选择上

通过搜索对应的包名称,将其状态选为Install,后面工具就会将其下载并安装
window10安装CygWin 并编译ipmitool win版本工具_第7张图片
5、接下来等安装完成即可,并对是否安装成功进行验证

cygcheck -c cygwin

会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。
然后依次输入如下命令,如果显示一些版本信息,这说明安装正确

gcc --version
g++ --version
make --version
gdb --version

显示结果示意如下:

window10安装CygWin 并编译ipmitool win版本工具_第8张图片

编译ipmitool

1、打开cygwin ,cd到源码目录

cd E:\ipmitool-1.8.18

2、运行bootstrap脚本,生成configure

./bootstrap

4、配置编译项,主要是指定编译的接口。这里只指定lan、lanplus接口(不同平台支持不同的接口,–enable- intf-open为linux专用接口,windows不支持)

 ./configure --enable-intf-lan --enable-intf-lanplus 

配置完成后,可以看到你指定的接口已经标记为yes。一般显示如下:
ipmitool 1.8.18-csv
Interfaces
lan : yes
lanplus : yes
open : no
free : no
imb : no
bmc : no
usb : no
lipmi : no
serial : yes
dummy : no
Extra tools
ipmievd : yes
ipmishell : no

5、使用make进行编译

make
等待执行完成,在ipmitool-1.8.18/src/.libs下存放的是真实的ipmitool.exe可执行文件
    E:\ipmitool-1.8.18\src\.libs>ls
    ipmievd.exe          ipmitool.exe          lt-ipmievd.c
    ipmievd_ltshwrapper  ipmitool_ltshwrapper  lt-ipmitool.c

6、制作独立副本ipmitool
将编译好的ipmitool和cygwin静态库(我安装的cygwin在C:\cygwin64目录)提取出来存放在一起,就可以在没有安装cygwin的环境使用了。

E:\ipmitool-1.8.18\src\.libs\ipmitool.exe

D:\cygwin64\bin\cygcrypto-1.0.0.dll

D:\cygwin64\bin\cygwin1.dll

D:\cygwin64\bin\cygz.dll

D:\cygwin64\bin\cyggcc_s-seh-1.dll (有的环境是cyggcc_s-1.dll)

注意:在第5步时会出现"storage size of ‘ctx’ isn’t known"会导致编译失败,主要是OpenSSL兼容性的问题,原因和解决方案见下链接:
解决方案

编译结果参考:附下载链接

下载链接,仅供参考

参考

https://www.jianshu.com/p/776c86d43a2f

你可能感兴趣的:(window10安装CygWin 并编译ipmitool win版本工具)