Libimobiledevice: OS X EICapitanビルドエラー

作成日 2015年11月04日  ·  7コメント  ·  ソース: libimobiledevice/libimobiledevice

CCLD libimobiledevice.la
アーキテクチャx86_64の未定義のシンボル:
「_ERR_remove_thread_state」、参照元:
idevice.oの_internal_idevice_deinit
idevice.oの_idevice_connection_enable_ssl
ld:アーキテクチャx86_64のシンボルが見つかりません
clang:エラー:リンカーコマンドが終了コード1で失敗しました(呼び出しを確認するには-vを使用してください)
make [1]: ** [libimobiledevice.la]エラー1make:* * [install-recursive]エラー1

リンクステップでエラーが発生します。

OS X question

最も参考になるコメント

CFLAGSLDFLAGS手動で設定して実行しました:
CFLAGS=-I/usr/local/opt/openssl/include LDFLAGS=-L/usr/local/opt/openssl/lib ./configure

全てのコメント7件

また、_OS X 10.11_でmakeを実行すると、 opensslエラーが発生します。
fatal error: 'openssl/ssl.h' file not found

@deadlyfingers
brew install opensslように、opensslを_OS X10.11_にインストールできます。 ヘッダーファイルは/usr/local/Cellar/openssl/include/opensslディレクトリに作成されます。 /usr/local/includeディレクトリにリンクを作成できます。このコマンドsudo ln -s /usr/local/Cellar/openssl/include/openssl /usr/local/include/openssl 。 しかし、これらのディレクトリについては、はっきりと覚えていません。 これらが正しいかどうかはわかりません。 このコマンドfind /usr/ -name "ssl.h"を使用して、ディレクトリを見つけることができます。

この問題は解決されました。 私のopensslバージョンはエラーでした。 /usr/local/Cellar/openssl/1.0.2/lib/*/usr/local/lib/にリンクし、ビルドOKを実行します。この問題は解決されました。 私のopensslバージョンはエラーでした。 /usr/local/Cellar/openssl/1.0.2/lib/*/usr/local/lib/にリンクして、ビルドOKです。

さらに、OpenSSLが通常とは異なる場所にインストールされている場合は、 openssl_CFLAGSおよびopenssl_LIBS環境変数を使用してビルドを修正できます。 奇妙ないじりは必要ありません...

詳細については、configure出力を確認してください。

$ ./configure --help

私はopenssl_CFLAGSとopenssl_LIBSenv変数を使用しましたが、それでも同じ問題が発生し、同じ結果でシンボリックリンクも実行しました。 libimobiledeviceリポジトリの新しいクローンからも同じ結果が得られます。 libplistとlibusbmuxdを正常にビルドしてインストールしました。

brewによってインストールされたopensslバージョン:1.0.2h_1

OSX10.11.5で同じエラーメッセージが表示されます。

Undefined symbols for architecture x86_64:
  "_ERR_remove_thread_state", referenced from:
      _internal_idevice_deinit in idevice.o
      _idevice_connection_enable_ssl in idevice.o
ld: symbol(s) not found for architecture x86_64

上記のfatal error: 'openssl/ssl.h' file not foundエラーが発生しましたが、 brew link openssl --force解決しました。

openssl_CFLAGS openssl_LIBS変数と

編集: configure再実行すると問題が解決しました。最初は、なんらかのエラーが発生したと思います。

CFLAGSLDFLAGS手動で設定して実行しました:
CFLAGS=-I/usr/local/opt/openssl/include LDFLAGS=-L/usr/local/opt/openssl/lib ./configure

このページは役に立ちましたか?
0 / 5 - 0 評価