免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4603 | 回复: 4
打印 上一主题 下一主题

windows下安装perl win32-exe模块失败 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-31 16:41 |只看该作者 |倒序浏览
准备将一个perl程序编译成exe文件,采用pp -o 1.exe 1.pl方式。
在xp 系统上安装了perl 5.10.1版本,安装顺利,然后通过ppm安装相关模块,从网上搜了一下步骤,需要安装win32-exe模块。
http://code.activestate.com/ppm/Win32-Exe/上下载,需要用户名/密码,用在网站上免费注册的账号不能下载,只好从
网上搜了一个Win32-Exe-0.17,然后开始安装。
perl Makefile.PL 成功
nmake 失败,显示
g++.exe: InsertResourceSection.o: No such file or directory
NMAKE : fatal error U1077: 'C:\dev-cpp\bin\g++.exe' : return code '0x1'
Stop.
NMAKE : fatal error U1077: 'C:\Perl\bin\nmake.exe' : return code '0x2'
Stop.

提示一下,在ppm的窗口里搜索不到win32-exe。

在安装过程中,安装PAR-PAcker模块时也有错误
C:\TDDOWNLOAD\PAR-Packer-1.003\PAR-Packer-1.003>perl Makefile.PL
Set up gcc environment - 3.3.1 (mingw special 20030804-1)
Warning: prerequisite Win32::Exe 0.04 not found.
Writing Makefile for the par.exe program
Writing Makefile for PAR:acker
Writing MYMETA.yml and MYMETA.json


郁闷,不知道win32-exe到底怎么装啊


论坛徽章:
0
2 [报告]
发表于 2013-06-16 10:31 |只看该作者
前期用的windows xp的activeperl,无意中查到用strawberry perl好一些,于是新装了strawberry per ,装win32::exe没有问题了,耶!
后来想装一下expect模块,提示需要装IO::tty,但安装过程中出现以下错误信息:
cpan> install IO::Tty
Running install for module 'IO::Tty'
Running make for T/TO/TODDR/IO-Tty-1.10.tar.gz
  Has already been unwrapped into directory C:\strawberry\cpan\build\IO-Tty-1.10
-LsbVts
Could not make: Unknown error
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible


cpan>

从上面信息中,难道是说没有make工具吗?

论坛徽章:
0
3 [报告]
发表于 2013-06-16 11:39 |只看该作者
没有make?

论坛徽章:
0
4 [报告]
发表于 2013-06-16 12:56 |只看该作者
看提示好像是说少make,但strawberry perl自带dmake啊

论坛徽章:
0
5 [报告]
发表于 2013-06-16 13:05 |只看该作者
本帖最后由 zljjg2000 于 2013-06-16 13:07 编辑

附上安装IO::Tty的详细过程:
C:\Documents and Settings\Administrator>cpan
cpan> install IO::Tty
Database was generated on Sun, 16 Jun 2013 01:24:16 GMT
Running install for module 'IO::Tty'
Running make for T/TO/TODDR/IO-Tty-1.10.tar.gz
Checksum for C:\strawberry\cpan\sources\authors\id\T\TO\TODDR\IO-Tty-1.10.tar.gz
ok
Scanning cache C:\strawberry\cpan\build for sizes
............................................................................DONE


  CPAN.pm: Building T/TO/TODDR/IO-Tty-1.10.tar.gz

Now let's see what we can find out about your system
(logfiles of failing tests are available in the conf/ dir)...
Looking for _getpty()...... not found.
Looking for getpt()........ not found.
Looking for grantpt()...... not found.
Looking for openpty()...... not found.
Looking for posix_openpt(). not found.
Looking for ptsname()...... not found.
Looking for ptsname_r().... not found.
Looking for sigaction().... not found.
Looking for strlcpy()...... not found.
Looking for ttyname()...... not found.
Looking for unlockpt()..... not found.
Looking for libutil.h...... not found.
Looking for pty.h.......... not found.
Looking for sys/pty.h...... not found.
Looking for sys/ptyio.h.... not found.
Looking for sys/stropts.h.. not found.
Looking for termio.h....... not found.
Looking for termios.h...... not found.
Looking for util.h......... not found.
Checking which symbols compile OK...
(sorry for the tedious check, but some systems have not too clean
header files, to say the least;  '+' means OK, '-' means not defined
and '*' has compile problems...)
-B0 -B110 -B115200 -B1200 -B134 -B150 -B153600 -B1800 -B19200 -B200 -B230400 -B2
400 -B300 -B307200 -B38400 -B460800 -B4800 -B50 -B57600 -B600 -B75 -B76800 -B960
0 -BRKINT -BS0 -BS1 -BSDLY -CBAUD -CBAUDEXT -CBRK -CCTS_OFLOW -CDEL -CDSUSP -CEO
F -CEOL -CEOL2 -CEOT -CERASE -CESC -CFLUSH -CIBAUD -CIBAUDEXT -CINTR -CKILL -CLN
EXT -CLOCAL -CNSWTCH -CNUL -CQUIT -CR0 -CR1 -CR2 -CR3 -CRDLY -CREAD -CRPRNT -CRT
SCTS -CRTSXOFF -CRTS_IFLOW -CS5 -CS6 -CS7 -CS8 -CSIZE -CSTART -CSTOP -CSTOPB -CS
USP -CSWTCH -CWERASE -DEFECHO -DIOC -DIOCGETP -DIOCSETP -DOSMODE -ECHO -ECHOCTL
-ECHOE -ECHOK -ECHOKE -ECHONL -ECHOPRT -EXTA -EXTB -FF0 -FF1 -FFDLY -FIORDCHK -F
LUSHO -HUPCL -ICANON -ICRNL -IEXTEN -IGNBRK -IGNCR -IGNPAR -IMAXBEL -INLCR -INPC
K -ISIG -ISTRIP -IUCLC -IXANY -IXOFF -IXON -KBENABLED -LDCHG -LDCLOSE -LDDMAP -L
DEMAP -LDGETT -LDGMAP -LDIOC -LDNMAP -LDOPEN -LDSETT -LDSMAP -LOBLK -NCCS -NL0 -
NL1 -NLDLY -NOFLSH -OCRNL -OFDEL -OFILL -OLCUC -ONLCR -ONLRET -ONOCR -OPOST -PAG
EOUT -PARENB -PAREXT -PARMRK -PARODD -PENDIN -RCV1EN -RTS_TOG -TAB0 -TAB1 -TAB2
-TAB3 -TABDLY -TCDSET -TCFLSH -TCGETA -TCGETS -TCIFLUSH -TCIOFF -TCIOFLUSH -TCIO
N -TCOFLUSH -TCOOFF -TCOON -TCSADRAIN -TCSAFLUSH -TCSANOW -TCSBRK -TCSETA -TCSET
AF -TCSETAW -TCSETCTTY -TCSETS -TCSETSF -TCSETSW -TCXONC -TERM_D40 -TERM_D42 -TE
RM_H45 -TERM_NONE -TERM_TEC -TERM_TEX -TERM_V10 -TERM_V61 -TIOCCBRK -TIOCCDTR -T
IOCCONS -TIOCEXCL -TIOCFLUSH -TIOCGETC -TIOCGETD -TIOCGETP -TIOCGLTC -TIOCGPGRP
-TIOCGSID -TIOCGSOFTCAR -TIOCGWINSZ -TIOCHPCL -TIOCKBOF -TIOCKBON -TIOCLBIC -TIO
CLBIS -TIOCLGET -TIOCLSET -TIOCMBIC -TIOCMBIS -TIOCMGET -TIOCMSET -TIOCM_CAR -TI
OCM_CD -TIOCM_CTS -TIOCM_DSR -TIOCM_DTR -TIOCM_LE -TIOCM_RI -TIOCM_RNG -TIOCM_RT
S -TIOCM_SR -TIOCM_ST -TIOCNOTTY -TIOCNXCL -TIOCOUTQ -TIOCREMOTE -TIOCSBRK -TIOC
SCTTY -TIOCSDTR -TIOCSETC -TIOCSETD -TIOCSETN -TIOCSETP -TIOCSIGNAL -TIOCSLTC -T
IOCSPGRP -TIOCSSID -TIOCSSOFTCAR -TIOCSTART -TIOCSTI -TIOCSTOP -TIOCSWINSZ -TM_A
NL -TM_CECHO -TM_CINVIS -TM_LCF -TM_NONE -TM_SET -TM_SNL -TOSTOP -VCEOF -VCEOL -
VDISCARD -VDSUSP -VEOF -VEOL -VEOL2 -VERASE -VINTR -VKILL -VLNEXT -VMIN -VQUIT -
VREPRINT -VSTART -VSTOP -VSUSP -VSWTCH -VT0 -VT1 -VTDLY -VTIME -VWERASE -WRAP -X
CASE -XCLUDE -XMT1EN -XTABS

WARNING!  Neither ptsname() nor ptsname_r() could be found,
so we cannot use a high-level interface like openpty().
No high-level lib or clone device has been found, we will use BSD-style ptys.
Writing IO::Tty::Constant.pm...
DEFINE =
Checking if your kit is complete...
Looks good
Writing Makefile for IO::Tty
Writing MYMETA.yml and MYMETA.json
cp Tty.pm blib\lib\IO\Tty.pm
cp Tty/Constant.pm blib\lib\IO\Tty\Constant.pm
cp Pty.pm blib\lib\IO\Pty.pm
C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp  -typemap
C:\strawberry\perl\lib\ExtUtils\typemap  Tty.xs > Tty.xsc && C:\strawberry\perl
\bin\perl.exe -MExtUtils::Command -e mv -- Tty.xsc Tty.c
gcc -c          -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -
DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -s -O2     -DVERSION=\"1.
10\"    -DXS_VERSION=\"1.10\"  "-IC:\strawberry\perl\lib\CORE"   Tty.c
Tty.xs:54:23: fatal error: sys/ioctl.h: No such file or directorycompilation terminated.
dmake.exe:  Error code 129, while making 'Tty.o'
  TODDR/IO-Tty-1.10.tar.gz
  C:\strawberry\c\bin\dmake.exe -- NOT OK
Running make test
Can't test without successful makeRunning make install
  Make had returned bad status, install seems impossible
Stopping: 'install' failed for 'IO::Tty'.
Failed during this command:
TODDR/IO-Tty-1.10.tar.gz                     : make NO


cpan>
看样子,不仅提示make错误,还少文件,我从cpan.perl.org下载了一个io::Tty的1.07版本,重新装了,也是这个错误
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP