问题编译libjingle

发布于 2021-01-29 17:02:15

我下载并安装了libjingle-0.5.2.zip,并根据自述文件还下载并安装了swtoolkit.0.9.1.zip,scons-
local-2.1.0.alpha.20101125.tar.gz和expat-2.0。1.tar.gz,并通过cvs下载获得nrtp。在两次覆盖我的Makefile,并尝试遵循编写得较差的自述文件之后,我想到了以下几乎可以正常工作的Makefile:

# First, make sure the SCONS_DIR environment variable is set correctly.
SCONS_DIR ?= /usr/src/scons-local/scons-local-2.1.0.alpha.20101125/
#SCONS_DIR ?= /usr/src/scons-local/
export
default: build
# Second, run talk/third_party/expat-2.0.1/configure...
talk/third_party/expat-2.0.1/Makefile:
    cd talk/third_party/expat-2.0.1 && ./configure
# ...and talk/third_party/srtp/configure.
talk/third_party/srtp/Makefile:
    cd talk/third_party/srtp && ./configure
# Third, go to the talk/ directory and run $path_to_swtoolkit/hammer.sh. Run
# $path_to_swtoolkit/hammer.sh --help for information on how to build for
# different modes.
build: talk/third_party/expat-2.0.1/Makefile talk/third_party/srtp/Makefile
    cd talk && ../../swtoolkit/hammer.sh
help:
    ../swtoolkit/hammer.sh --help

但是,make给我以下错误:

jcomeau @ intrepid:/usr/src/libjingle-0.5.2$ make
cd talk && ../../swtoolkit/hammer.sh
***加载site_init文件'./../../swtoolkit/site_scons/site_init.py'时出错:
AttributeError:“ Dir”对象没有属性“ endswith”:
  文件“ /usr/src/scons-local/scons-local-2.1.0.alpha.20101125/SCons/Script/Main.py”,第1338行:
    _exec_main(解析器,值)
  文件“ /usr/src/scons-local/scons-local-2.1.0.alpha.20101125/SCons/Script/Main.py”,第1302行:
    _main(解析器)
  文件“ /usr/src/scons-local/scons-local-2.1.0.alpha.20101125/SCons/Script/Main.py”,第929行:
    _load_site_scons_dir(d.path,options.site_dir)
  文件“ /usr/src/scons-local/scons-local-2.1.0.alpha.20101125/SCons/Script/Main.py”,第719行:
    exec fp在site_m
  文件“ ./../../swtoolkit/site_scons/site_init.py”,第455行:
    SiteInitMain()
  文件“ ./../../swtoolkit/site_scons/site_init.py”,第451行:
    SCons.Node.FS.get_default_fs()。SConstruct_dir,无)
  文件“ /usr/src/scons-local/scons-local-2.1.0.alpha.20101125/SCons/Script/Main.py”,行677:
    site_dir = os.path.join(topdir,site_dir_name)
  文件“ /usr/lib/python2.6/posixpath.py”,第67行:
    elif path ==''或path.endswith('/'):
make:*** [build]错误2

我猜测其中一个软件包中的某些新内容(“Dir”对象是POSIX路径字符串所在的地方)正在破坏构建过程,但是哪一个?这里有太多层次的草皮可供我遵循。当然,我可以继续尝试使用较旧的软件包,尤其是swtoolkit和scons,但如果这里有人成功地编译了libjingle并可以向正确的方向推销我,我将不胜感激。

关注者
0
被浏览
48
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我对这个项目不熟悉,但是认为我有一个解决方法,可以使您超越这一点。您需要在swtoolkit / site_scons /site_init.py中Dir使用这些实例str()。这样,就可以安全地对它们进行评估path.endswith('/')。奇怪的是,这种问题将在构建基础架构的主要部分中存在很长时间:

    330行:

    SCons.Script.Main._load_site_scons_dir(
        str(SCons.Node.FS.get_default_fs().SConstruct_dir), site_dir)
    

    450行:

    SCons.Script.Main._load_site_scons_dir(
        str(SCons.Node.FS.get_default_fs().SConstruct_dir), None)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看