我下载并安装了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 talk && ../../swtoolkit/hammer.sh *** Error loading site_init file './../../swtoolkit/site_scons/site_init.py': AttributeError: 'Dir' object has no attribute 'endswith': File "/usr/src/scons-local/scons-local-2.1.0.alpha.20101125/SCons/Script/Main.py", line 1338: _exec_main(parser, values) File "/usr/src/scons-local/scons-local-2.1.0.alpha.20101125/SCons/Script/Main.py", line 1302: _main(parser) File "/usr/src/scons-local/scons-local-2.1.0.alpha.20101125/SCons/Script/Main.py", line 929: _load_site_scons_dir(d.path, options.site_dir) File "/usr/src/scons-local/scons-local-2.1.0.alpha.20101125/SCons/Script/Main.py", line 719: exec fp in site_m File "./../../swtoolkit/site_scons/site_init.py", line 455: SiteInitMain() File "./../../swtoolkit/site_scons/site_init.py", line 451: SCons.Node.FS.get_default_fs().SConstruct_dir, None) File "/usr/src/scons-local/scons-local-2.1.0.alpha.20101125/SCons/Script/Main.py", line 677: site_dir = os.path.join(topdir, site_dir_name) File "/usr/lib/python2.6/posixpath.py", line 67: elif path == '' or path.endswith('/'): make: *** [build] Error 2
我猜测其中一个软件包中的新内容('Dir'对象出现在期望POSIX路径字符串的位置)正在破坏构建过程,但是哪个软件包?这里的层次结构太多了,以至于我无法跟进。当然,如果任何人已经成功编译了libjingle并能指导我方向,我会很感激。