4

SSL/TLS をサポートする Android で PJSIP をビルドしようとしています。

この回答に従って(fipsなしで、shared-.soライブラリとして)OpenSSLを正常に構築し、〜/ Android(〜/ Android / sslディレクトリを作成)にインストールしました。

今、私がするとき

./configure-android --with-ssl=/home/andrea/android/ssl

config.log を見て、最初のエラー状態

<ndk-directories-and-stuff>/arm-linux-androideabi/bin/ld: warning: libdl.so, needed by /home/andrea/android/ssl/lib/libcrypto.so, not found (try using -rpath or -rpath-link)

多くの未定義の参照が続きます。

その結果、SSL サポートが無効になります。

aconfigure:7012: result: ** OpenSSL libraries not found, disabling SSL support **
ac_cv_header_openssl_ssl_h=yes
ac_cv_lib_ssl_SSL_library_init=no
CFLAGS=' -I/home/andrea/android/android-ndk-r8e/platforms/android-14/arch-arm/usr/include -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1 -I/home/andrea/android/ssl/include'
LDFLAGS=' -nostdlib -L/home/andrea/android/android-ndk-r8e/platforms/android-14/arch-arm/usr/lib/ -L/home/andrea/android/ssl/lib'
ac_no_ssl=''
libssl_present=''
openssl_h_present='1'

ただし、libdl.so は ndk のディレクトリに存在します。

<ndk-dir>/platforms/android-14/arch-arm/usr/lib/

他のライブラリがどこにあるかをldに伝える必要があると思います.ldの提案はどういう意味ですか?

try using -rpath or -rpath-link

-rpath または rpath-link が何であるか、またはそれらを適用する場所がわかりません。

何か案は?

4

1 に答える 1

3

OpenSSL で PJSIP をビルドすることに成功しました。次の手順に従ってください。

最初に openssl-androidをダウンロードし、ReadMe ファイルを読んでコンパイルします。(ルートにコマンドを入れて実行します)次にandroid-ndk、フォルダーからルートのフォルダーにコピーします(このフォルダーを作成できます)。ディレクトリ構造は次のようになります。PATHndk-buildopenssl-androidlibcrypto.solibssl.solibs/armeabi/lib/openssl-android
openssl-android/
->apps
->crypto
->include
->jni
->lib
->libs
->...

pjsip のルート ディレクトリで実行するだけです。
./configure-android --with-ssl=/home/your-user-name/path-to-openssl-android-dir

openssl が含まれていることを確認するには、次のようにこのコマンドを grep にパイプします。
./configure-android --with-ssl=/home/your-user-name/path-to-openssl-android-dir | grep -wi ssl

次に、この行が表示されますresult: OpenSSL library found, SSL support enabled。これは、PJSIP で OpenSSL が有効になったことを意味します。これで、通常どおり続行できます。

お役に立てれば。

于 2014-04-09T09:18:18.173 に答える