Cloud Found使用dev_setup进行单节点部署之排错分析

来源:互联网 发布:免费配音制作软件 编辑:程序博客网 时间:2024/05/29 17:55
转载:http://blog.csdn.net/wearenoth/article/details/8035968

最近开始学云计算,看了一些基本概念的书,发现以前的很多知识现在都用的上。只是有一些新的知识需要学习。

废话不多说,遇到的第一个问题就是如何用Cloud Foundry部署一个自己的集群,当然第一步就是做一个单节点的PaaS平台。

网上就有如何布置安装的帖子,我何必多说,我只说一些自己在弄的过程中遇到的一些问题,以及如何解决的。其实这些方法很具有通用性,在很多场合下都很适用的。

我争取以类型说明,因为每个人的电脑出现的问题都不一定一样,学会分析的方法反而更重要。


注意:因为我Cloud Foundry是在ubuntu上安装的,下面的具体解决方法中有是ubuntu上的方法,其他发行版其实方法一样,只是使用的命令不同而已。注意区分就行了。


问题1--缺少动态库

特点:如果学过编译链接原理的就知道,在链接过程中需要指定使用的链接库,使用的命令就是ld,所以注意下面的信息,观察到STDERR:一行,首先是ld命令引起,意味着链接过程出问题了,然后是说明: cannot find -lncurses。意思就是找不到名字为ncurses的动态库。这种错误还是很明显的。

[html] view plaincopy
  1. gcc -O2 -Wall -DLUA_USE_LINUX   -c -o linit.o linit.c  
  2. ar rcu liblua.a lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o  
  3. ranlib liblua.a  
  4. gcc -O2 -Wall -DLUA_USE_LINUX   -c -o lua.o lua.c  
  5. gcc -o lua  lua.o liblua.a -lm -Wl,-E -ldl -lreadline -lhistory -lncurses  
  6. make[2]: Leaving directory `/tmp/lua-5.1.4/src'  
  7. make[1]: Leaving directory `/tmp/lua-5.1.4/src'  
  8. STDERR: /usr/bin/ld: cannot find -lncurses  
  9. collect2: ld returned 1 exit status  
  10. make[2]: *** [lua] Error 1  
  11. make[1]: *** [linux] Error 2  
  12. make: *** [linux] Error 2  
  13. ---- End output of "bash"  "/tmp/chef-script20120930-23056-vcj5jy-0" ----  
  14. Ran "bash"  "/tmp/chef-script20120930-23056-vcj5jy-0" returned 2  

解决思路:既然找不到,一般是两种情况:

(1)链接脚本出问题了

(2)系统中没有安装这个动态库

一般情况下,我们不会去动这个脚本,所以第一反映就是没有装这个动态库,所以解决方法就是找到这个库并安装。要安装一般也有两种办法:

(1)下载源码自己编译,但是这种情况很少出现

(2)在软件源中搜索相应的动态库安装。一般都这种解决。

解决:知道问题所在了,那接下来要具体怎么做,其实也很简单,分两步走:

(1)搜索这个动态库的名字

(2)安装这个动态库

好了,整个过程就像上面说的解决,现在看看我们是怎么解决的吧。第一,在ubuntu下动态库的名字都是以“lib”开头;第二、确定动态库大概的名字,从上面的错误信息来看,动态库的名字叫做“ncurses”,中间的"-l"是“-link”的意思,是编译过程中的标准语法。所以我们确定我们需要的动态库名称可能叫做“libncurses”。OK,然后我们搜索一下,得到如下结果:

[html] view plaincopy
  1. ubuntu@cloudfoundry:~$ apt-cache search libncurses  
  2. libncurses5 - shared libraries for terminal handling  
  3. libncurses5-dbg - debugging/profiling libraries for ncurses  
  4. libncurses5-dev - developer's libraries for ncurses  
  5. libncursesw5 - shared libraries for terminal handling (wide character support)  
  6. libncursesw5-dbg - debugging/profiling libraries for ncursesw  
  7. libncursesw5-dev - developer's libraries for ncursesw  
  8. centerim-utf8 - A text-mode multi-protocol instant messenger client  
  9. libncurses-gst - Ncurses bindings for GNU Smalltalk  
  10. libncurses-ruby - Transitional package for ruby-ncurses  
  11. libncurses-ruby1.8 - Transitional package for ruby-ncurses  
  12. libncurses-ruby1.9 - Transitional package for ruby-ncurses  
  13. libncurses-ruby1.9.1 - Transitional package for ruby-ncurses  
  14. libncursesada-dbg - Ada binding to the ncurses text interface library: debug symbols  
  15. libncursesada-doc - Ada binding to the ncurses text interface library: documentation  
  16. libncursesada2 - Ada binding to the ncurses text interface library: shared library  
  17. libncursesada2-dev - Ada binding to the ncurses text interface library: development  
  18. ruby-ncurses - ruby extension for the ncurses C library  
看到这么多,是不是很晕,这种时候就要大致分析可能哪个是自己需要的了。因为Cloud Foundry是用Ruby开发的,所以我觉得和Ruby相关的libncurses-ruby可能是我需要的,当然为了保险,我也装了libncurses5,当然哪个才是对的我也不知道,实在不行多装几个,总有成功的时候,只是我装了以后,第二次就没有遇到这个问题了。所以地一个问题算比较漂亮的解决了。
注:命令apt-cache search XXX是在软件原列表中搜索的意思。


问题2、configure过程出现错误

特点:这个错误我一开始认为是因为缺少这个叫odbc的错误引起的,但是装了odbc后还是出错,后来发现这里的信息应该这样看:STDERR: configure: WARNING: No odbc library found skipping odbc。出错的地方是configure,意思是配置文件在你初始化配置的时候出现错误。

注:当时还出现下面的错误信息,其实这部分信息不止一个错误,但是我们先关注第一个错。

[html] view plaincopy
  1. STDERR: configure: WARNING: No odbc library found skipping odbc  
  2. configure: WARNING: "ODBC library - link check failed"  
  3. configure: WARNING: No OpenGL headers found, wx will NOT be usable  
  4. configure: WARNING:  
  5.                 wxWidgets must be installed on your system.  
  6.   
  7.         Please check that wx-config is in path, the directory  
  8.         where wxWidgets libraries are installed (returned by  
  9.         'wx-config --libs' or 'wx-config --static --libs' command)  
  10.         is in LD_LIBRARY_PATH or equivalent variable and  
  11.         wxWidgets version is 2.8.4 or above.  
  12. configure: WARNING: No 'xsltproc' command found: the documentation cannot be built  
  13. configure: WARNING: No 'fop' command found: going to generate placeholder PDF files  
  14. gcc: fatal error: no input files  
  15. compilation terminated.  
  16. make[3]: *** [../ebin/hipe_consttab.beam] Aborted  
  17. make[2]: *** [opt] Error 2  
  18. make[1]: *** [opt] Error 2  
  19. make: *** [secondary_bootstrap_build] Error 2  
  20. make[3]: *** [../ebin/hipe_consttab.beam] Aborted  
  21. make[2]: *** [opt] Error 2  
  22. make[1]: *** [opt] Error 2  
  23. make: *** [secondary_bootstrap_build] Error 2  
  24. ---- End output of "bash"  "/tmp/chef-script20120930-18247-lp90nh-0" ----  
  25. Ran "bash"  "/tmp/chef-script20120930-18247-lp90nh-0" returned 2  

那怎么解决这个问题呢?当然是去找这个configure文件,然后定位到出错这一行,看看它到底要做什么。

不过我当时比较懒,而且问了一下度娘一下子就找到答案了,所以也就没去看configure文件了。不过我们学学对方怎么分析的吧

浏览了一下configure的log,发县有"No odbc library found skipping odbc",将问题定位到了$src/lib/odbc/configure.in 178行 

[html] view plaincopy
  1. if test -f "$dir/include/sql.h"; then    
  2.   is_odbc_std_location=yes    
  3.   ODBC_LIB=-L"$dir/lib"    
  4.   ODBC_INCLUDE="-I$dir/include"    
  5.   break    
  6. fi    
缺少头文件sql.h,所以这个问题其实和libiodbc、libodbc没有关系,需要的是unixodbc和unixodbc-dev。 

不过我现在也有疑问,作者是如何根据缺少sql.h就能判断缺少后面的两个东西的?

注:这种缺少头文件的情况下,会有大量的提示信息找不到XXX符号,这也是一种比较明显的提示信息了。

这种在configure中出现的问题要如何解决,我正在探索中,大家也不妨去找找相关的文章看看是怎么解决的,应该有一个解决方法的。

注:现在提供的很多源码包都会带有configure文件,我们在编译之前,都会执行这个configure文件,它会检测我们系统的情况生成相应的Makefile文件。



问题3、还是configure错误

特点:这个还是configure的错误,为什么我还讲呢?主要是这个错误很好,它在后面给出了提示。比起问题2中的没头没脑的去看configure文件外,这个提示对我们来说很宝贵,所以我们来分析分析。首先它提示说,找不到OpenGL的头文件,我一开始以为需要装OpenGL的动态库,后来装了以后还是有这个问题,说明我想法是错的。然后看后面的WARRING的提示,要求我们必须安装wxWidgets,而且还提示了,如果成功了,可以用wx-config命令进行检查。所以这些就是我们现在需要注意的信息了。

注:后面还有3个错误,这次我们不关注。

[html] view plaincopy
  1. STDERR: configure: WARNING: No OpenGL headers found, wx will NOT be usable  
  2. configure: WARNING:  
  3.                 wxWidgets must be installed on your system.  
  4.   
  5.         Please check that wx-config is in path, the directory  
  6.         where wxWidgets libraries are installed (returned by  
  7.         'wx-config --libs' or 'wx-config --static --libs' command)  
  8.         is in LD_LIBRARY_PATH or equivalent variable and  
  9.         wxWidgets version is 2.8.4 or above.  
  10. configure: WARNING: No 'xsltproc' command found: the documentation cannot be built  
  11. configure: WARNING: No 'fop' command found: going to generate placeholder PDF files  
  12. gcc: fatal error: no input files  
解决思路:我们现在知道1个关键词“wxwidgets”,所以第一步找到和这个关键词相关的软件有哪些。第二步就是我们使用wx-config命令来检查自己成功没有。

解决过程:首先搜索,列表如下,第一眼晕死,这里我弄了很久,基本很多都给试过去了,最后弄到libalien-wxwidgets-perl的时候成功了,我就有wx-config这个命令了。

[html] view plaincopy
  1. ubuntu@cloudfoundry:~$ apt-cache search wxwidgets  
  2. codeblocks-contrib - contrib plugins for Code::Blocks IDE  
  3. codeblocks-contrib-dbg - Debugging libraries for the Code::Blocks contrib plugins  
  4. filezilla - Full-featured graphical FTP/FTPS/SFTP client  
  5. filezilla-common - Architecture independent files for filezilla  
  6. fontypython - Find, view and manage font files of all kinds  
  7. jmdlx - jugglemaster deluxe using wxWidgets  
  8. libalien-wxwidgets-perl - Perl module for locating wxWidgets binaries  
  9. libmgl-wx5 - library for scientific graphs. (wxWidgets runtime library)  
  10. libwx-perl - interface to wxWidgets cross-platform GUI toolkit  
  11. libwxbase2.6-0 - wxBase library (runtime) - non-GUI support classes of wxWidgets toolkit  
  12. ……………………………………………………  
  13. wx2.8-doc - wxWidgets Cross-platform C++ GUI toolkit (documentation)  
  14. wx2.8-examples - wxWidgets Cross-platform C++ GUI toolkit (examples)  
  15. wx2.8-headers - wxWidgets Cross-platform C++ GUI toolkit (header files)  
  16. wx2.8-i18n - wxWidgets Cross-platform C++ GUI toolkit (i18n support)  
  17. wxformbuilder - WYSIWYG GUI Designer and Code Generator for wxWidgets  
  18. wxsqlite3-2.8-dbg - Debugging symbols for wxSQLite3 2.8  
  19. wxsqlite3-doc - Documentation files for wxSQLite3  


问题4、还是configure错误

特点:是不是晕死,没错的,这次的错误提示就更诡异了,但是还是很好确定的,说白了就是我没有"wx driver"这东西。

[html] view plaincopy
  1. *********************************************************************  
  2. ********************  APPLICATIONS INFORMATION  *****************  
  3. *********************************************************************  
  4.   
  5. wx             : Can not link the wx driver, wx will NOT be useable  
  6.   
  7. *********************************************************************  
  8. *********************************************************************  
  9. ********************  DOCUMENTATION INFORMATION  ****************  
  10. *********************************************************************  
  11.   
  12. documentation  :   
  13.                  xsltproc is missing.  
  14.                  fop is missing.  
  15.                  The documentation can not be built.  
  16.   
  17. *********************************************************************  
解决思路:一开始我以“wxdriver”这个为关键词,结果尝试了很久都没有解决。这种自己分析不来的时候肯定是问度娘了。

我忘记我当时怎么搜的了,反正后来搜到的结果是缺少: freeglut3-dev libwxgtk2.8-dev 。安装以后就没问题了。


问题5、缺少相应软件

特点:command就是命令,命令就是软件,那这种有什么好说的呢。找到安装就完了。这种错误最好解决,因为基本命令的名字就是软件的名字。

[html] view plaincopy
  1. *********************************************************************  
  2. ********************  DOCUMENTATION INFORMATION  ****************  
  3. *********************************************************************  
  4.   
  5. documentation  :   
  6.                  xsltproc is missing.  
  7.                  fop is missing.  
  8.                  The documentation can not be built.  
  9.   
  10. *********************************************************************  

[html] view plaincopy
  1. configure: WARNING: No 'xsltproc' command found: the documentation cannot be built  
  2. configure: WARNING: No 'fop' command found: going to generate placeholder PDF files  


问题6、编译工具链不对

特点:这个问题往往比较容易忽略,而且很多时候也不太好发现。这种错误其实很常见,Linux不像windows,兼容可以做的那么好,所以经常出现兼容的问题。“高帅富”告诉我一个简单的判断方法,查看源码的日期,太老的源码,那用新版本的工具链绝对要出问题,当然我这边这次遇到的不是这样的,先看出错时的情况:

[html] view plaincopy
  1. make[3]: Leaving directory `/tmp/otp_src_R14B01/lib/hipe/misc'  
  2. make[2]: Leaving directory `/tmp/otp_src_R14B01/lib/hipe'  
  3. make[1]: Leaving directory `/tmp/otp_src_R14B01/lib'  
  4. STDERR: gcc: fatal error: no input files  
  5. compilation terminated.  
  6. make[3]: *** [../ebin/hipe_consttab.beam] Aborted  
  7. make[2]: *** [opt] Error 2  
  8. make[1]: *** [opt] Error 2  
  9. make: *** [secondary_bootstrap_build] Error 2  
  10. make[3]: *** [../ebin/hipe_consttab.beam] Aborted  
  11. make[2]: *** [opt] Error 2  
  12. make[1]: *** [opt] Error 2  
  13. make: *** [secondary_bootstrap_build] Error 2  
  14. ---- End output of "bash"  "/tmp/chef-script20121001-23468-1f1aaz2-0" ----  
  15. Ran "bash"  "/tmp/chef-script20121001-23468-1f1aaz2-0" returned 2  
首先确定,这个过程不是configure过程,也不是编译过程的错误(我们没有看到ld)。所以可以初步断定编译工具链版本出问题了。“ gcc: fatal error: no input files”这个错误提示也在提醒我们编译工具链版本有问题。

但是我们暂时还不知道自己在编译哪个软件。所以,第一步我要找到自己的编译哪个软件,后面的才有的说。从STDERR这行往上看,可以看到现在是在/tmp/otp_src_R14B01这个目录下,那我就进入这个目录看看是怎么回事吧。

[html] view plaincopy
  1. ubuntu@cloudfoundry:/tmp/otp_src_R14B01$ ls  
  2. AUTHORS           INSTALL.md        README.md      bin            configure               lib        prebuilt.files  
  3. EPLICENCE         Makefile          README.md.txt  bootstrap      configure.in            make       system  
  4. INSTALL-CROSS.md  Makefile.in       TAR.include    config.log     erl-build-tool-vars.sh  otp_build  xcomp  
  5. INSTALL-WIN32.md  README.bootstrap  aclocal.m4     config.status  erts                    plt  
很明显的,这是一个标准的源码包的配置。我们再make一次看看,是不是这里的问题:

[html] view plaincopy
  1. make[1]: Entering directory `/tmp/otp_src_R14B01/lib'  
  2. make[2]: Entering directory `/tmp/otp_src_R14B01/lib/hipe'  
  3. #### Entering application hipe  
  4. make[3]: Entering directory `/tmp/otp_src_R14B01/lib/hipe/misc'  
  5. erlc -W  +debug_info +warn_exported_vars +warn_missing_spec +warn_untyped_record -o../ebin hipe_consttab.erl  
  6. * buffer overflow detected *: /tmp/otp_src_R14B01/bin/x86_64-unknown-linux-gnu/beam.smp terminated  
  7. Backtrace:  
  8. ==========  
  9. /lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x2af0df5d2ee7]  
  10. /lib/x86_64-linux-gnu/libc.so.6(+0x107de0)[0x2af0df5d1de0]  
  11. /tmp/otp_src_R14B01/bin/x86_64-unknown-linux-gnu/beam.smp[0x551dbf]  
  12. /tmp/otp_src_R14B01/bin/x86_64-unknown-linux-gnu/beam.smp(erts_write_to_port+0x853)[0x47db13]  
  13. /tmp/otp_src_R14B01/bin/x86_64-unknown-linux-gnu/beam.smp[0x4f3cae]  
  14. /tmp/otp_src_R14B01/bin/x86_64-unknown-linux-gnu/beam.smp(process_main+0x4ab9)[0x5202a9]  
  15. /tmp/otp_src_R14B01/bin/x86_64-unknown-linux-gnu/beam.smp[0x48930b]  
  16. /tmp/otp_src_R14B01/bin/x86_64-unknown-linux-gnu/beam.smp[0x584fa4]  
  17. /lib/x86_64-linux-gnu/libpthread.so.0(+0x7e9a)[0x2af0df0abe9a]  
  18. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x2af0df5bc39d]  
从这里,我们可以确定就是这里出现问题了。

现在我们可以确定两点:

(1)我们编译的是otp_src_R14B01这个软件

(2)我们现在的编译工具链版本不能编译这个源码包

解决方法一般两种:

(1)到这个软件的官网上下载适合我们编译工具链的源码包

(2)把编译工具链进行降级(或升级),以适应我们的源码包。

两种办法都是可取的,但是我们这边因为这个只是整个CF节点安装的一小部分,第一种方法估计没办法,所以我们采取第二种办法。

所以现在需要查我们需要弄哪个版本的编译工具链。这种东西当然是问度娘了:

[html] view plaincopy
  1. Same error here. If I redirect stdout and stderr, I get a buffer overflow report from gcc... that's why it aborts. The first line is:  
  2.   
  3. * buffer overflow detected *: /tmp/otp_src_R14B01/bin/x86_64-unknown-linux-gnu/beam terminated  
  4.   
  5. This appears to be a conflict between Erlang/OTP R14B01 and gcc-4.5+... basically there's some functionality enabled that attempts to detect buffer overflows, and it thinks the Erlang code has one. If you google around you should be able to find it. My (secondary!) research indicates someone concluded there is *not* a buffer overflow, but Erlang is behaving oddly and causing the check to fail.  
  6.   
  7. Anyway, it appears this was fixed shortly after R14B01, and should be fine in R14B02:  
  8. http://www.erlang.org/download/otp_src_R14B02.readme (search for OTP-9025).  
  9.   
  10. CloudFoundry however is deliberately pinned to the old version: https://github.com/cloudfoundry/vcap/blob/master/dev_setup/cookbooks/erlang/attributes/default.rb.  
  11.   
  12. Note that R14B01 was released in December 2010... it's 3 service releases and 1 major version behind upstream.  
  13.   
  14. It would be really nice if Erlang/OTP could get bumped up a couple versions... I would guess that up to R14B04 would be minimal effort.  
  15.   
  16.   
  17. An alternative option is to downgrade to gcc-4.4. This worked for me, and allowed me to get the DEA host installed. Here's how I did it:  
  18. http://stackoverflow.com/questions/7832892/how-to-change-the-default-gcc-compiler-in-ubuntu  
很开心,正好有一个回帖说了这个问题,他的答案也很明确,就是编译工具链的问题了。而且也给出了解决方法,降级到4.4版本的gcc。

注:我这时的gcc版本是4.6.3

4.4版本的gcc可以直接在ubuntu的软件源中下载到。所以安装很简单,主要是如何修改使用的默认gcc版本,这个很好理解,我们电脑原来用的是IE浏览器,现在我们装了chrome,然后为了使用,我们需要把默认浏览器改成chrome是一个道理的。所以现在的事情就是怎么改过来。

很开心的是作者也给出了怎么修改。其实一行命令就可以完成了:

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 50

然后可以使用命令gcc -v查看一下自己的版本是否有问题

[html] view plaincopy
  1. ubuntu@cloudfoundry:~$ gcc -v  
  2. Using built-in specs.  
  3. Target: x86_64-linux-gnu  
  4. Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.4.7-1ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu  
  5. Thread model: posix  
  6. gcc version 4.4.7 (Ubuntu/Linaro 4.4.7-1ubuntu2)   
OK,现在已经更换到4.4版本的GCC了,重新编译了一下,木有问题。

注:更换了GCC版本,但是还是需要进入/tmp/otp_src_R14B01执行一次make clean否则还是会提示失败

===========================================补充  2012.10.15  补充==============================================

以下的问题其实是后来帮别人弄的时候出现的,所以说每个人的问题都不一定一样,其实他的也遇到了很多和我一样的问题。

问题7:下载失败

特点:或许会问:这也算问题?当然算问题,只要能看的出来是因为下载失败。在解决依赖关系的时候会经常下载安装一些特定的包,如果是国内的源都还好,基本不会失败。国外的源就不好说了,总是时不时的遇到。所以看到下面的情况的时候不要怕,解决起来其实很简单。

[html] view plaincopy
  1. ================================================================================  
  2. Error executing action `create` on resource 'deployment_remote_file[/var/cache/dev_setup/ruby-1.9.2-p180.tar.gz]'  
  3. ================================================================================  
  4.   
  5. HTTPClient::ReceiveTimeoutError  
  6. -------------------------------  
  7. execution expired  
解决思路:看错误提示信息立马可以看出来了,他在下载这个ruby-1.9.2-p180.tar.gz的时候失败了。解决方法很多比如:

1、重新执行执行一边,指不定就成功了。

2、如果失败多次,那不妨去网上搜搜,下载下来安装就好了,比如可以使用wget命令获取:

 wget http://mirrors.ibiblio.org/ruby/1.9/ruby-1.9.2-p180.tar.gz

3、我比较懒,我就去别人那直接把那个目录下的东西全部拷贝过来,传过去就完了。

注:如果你是用ssh连接到远端,可以使用scp命令进行远端和本地的复制动作。

其他:

中间我也出现了这个问题,是不是很熟悉,和问题1一样的,解决思路也是一样的,装一个 libssl0.9.8 就完了。是不是很简单

[html] view plaincopy
  1. Selecting previously unselected package libpq5.  
  2. (Reading database ... 69001 files and directories currently installed.)  
  3. Unpacking libpq5 (from .../cache/dev_setup/libpq5_9.2.deb) ...  
  4.   
  5. ================================================================================  
  6. Error executing action `run` on resource 'bash[Install libpq]'  
  7. ================================================================================  
  8.   
  9. Mixlib::ShellOut::ShellCommandFailed  
  10. ------------------------------------  
  11. Expected process to exit with [0], but received '1'  
  12. ---- Begin output of "bash"  "/tmp/chef-script20121013-16144-1c1ej7c-0" ----  
  13. STDOUT: Selecting previously unselected package libpq5.  
  14. (Reading database ... 69001 files and directories currently installed.)  
  15. Unpacking libpq5 (from .../cache/dev_setup/libpq5_9.2.deb) ...  
  16. STDERR: dpkg: dependency problems prevent configuration of libpq5:  
  17.  libpq5 depends on libssl0.9.8 (>= 0.9.8k-1); however:  
  18.   Package libssl0.9.8 is not installed.  
  19. dpkg: error processing libpq5 (--install):  
  20.  dependency problems - leaving unconfigured  
  21. Errors were encountered while processing:  
  22.  libpq5  
  23. ---- End output of "bash"  "/tmp/chef-script20121013-16144-1c1ej7c-0" ----  
  24. Ran "bash"  "/tmp/chef-script20121013-16144-1c1ej7c-0" returned 1  
  25.   
  26. Resource Declaration:  
  27. ---------------------  






















原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩老是咳嗽有痰怎么办 长时间看手机眼睛模糊怎么办 长时间看电脑眼睛模糊怎么办 手机玩多了眼睛模糊怎么办 手机看多了眼睛模糊怎么办 孩子玩手机眼睛红怎么办 手机玩多了眼睛红怎么办 手机看久了眼花怎么办 玩手机眼睛近视了怎么办 近视了怎么办30个字 吃了长牙的土豆怎么办 鸡蛋和土豆吃了怎么办 狗狗眼睛流血水怎么办 石粉粘土干了怎么办 樱花针管笔干了怎么办 想学linux不会c语言怎么办 被摩托车排气管烫伤了怎么办 泡泡糖粘在衣服上怎么办 皮卡书屋办卡怎么办 照证件照齐刘海怎么办 哈挺机床卡刀了怎么办 绝地求生卡在登陆页面怎么办 白鞋子长霉了怎么办 幸福树树干烂了怎么办 花椒树树叶掉落枝干发黑怎么办 茉莉枝干变干了怎么办 冲风了头蒙怎么办 不小心把腰扭了怎么办 白衣服发霉有小黑点怎么办 佛肚竹的枝叶都枯了怎么办 山竹一天吃多了怎么办 水养竹子叶子发黄怎么办 龙竹的竹杆黄了怎么办 散尾竹叶子发黑怎么办 给姐姐打工不发工资怎么办? 水培红掌叶子发黄怎么办 盆竹的叶尖发黄怎么办 养富贵竹水里怎么生小虫怎么办 盆栽金银花叶子全部落掉怎么办 荷花竹根部烂了怎么办 水培绿萝叶子发黄怎么办