我下载并安装了 libjingle-0.5.2.zip,根据 README 还下载并安装了 swtoolkit.0.9.1.zip、scons-local-2.1.0.alpha.20101125.tar.gz 和 expat-2.0。 1.tar.gz,通过cvs下载得到nrtp。在覆盖了我的 Makefile 两次之后,尝试遵循写得相当糟糕的 README,我想出了以下几乎可以工作的 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 谈话 && ../../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 行: 在 site_m 中执行 fp 文件“./../../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('/'): 制作:*** [构建] 错误 2
我猜想其中一个包中的一些新内容(“Dir”对象是 POSIX 路径字符串所在的位置)正在破坏构建过程,但是哪一个呢?这里有太多的杂物让我无法理解。当然,我可以继续尝试较旧的软件包,特别是对于 swtoolkit 和 scons,但如果这里有人成功编译了 libjingle 并且可以在正确的方向上刺激我,我将不胜感激。