LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1674|回复: 19

编译e17时出现如下错误

[复制链接]
发表于 2006-3-10 10:07:54 | 显示全部楼层 |阅读模式
IUM_PC=5 -DFAST_PC=6 -DE17_PROFILE=SLOW_PC \
../../data/init/init.edc \
../../data/init/init.edj
/usr/bin/edje_cc: Opening "/tmp/edje_cc.edc-tmp-qtEzJo" for input
/usr/bin/edje_cc: Parsing input file
/usr/bin/edje_cc: Parsing done
/usr/bin/edje_cc: Wrote      1072 bytes (   1Kb) for "edje_file" header
/usr/bin/edje_cc: Wrote     39910 bytes (  39Kb) for "fonts/Edje Vera" font entry "Vera.ttf" compress: [real: 39.5%]
/usr/bin/edje_cc: Wrote     36494 bytes (  36Kb) for "fonts/Edje Vera Bold" font entry "VeraBd.ttf" compress: [real: 37.8%]
Error. cannot create buffer engine canvas for image load.

evas和开发包已经安装。
查了查google,只找到两条,而且没有解决办法。
发表于 2006-3-10 12:30:23 | 显示全部楼层
Post by sejishikong
IUM_PC=5 -DFAST_PC=6 -DE17_PROFILE=SLOW_PC \
../../data/init/init.edc \
../../data/init/init.edj
/usr/bin/edje_cc: Opening "/tmp/edje_cc.edc-tmp-qtEzJo" for input
/usr/bin/edje_cc: Parsing input file
/usr/bin/edje_cc: Parsing done
/usr/bin/edje_cc: Wrote      1072 bytes (   1Kb) for "edje_file" header
/usr/bin/edje_cc: Wrote     39910 bytes (  39Kb) for "fonts/Edje Vera" font entry "Vera.ttf" compress: [real: 39.5%]
/usr/bin/edje_cc: Wrote     36494 bytes (  36Kb) for "fonts/Edje Vera Bold" font entry "VeraBd.ttf" compress: [real: 37.8%]
Error. cannot create buffer engine canvas for image load.

evas和开发包已经安装。
查了查google,只找到两条,而且没有解决办法。




你是不是编译的CVS的 ?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-10 16:12:50 | 显示全部楼层
嗯,是的。六个字
回复 支持 反对

使用道具 举报

发表于 2006-3-10 18:16:19 | 显示全部楼层
edb有没有安装
先装edb 再装evas

对照get-e.org 上的 e17 user guide 里面依赖按顺序编译安装
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-10 19:46:34 | 显示全部楼层
我是按照这个顺序安装的,仍然不行,编译应该和显卡没有关系吧.
回复 支持 反对

使用道具 举报

发表于 2006-3-10 21:27:13 | 显示全部楼层
没有关系 把evas编译时出现的提示写一下看看
也就是
./autogen.sh 然后出现的提示
最好是那个user guide里面声明依赖的所有autogen.sh的提示都写上来
回复 支持 反对

使用道具 举报

发表于 2006-3-11 01:33:45 | 显示全部楼层
无双报导下E17的最新动态吧, 好久没关注了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-11 10:43:38 | 显示全部楼层
------------------------------------------------------------------------
evas 0.9.9.023
------------------------------------------------------------------------

Configuration Options Summary:

Engines:
  Software X11............: yes
  Software XCB............: no
  Software Framebuffer....: yes
  Software Qtopia.........: no
  Software Memory Buffer..: yes
  DirectFB................: no
  OpenGL X11..............: no
  Cairo X11...............: no
  XRender X11.............: yes

Image Loaders:
  PNG.....................: yes
  JPEG....................: yes
  EET.....................: yes
  EDB.....................: yes

Font Sourcing Systems:
  EET.....................: yes

CPU Specific Extensions:
  Fallback C Code.........: yes
  MMX.....................: yes
  SSE.....................: yes
  ALTIVEC.................: no

ARGB Software Engine Options:
  Sampling Scaler.........: yes
  Smooth Scaler...........: yes
  YUV Converter...........: yes

ARGB Conversion Options:
  Smaller Dither Mask.....: no
  8bpp RGB 332............: yes
  8bpp RGB 666............: yes
  8bpp RGB 232............: yes
  8bpp RGB 222............: yes
  8bpp RGB 221............: yes
  8bpp RGB 121............: yes
  8bpp RGB 111............: yes
  16bpp RGB 565...........: yes
  16bpp RGB 555...........: yes
  16bpp RGB 444...........: yes
  16bpp RGB 565 (444 ipaq): yes
  16bpp Rotation 0........: yes
  16bpp Rotation 90.......: yes
  16bpp Rotation 270......: yes
  24bpp RGB 888...........: yes
  24bpp BGR 888...........: yes
  32bpp RGB 8888..........: yes
  32bpp RGBX 8888.........: yes
  32bpp BGR 8888..........: yes
  32bpp BGRX 8888.........: yes
  32bpp Rotation 0........: yes
  32bpp Rotation 90.......: yes
  32bpp Rotation 270......: yes

------------------------------------------------------------------------

Now type 'make' ('gmake' on some systems) to compile evas,
and then afterwards as root (or the user who will install this), type
'make install'. Change users with 'su' or 'sudo' appropriately.
回复 支持 反对

使用道具 举报

发表于 2006-3-13 14:00:57 | 显示全部楼层
晚上我回家编译看看

E17最近的修改就是完善控制面板里面的功能

其它的改动不是很大
回复 支持 反对

使用道具 举报

发表于 2006-3-14 21:06:13 | 显示全部楼层
使用下面的脚本编译过 没问题

不过今天cvs一直登录不上 无法下载最新代码
你可以试试看能不能成功

如果安装成功 然后想安装全部的efl程序的话可以把
do_install(@e17objs);
修改成
do_install(@eflobjs);

  1. #!/usr/bin/perl
  2. #
  3. use strict;
  4. use FileHandle;

  5. my  $autobuilddir   = 1;    #   if true,then auto build all directory
  6. my  $autobuild       = 1;   #   if true,auto build all packages in a directory
  7. my  $autocvs        = 0;    #   if true, auto download source code from CVS
  8. my  $usedeb       = 0;            #   if true, will create deb and install deb package,else use "make install" to install
  9. my @e17objs =(
  10.               ['e17/libs','../..',
  11.               'eet',
  12.               'evas',
  13.               'ecore',
  14.               'embryo'
  15.               ],
  16.               ['e17/apps','../..',
  17.               'e'
  18.               ],
  19.              );
  20. my @eflobjs =(
  21.               ['e17/libs','../..',
  22.               'eet',
  23.               'edb',
  24.               'evas',
  25.               'ecore',
  26.               'embryo',
  27.               'imlib2',
  28.               'edje',
  29.               'epeg',
  30.               'epsilon',
  31.               'esmart',
  32.               'emotion',#        (note that you'll need to have xine-lib installed as emotion uses it)
  33.               'engrave',#        (this is currently needed for e_utils only)
  34.               'ewl',        #        (this is needed for some apps only)
  35.               'etox'
  36.               ],
  37.               ['e17/proto','../..',
  38.               'etk'         #        (this is needed for some apps only)
  39.               ],
  40.               ['e17/apps','../..',
  41.               'e',
  42.               'entice',        #         (image viewer)
  43.               'entrance',#         (login manager)
  44.               'eclair',        #         (media player)
  45.               'elicit'         #         (color picker/screen magnifier)
  46.               ],
  47.               ['misc','..',
  48.               'engage',        #         (standalone dockbar and E17 module)
  49.               'erss',        #         (RSS feed application that does not work correctly in E17)
  50.               'embrace' #         (mail checker and E17 module)
  51.               ],
  52.               ['misc','..',
  53.               'entropy',#         (file manager)
  54.               'exhibit'        #         (image viwer)
  55.               ],
  56.               );

  57. my  $fd_build     = new FileHandle ">build.log";
  58. my  $fd_screen  = new FileHandle ">screen.log";

  59. check_debbuildenv();    # if you don't want to build deb package, comment this line
  60. get_cvs()       if($autocvs);
  61. do_install(@e17objs);

  62. close($fd_build);
  63. close($fd_screen);


  64. sub do_install(){
  65.     my @compileobjs = @_;
  66.     log_screen("\n\nstart build debian packages\n\n");
  67.     my $objs;
  68.     foreach $objs (@compileobjs){
  69.         my   @objarray   = @$objs;
  70.         my   $dir       = shift(@objarray);
  71.         my   $back_dir   = shift(@objarray);
  72.         if( ! -d $dir ){
  73.             log_screen("dir:$dir not exist,will skip compile it\n");
  74.             next;
  75.         }
  76.         next if( (!$autobuilddir)
  77.                  && (!choseact("are you want to build dir:$dir\n")) );

  78.         log_screen("start parse:<<<<<   $dir  >>>>>: back:$back_dir\n");
  79.         chdir $dir;
  80.         system('rm -f *.deb *.dsc *.tar.gz *.changes');

  81.         my   $subdir;
  82.         foreach $subdir (@objarray){
  83.             if( !(-d $subdir) ){
  84.                 log_screen("dir:$subdir not exist,skip compile it\n");
  85.                 next;
  86.             }
  87.             chdir($subdir);
  88.             while( parsedir($subdir) ){}
  89.             $fd_build->autoflush(1);
  90.             log_screen("\n");
  91.             chdir("../");
  92.             system('rm -f *.dsc *.tar.gz *.changes');
  93.         }
  94.         chdir $back_dir;
  95.     }
  96. }




  97. sub parsedir()
  98. {
  99.     my $pkg   = $_[0];
  100.     log_screen("\n\nenter directory:".$pkg."\n");
  101.     return 0 if((!$autobuild) && (!choseact("are you want to build:$pkg\n")) );
  102.     my $curpwd   = qx(pwd);
  103.     chomp($curpwd);

  104.     $fd_build->autoflush(0);
  105.     log_screen("\tcur dir is:\n\t$curpwd\n");
  106.     log_screen("\trun:   dpkg-buildpackage -us -uc -rfakeroot 2>&1\n");

  107.     chmod 755,'debian/rules' if(! -x 'debian/rules');
  108.     chmod 755,'autogen.sh' if(! -x 'autogen.sh');
  109.     system("make distclean >/dev/null 2>&1");

  110.     if(!$usedeb){
  111. #if you don't use deb,then you can call these line
  112.         run_cmd('./autogen.sh --prefix=/usr');
  113.         run_cmd('make');
  114.         run_cmd('make uninstall');
  115.         run_cmd('make install');
  116.         return ;
  117.     }

  118.     system('cp debian/changelog.in debian/changelog >/dev/null 2>&1') if(! -f 'debian/changelog');

  119.     open(MAKEFI,"dpkg-buildpackage -us -uc -rfakeroot 2>&1|") || die "exec fail\n";
  120.     log_screen( 'dpkg-buildpackage -us -uc -rfakeroot 2>&1'."\n");

  121.     my @pkgs;
  122.     my $line;
  123.     while($line=<MAKEFI>){
  124.         my $notlog   = 1;
  125.         if($line=~m/\berror\b/i){
  126.             if($line!~m/dpkg-genchanges:\s+error:\s+cannot\s+open\s+\.dsc/){
  127.                 $notlog = 0;
  128.                 log_screen($line);
  129.             }
  130.         }
  131.         log_build( $line) if($notlog);

  132.         if($line=~m/\bUnmet\s+build\s+dependencies\b/i){
  133.             log_screen($line);
  134.             log_screen("are you want to install missing dependence then rebuild this package or skip build this package(default:skip)\n");
  135.             log_screen("press n to skip,else you press 'Y' after finish install missing packages\n");
  136.             return choseact("") ;
  137.         }
  138.         next if($line!~m/dpkg-deb:\s+building\s+package\s+\`([^']+)\'\s+in\s+\`([^']+)\'/);

  139.         log_screen("\tpkg:[$1:\t$2]\n");
  140.         push(@pkgs,$2);
  141.     }
  142.     close(MAKEFI);

  143.     if($#pkgs < 0){
  144.         log_screen("error no package found,build message is write to build.log file\n");
  145.     }
  146.     else{
  147.         my $pkgfile = join(" ",@pkgs);
  148.         log_screen( "\n>>>>>>>>>\n\tdpkg -i $pkgfile\n\n");
  149.         run_cmd("dpkg -i $pkgfile");
  150.     }
  151.     log_screen("\n");
  152.     return 0;
  153. }





  154. #
  155. #   choose user select
  156. #
  157. sub choseact()
  158. {
  159.     log_screen( $_[0]."\nplease input yes or no [Y]\n");
  160.     my $in=<STDIN>;
  161.     if($in=~m/n/i){
  162.         log_screen( "cancel\n");
  163.         return 0;
  164.     }
  165.     log_screen( "\n");
  166.     return 1;
  167. }


  168. #
  169. #   downlaod E17 source code from CVS
  170. #
  171. sub get_cvs()
  172. {
  173.     print   "get CVS source code\n";
  174.     print   "login CVS:,when need you input password,press return directly\n";
  175.     print   'cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment login'."\n";
  176.     system('cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment login');
  177.     print   'chech out E17:'."\n";
  178.     print   'cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e17'."\n";
  179.     system('cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e17');
  180.     print   'chech out Misc:'."\n";
  181.     print   'cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co misc'."\n";
  182.     system('cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co misc');
  183. }

  184. #
  185. #   check debian build env
  186. #
  187. sub check_debbuildenv()
  188. {
  189.     my @pkglist = qx(dpkg --get-selections);
  190.     my $lines   = join(':',@pkglist);

  191.     check_pkg($lines,"autoconf",1);
  192.     check_pkg($lines,"automake",1,"(version >=1.7)");
  193.     check_pkg($lines,"libtool",1);
  194.     check_pkg($lines,"pkg-config",1);

  195.     if($usedeb){
  196.         check_pkg($lines,"fakeroot",1);
  197.         check_pkg($lines,"dpkg-dev",1);
  198.     }

  199.     check_pkg($lines,"libxcursor-dev",0,"(it may need by ecore,if link ecore fail, please install it)");

  200.     log_screen("if you use xorg,then build script report xlibs-dev not install, you need to modify the {directory}/debian/control file, change xlibs-dev to libx11-dev\n");
  201. }
  202. sub check_pkg()
  203. {
  204.     my  ($pkglists,$pkgname,$exitmode,$version)=@_;
  205.     my  $exit   = 0;
  206.     $exit       = 1 if( $pkglists!~m/\b$pkgname[^:]*\s+install/);
  207.     if( $exit ){
  208.         log_screen("WARNNING: ") if(! $exitmode );
  209.         log_screen("you don't install $pkgname, please use \n\tapt-get install $pkgname\n to install it.$version \n");
  210.         die if( $exitmode );
  211.     }
  212. }



  213. #
  214. #   run a command,and log command output to screen.log
  215. #
  216. sub run_cmd()
  217. {
  218.     my $cmd   = $_[0];
  219.     my $fd;
  220.     open($fd,"$cmd 2>&1 |");
  221.     if( ! $fd ){
  222.         log_screen("exec $cmd fail,check if this command exist\n");
  223.         die;
  224.     }
  225.     my $line;
  226.     while($line=<$fd>){
  227.         log_screen($line);
  228.     }
  229. }

  230. #
  231. #   log screen output
  232. #
  233. sub log_screen()
  234. {
  235.     print   @_;
  236.     print   $fd_screen @_;
  237.     log_build(@_);
  238. }

  239. #
  240. #   log build result to build.log
  241. #
  242. sub log_build()
  243. {
  244.     print   $fd_build @_;
  245. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表