设为首页 收藏本站
查看: 1080|回复: 0

[经验分享] 安装saltstack遇到的问题锦集

[复制链接]

尚未签到

发表于 2018-7-31 11:43:24 | 显示全部楼层 |阅读模式

  •   安装libsodium-1.0.1
      执行./autogen.sh时候,报如下错误:
      automake --foreign --copy --add-missing -Woverride
      src/common/compress/Makefile.am:9: Libtool library used but `LIBTOOL' is undefined
      src/common/compress/Makefile.am:9: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
      src/common/compress/Makefile.am:9: to `configure.ac' and run `aclocal' and `autoconf' again.
      src/common/compress/Makefile.am:9: If `AC_PROG_LIBTOOL' is in `configure.ac', make sure src/common/compress/Makefile.am:9: its definition is in aclocal's search path.
      观点一:
      原因分析:aclocal是个扫描程序, 负责扫描configure.ac中所有的宏定义并展开,上面产生的原因就是找不到LIBTOOL宏的定义之处造成的.
      原因就是aclocal与libtool没有安装在一个相同目录下面,aclocal是去默认 安装目录 /usr/share/aclocal下面搜索所有的.m4文件找所定义的宏,安装libstool的时候最好指定--prefix=/usr,但有时候,就算将libtool安装到/usr下,有时候也会出现这个问题,这是由于安装了多个aclocal,可能aclocal目录不存在,实际目录为/usr/share/aclocal1.15等,这就造成了aclocal找不到m4文件的情况, 解决办法就是将文件夹aclocal1.15重命名为aclocal.
      当然,如果/usr/share/下有aclocal,还是报这些错误的话,那可能是aclocal里的m4文件不全,那么需要删除该aclocal,将aclocal1.15拷贝并命名为aclocal,之所以不是mv,那是因为安装libsodium-1.0.1,还需要用到aclocal1.15......
      或者显示指定路径 aclocal -I /usr/share/aclocal1.15 -I /usr/share/libtool/m4 --install
      或者把/usr/share/libtool/m4下面的文件都copy至/usr/share/aclocal1.15中.
      但这个问题解决后,也许还会报:
    configure.ac:418: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL    If this token and others are legitimate, please use m4_pattern_allow.      See the Autoconf documentation.autoreconf: /usr/bin/autoconf failed with exit status: 1
  这说明的是你没有装或者系统没有识别libtool,重新安装即可!
  2.安装zeromq-4.1.5报错:
  configure.ac:251: error: possibly undefined macro: AC_MSG_ERROR
  If this token and others are legitimate, please use m4_pattern_allow.
  See the Autoconf documentation.
  autoreconf: /usr/bin/autoconf failed with exit status: 1
  autogen.sh: error: autoreconf exited with status 0
  查了半天,原来是pkgconfig包需要安装,可是我用rpm -ql|grep pkgconfig发现系统有这个包,但不知为何没有识别出来,看来只能重新安装了!重新安装没有问题了!
  3.CentOS在安装openssl的时候,make时有一小半几率遇到下面的错误:
rc4test.o: In function `main':  
rc4test.c:(.text+0x30): undefined reference to `OPENSSL_cpuid_setup'
  
collect2: ld returned 1 exit status
  有两种解决方法:
  1)安装pycrypto-2.6.1.tar.gz,然后再次安装openssl
  2)加入一个参数,./config -fPIC -DOPENSSL_PIC 下面对-fPIC参数的说明,至于第二个参数我没有找到解释:
  -fPIC 作用于编译阶段,告诉编译器产生与位置无关代码(Position-Independent Code),
  则产生的代码中,没有绝对地址,全部使用相对地址,故而代码可以被加载器加载到内存的任意
  位置,都可以正确的执行。这正是共享库所要求的,共享库被加载时,在内存的位置不是固定的。
  gcc -shared -fPIC -o 1.so 1.c
  这里有一个-fPIC参数
  PIC就是position independent code
  PIC使.so文件的代码段变为真正意义上的共享
  如果不加-fPIC,则加载.so文件的代码段时,代码段引用的数据对象需要重定位, 重定位会修改代码段的内容,这就造成每个使用这个.so文件代码段的进程在内核里都会生成这个.so文件代码段的copy.每个copy都不一样,取决于 这个.so文件代码段和数据段内存映射的位置.
  不加fPIC编译出来的so,是要再加载时根据加载到的位置再次重定位的.(因为它里面的代码并不是位置无关代码)
  如果被多个应用程序共同使用,那么它们必须每个程序维护一份so的代码副本了.(因为so被每个程序加载的位置都不同,显然这些重定位后的代码也不同,当然不能共享)
  fPIC与动态链接可以说基本没有关系,libc.so一样可以不用fPIC编译,只是这样的so必须要在加载到用户程序的地址空间时重定向所有表目.
  4.安装requests报错:
  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/ssl.py", line 97, in <module>
  import _ssl             # if we can't import it, let the error propagate
  ImportError: No module named _ssl
  执行python
  Python 2.7.12 (default, Oct 12 2016, 15:49:19)
  [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import ssl
  执行import ssl,若是还是报ImportError: No module named _ssl,需要vim Python-2.7.12/Modules/Setup
  214、219、220、221行将“#”去掉 ,如:
  _socket socketmodule.c timemodule.c
  _ssl _ssl.c \
  -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
  -L$(SSL)/lib -lssl -lcrypto
  然后重新编译:make && make install
  5.安装MySQL-python报错:
Downloading/unpacking mysql-python  Downloading MySQL-python-1.2.3.tar.gz (70Kb): 70Kb downloaded  Running setup.py egg_info for package mysql-python  
    sh: mysql_config: not found    Traceback (most recent call last):
  
      File "<string>", line 14, in <module>
  
      File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>
  
        metadata, options = get_config()
  
      File "setup_posix.py", line 43, in get_config
  
        libs = mysql_config("libs_r")
  
      File "setup_posix.py", line 24, in mysql_config        raise EnvironmentError("%s not found" % (mysql_config.path,))
  
    EnvironmentError: mysql_config not found    Complete output from command python setup.py egg_info:
  
    sh: mysql_config: not found
  需要安装mysql-devel python-devel

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-544113-1-1.html 上篇帖子: 自动化运维Saltstack系列(七)之配置管理业务模块 下篇帖子: Installation saltstack on RHEL CentOS-12213582
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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