• Perl Tk摸索


    在安装Tk的过程当中各种错误,让人无比的蛋疼。

    记录下过程,方便以后回顾学习。

    第一个错误:

        Going to read '/root/.cpan/Metadata'
          Database was generated on Thu, 09 May 2013 04:17:04 GMT
        Running install for module 'Tk'
        Running make for S/SR/SREZIC/Tk-804.030.tar.gz
        Checksum for /root/.cpan/sources/authors/id/S/SR/SREZIC/Tk-804.030.tar.gz ok
    
          CPAN.pm: Going to build S/SR/SREZIC/Tk-804.030.tar.gz
    
        /usr/bin/perl is installed in /usr/lib/perl/5.14 okay
        PPM for perl5.014002
        Test Compiling config/perlrx.c
        Test Compiling config/pmop.c
        Test Compiling config/pregcomp2.c
        Test Compiling config/regexp511.c
        Test Compiling config/signedchar.c
        Test Compiling config/Ksprintf.c
        Test Compiling config/svtrv.c
        Test Compiling config/tod.c
        Test Compiling -DTIMEOFDAY_TZ config/tod.c
        TZ gettimeofday()
        Using -L/usr/lib/x86_64-linux-gnu to find /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
        Cannot find X include files via /include
        Cannot find X include files anywhere.
        You probably need to install the X11 development package first.
        On Debian Linux, these are the packages libx11-dev and x-dev.
        Please see README.linux for more information.
        No 'Makefile' created'YAML' not installed, will not store persistent state
          SREZIC/Tk-804.030.tar.gz
          /usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK
        Running make test
          Make had some problems, won't test
        Running make install
          Make had some problems, won't install
        Could not read metadata file. Falling back to other methods to determine prerequisites

    该错误的解决办法:

    Debian:
    apt-get install libX11-dev

    接着新的错误:

          
    chmod 755 ../blib/arch/auto/Tk/Scrollbar/Scrollbar.so
    cp Scrollbar.bs ../blib/arch/auto/Tk/Scrollbar/Scrollbar.bs
    chmod 644 ../blib/arch/auto/Tk/Scrollbar/Scrollbar.bs
    make[1]: Leaving directory `/root/.cpan/build/Tk-804.030-znJcGu/Scrollbar'
    make[1]: Entering directory `/root/.cpan/build/Tk-804.030-znJcGu/Scale'
    cp Scale.pm ../blib/lib/Tk/Scale.pm
    AutoSplitting ../blib/lib/Tk/Scale.pm (../blib/lib/auto/Tk/Scale)
    /usr/bin/perl /usr/share/perl/5.14.2/ExtUtils/xsubpp  -typemap /usr/share/perl/5.14/ExtUtils/typemap -typemap /root/.cpan/build/Tk-804.030-znJcGu/Tk/typemap  Scale.xs > Scale.xsc && mv Scale.xsc Scale.c
    cc -c  -I..  -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g   -DVERSION=\"804.03\" -DXS_VERSION=\"804.03\" -fPIC "-I/usr/lib/perl/5.14/CORE"   -Wall -Wno-implicit-int -Wno-comment -Wno-unused -D__USE_FIXED_PROTOTYPES__ Scale.c
    Running Mkbootstrap for Tk::Scale ()
    chmod 644 Scale.bs
    rm -f ../blib/arch/auto/Tk/Scale/Scale.so
    cc  -shared -L/usr/local/lib -fstack-protector Scale.o  -o ../blib/arch/auto/Tk/Scale/Scale.so ../pTk/libpTk.a    \
           -lm      \
          
    chmod 755 ../blib/arch/auto/Tk/Scale/Scale.so
    cp Scale.bs ../blib/arch/auto/Tk/Scale/Scale.bs
    chmod 644 ../blib/arch/auto/Tk/Scale/Scale.bs
    make[1]: Leaving directory `/root/.cpan/build/Tk-804.030-znJcGu/Scale'
    make[1]: Entering directory `/root/.cpan/build/Tk-804.030-znJcGu/PNG'
    cp PNG.pm ../blib/lib/Tk/PNG.pm
    cd zlib && make libz.a "CC=cc -fPIC" RANLIB=":"
    make[2]: Entering directory `/root/.cpan/build/Tk-804.030-znJcGu/PNG/zlib'
    cc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DUSE_MMAP   -c -o adler32.o adler32.c
    cc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DUSE_MMAP   -c -o compress.o compress.c
    cc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DUSE_MMAP   -c -o crc32.o crc32.c
    cc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DUSE_MMAP   -c -o gzio.o gzio.c
    cc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DUSE_MMAP   -c -o uncompr.o uncompr.c
    cc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DUSE_MMAP   -c -o deflate.o deflate.c
    cc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DUSE_MMAP   -c -o trees.o trees.c
    cc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DUSE_MMAP   -c -o zutil.o zutil.c
    cc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DUSE_MMAP   -c -o inflate.o inflate.c
    cc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DUSE_MMAP   -c -o infback.o infback.c
    cc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DUSE_MMAP   -c -o inftrees.o inftrees.c
    cc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DUSE_MMAP   -c -o inffast.o inffast.c
    ar rc libz.a adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o 
    make[2]: Leaving directory `/root/.cpan/build/Tk-804.030-znJcGu/PNG/zlib'
    cd libpng && make libpng.a "CC=cc -fPIC" RANLIB=":"
    make[2]: Entering directory `/root/.cpan/build/Tk-804.030-znJcGu/PNG/libpng'
    make[2]: *** 没有规则可以创建“libpng.a”需要的目标“all”。 停止。
    make[2]: Leaving directory `/root/.cpan/build/Tk-804.030-znJcGu/PNG/libpng'
    make[1]: *** [libpng/libpng.a] 错误 2
    make[1]: Leaving directory `/root/.cpan/build/Tk-804.030-znJcGu/PNG'
    make: *** [subdirs] 错误 2
      SREZIC/Tk-804.030.tar.gz
      /usr/bin/make -- NOT OK
    'YAML' not installed, will not store persistent state
    Running make test
      Can't test without successful make
    Running make install
      Make had returned bad status, install seems impossible

    这个错误还在想办法。分析下。

    感觉极有可能是PNG的库问题。再次安装。

    apt-get install libpng12-dev
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树       
    正在读取状态信息... 完成       
    下列软件包是自动安装的并且现在不需要了:
      xscreensaver-data
    Use 'apt-get autoremove' to remove it.
    将会安装下列额外的软件包:
      zlib1g-dev
    下列【新】软件包将被安装:
      libpng12-dev zlib1g-dev
    升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 236 个软件包未被升级。
    需要下载 481 kB 的软件包。
    解压缩后会消耗掉 1,034 kB 的额外空间。
    您希望继续执行吗?[Y/n]y
    获取:1 http://http.debian.net/debian/ wheezy/main zlib1g-dev amd64 1:1.2.7.dfsg-13 [215 kB]
    获取:2 http://http.debian.net/debian/ wheezy/main libpng12-dev amd64 1.2.49-1 [266 kB]
    下载 481 kB,耗时 3秒 (134 kB/s)       
    Selecting previously unselected package zlib1g-dev:amd64.
    (正在读取数据库 ... 系统当前共安装有 105931 个文件和目录。)
    正在解压缩 zlib1g-dev:amd64 (从 .../zlib1g-dev_1%3a1.2.7.dfsg-13_amd64.deb) ...
    Selecting previously unselected package libpng12-dev.
    正在解压缩 libpng12-dev (从 .../libpng12-dev_1.2.49-1_amd64.deb) ...
    正在处理用于 man-db 的触发器...
    正在设置 zlib1g-dev:amd64 (1:1.2.7.dfsg-13) ...
    正在设置 libpng12-dev (1.2.49-1) ...

    继续安装试试。。

    还是有问题:

    # Start destroy 0
    t/wm-time.t .................. ok   
    t/wm.t ....................... ok   
    t/X.t ........................ ok   
    t/zzHList.t .................. ok     
    t/zzPhoto.t .................. ok     
    t/zzScrolled.t ............... ok     
    t/zzText.t ................... ok     
    t/zzTixGrid.t ................ ok     
    
    Test Summary Report
    -------------------
    t/canvas.t                 (Wstat: 0 Tests: 166 Failed: 0)
      TODO passed:   124
    t/listbox.t                (Wstat: 0 Tests: 537 Failed: 0)
      TODO passed:   320-322, 328
    t/text.t                   (Wstat: 0 Tests: 415 Failed: 0)
      TODO passed:   121
    t/unicode.t                (Wstat: 256 Tests: 13 Failed: 1)
      Failed test:  9
      Non-zero exit status: 1
    t/wm-tcl.t                 (Wstat: 0 Tests: 315 Failed: 0)
      TODO passed:   86-87, 154-157, 164-165, 175-178, 221-224
                    237-239, 264-269, 275-276, 280-283, 300
    t/zzScrolled.t             (Wstat: 0 Tests: 94 Failed: 0)
      TODO passed:   52, 66, 80, 94
    Files=72, Tests=4331, 53 wallclock secs ( 1.14 usr  0.11 sys + 13.72 cusr  1.21 csys = 16.18 CPU)
    Result: FAIL
    Failed 1/72 test programs. 1/4331 subtests failed.
    make: *** [test_dynamic] 错误 255
      SREZIC/Tk-804.030.tar.gz
      /usr/bin/make test -- NOT OK
    //hint// to see the cpan-testers results for installing this module, try:
      reports SREZIC/Tk-804.030.tar.gz
    Running make install
      make test had returned bad status, won't install without force

    继续研究下错误!

    2013-5-9

    手动make install就好。不需要理会它。

  • 相关阅读:
    Django contenttypes 组件
    CPU 的工作原理
    Redis基础
    面向对象中的__slots__
    DRF 的解析器和渲染器
    DRF的认证、权限 和 限制
    DRF中的版本控制
    REST framework 视图
    Java多线程(1):3种常用的实现多线程类的方法
    Java多线程(2):线程加入/join()
  • 原文地址:https://www.cnblogs.com/xiaoCon/p/3069343.html
Copyright © 2020-2023  润新知