zoukankan      html  css  js  c++  java
  • SCons 的若干问题

    问题1:找不到 SCons 的 Python3 库

    CentOS7 使用 pip3 安装 SCons,默认安装位置是 /usr/local/bin/scons, 库(engine)的默认安装位置是 /usr/local/lib/python3.6/site-packages/scons,但在运行时默认的搜索 engine 的路径不包含安装路径,导致错误。(显然 SCons 没有处理好 Python2 和 Python3,只搜索了 Python2)

    $ scons
    SCons import failed. Unable to find engine files in:
      /usr/local/lib/scons-3.1.2
      /usr/lib/scons-3.1.2
      /usr/local/lib/scons-3.1.2
      /usr/lib/python2.7/site-packages/scons-3.1.2
      /usr/lib64/scons-3.1.2
      /usr/local/lib/scons
      /usr/lib/scons
      /usr/local/lib/scons
      /usr/lib/python2.7/site-packages/scons
      /usr/lib64/scons
    Traceback (most recent call last):
      File "/usr/local/bin/scons", line 195, in <module>
        import SCons.Script
    ImportError: No module named SCons.Script

    解决方法

    如下建立软链接,

    $ sudo ln -fs /usr/local/lib/python3.6/site-packages/scons /usr/local/lib/scons

    即可正常使用,

    $ scons
    scons: Reading SConscript files ...
    scons: done reading SConscript files.
    scons: Building targets ...
    gcc -o hello.o -c hello.c
    gcc -o hello hello.o
    scons: done building targets.

    对于 Ubuntu18.04 ,也存在同样的问题,使用 pip3 将把 SCons 库安装到 /usr/local/lib/python3.6/dist-packages/scons/,同样需要建立软链接,

    $ sudo ln -fs /usr/local/lib/python3.6/dist-packages/scons /usr/local/lib/scons

     问题2:java 非标准安装情况下,找不到 javac

    对于 java ,如果安装使用 OpenJDK,则 java, javac 会被安装到标准路径 /usr/bin/java/usr/bin/javac

    但如果手动安装 Java,可能不是标准路径。例如,我如下安装 java,

    $ cd /usr/share
    $ sudo tar --gzip -xvf jdk-8u91-linux-x64.tar.gz

    然后再设置环境变量,打开 .bashrc 添加,

    # for java
    export JAVA_HOME=/usr/share/jdk1.8.0_91
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    这样 java 和 javac 会在 /usr/share/jdk1.8.0_91/bin 下,但是 SCons 找不到……

    解决方法

    如下设置软链接,

    $ sudo ln -s /usr/share/jdk1.8.0_91/bin/java /usr/local/bin/java
    $ sudo ln -s /usr/share/jdk1.8.0_91/bin/javac /usr/local/bin/javac

    然后才能用 SCons 编译 java。

    ……

  • 相关阅读:
    (笔记)Linux内核学习(二)之进程
    (笔记)Linux内核学习(一)之内核介绍
    状态机思路在程序设计中的应用
    内存操作函数memmove,memcpy,memset
    linux下常用的几个时间函数:time,gettimeofday,clock_gettime,_ftime
    Camera ISO、快门、光圈、曝光这几个概念
    C语言中的指针和内存泄漏几种情况
    音视频文件码率与大小计算
    CC++中 fopen中文件打开方式的区别:
    常用DOS命令
  • 原文地址:https://www.cnblogs.com/gaowengang/p/12558969.html
Copyright © 2011-2022 走看看