8

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を2回上書きした後、あまり記述されていない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
***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のexecfp
  ファイル"./../../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:***[ビルド]エラー2

パッケージの1つにある新しいもの(POSIXパス文字列が期待される場所にある「Dir」オブジェクト)がビルドプロセスを壊していると思いますが、どれですか?ここには、私が従うにはあまりにも多くのがらくたの層があります。確かに、特にswtoolkitとsconsの古いパッケージを試し続けることはできますが、ここの誰かがlibjingleのコンパイルに成功し、正しい方向に私を導いてくれるなら、それをいただければ幸いです。

4

2 に答える 2

24

私はこのプロジェクトに精通していませんが、その点を乗り越えるための修正があると思います。swtoolkit / site_scons/site_init.pyDirを使用してこれらのインスタンスをキャストする必要があります。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)
于 2011-03-08T23:23:17.147 に答える
3

私はlibjingleを構築するために次のことをしました:

Linux用のLibJingleの構築

  1. 構築する方法

Libjingleは、オープンソースのSConsビルドツール(http://www.scons.org )の拡張機能のセットであるswtoolkit(http://code.google.com/p/swtoolkit/ )でビルドされます。

  • まず、 http://www.python.org/からPython2.4以降をインストールします。swtoolkitはPython2.xでのみ機能するため、Python3.xを使用できないことに注意してください。

  • 次に、スタンドアロンのscons-localパッケージ2.0.0以降を http://www.scons.org/download.phpSCONS_DIRからインストールし、SConsを含むディレクトリを指すように 環境変数を設定します /src/libjingle/scons-local/scons-local-2.0.0.final.0/

  • 第三に、 http: //code.google.com/p/swtoolkit/からswtoolkitをインストールします。

  • 最後に、Libjingleは2つのオープンソースプロジェクト、expatとsrtpに依存しています。http://sourceforge.net/projects/expat/からtalk/third_party/expat-2.0.1/にexpatをダウンロードします。http://sourceforge.net/projects/srtp/developの指示に従って、 最新のsrtpをtalk / third_party/srtpにダウンロードします。srtp-1.4.4Libjingleで使用される拡張機能がないため、機能しないことに注意してください。expatまたはsrtpを別のディレクトリに配置する場合は、それに応じて編集する必要があります talk/libjingle.scons

2.1LinuxまたはOSXでLibjingleをビルドする

  • まず、SCONS_DIR環境変数が正しく設定されていることを確認してください。
  • 次に、実行talk/third_party/expat-2.0.1/configureして talk/third_party/srtp/configure
  • 第三に、talk/ディレクトリに移動してを実行します$path_to_swtoolkit/hammer.sh$path_to_swtoolkit/hammer.sh --helpさまざまなモード用にビルドする方法については、を実行 してください。

上記の手順以外は、以下を参照してください。

SCONS_DIRパスを設定する

export SCONS_DIR=/home/esumit/libjingle/libjingle-0.5.2/talk/third_party/scons-local/scons-local-2.0.1

Libをインストールlibasound2-devしてlibJingleをコンパイルします。そうしないと、エラーが発生します。

sudo apt-get install libasound2-dev

次のコマンドを使用してSRTPをダウンロードします。パスを要求された場合は、Enterキーを押してください。

cvs -z3 -d:pserver:anonymous@srtp.cvs.sourceforge.net:/cvsroot/srtp co -P srtp

LibJingleディレクトリで可能なコンポーネント

libjingle-0.5.2/talk/third_party$ ls
expat-2.0.1  libudev  scons-local  srtp  swtoolkit

次のコマンドを実行してLibJingleをビルドします

libjingle-0.5.2/talk$ ./third_party/swtoolkit/hammer.sh
于 2012-07-16T10:17:36.970 に答える