-1

C での ssh 呼び出し用の libssh のインストール。
Ubuntu 13.04
apt-get install gcc --fine
apt-get install cmake -fine
wget openssl-1.0.1e.tar.gz --fine
tar -xzvf openssl-1.0.1e.tar.gz --fine
./config --prefix=/usr/local --openssldir=/usr/local/openssl --fine
make --fine
make test --fine
make install --fine
wget zlib-1.2.8.tar. gz --fine
./configure; make test --fine
make install --fine
apt-get install dev-essential
now to install libssh.org
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug .. --fine
-- C コンパイラの識別は GNU 4.7.3 です
- - 動作する C コンパイラを確認します: /usr/bin/cc
-- 動作中の C コンパイラをチェック: /usr/bin/cc -- 動作
-- C コンパイラ ABI 情報を
検出中 -- C コンパイラ ABI 情報を検出中 - 完了
-- テストを実行中 WITH_FPIC
-- テストを実行中 WITH_FPIC - 成功
-- テストを実行中 WITH_STACK_PROTECTOR
-- テストの実行中 WITH_STACK_PROTECTOR - 成功
-- ZLIB が見つかりました: /usr/local/include
-- PkgConfig が見つかりました: /usr/bin/pkg-config (バージョン「0.26」が見つかりました)
-- モジュール 'openssl' をチェックします
-- openssl が見つかりました、バージョン 1.0.1e
-- OpenSSL が見つかりました: /usr/local/lib/libssl.a;/usr/local/lib/libcrypto.a
-- インクルード ファイル pthread.h
を探しています -- インクルード ファイル pthread.h を探しています - found
-- pthread_create を探しています
-- pthread_create を探しています
-見つかりません -- pthread で pthread_create を探しています -- pthread で pthread_create を探しています -
見つかりません
-- pthread で pthread_create を探しています -- pthread で pthread_create を探しています - 見つかり
ました
-- スレッドが見つかりました: TRUE
-- 確認中ですモジュール 'heimdal-gssapi'
-- パッケージ 'heimdal-gssapi' が見つかり
ません -- GSSAPI が見つかりませんでした (欠落: GSSAPI_LIBRARIES GSSAPI_INCLUDE_DIR)
-- テストを実行中 WITH_VISIBILITY_HIDDEN
-- テストを実行中 WITH_VISIBILITY_HIDDEN - 成功
-- argp.h を探しています
-- argp.h を探している - 見つかった
-- pty.h
を探している -- pty.h を探している - 見つかった
-- termios.h を探している
-- termios.h を探している - 見つかった -- unistd.h を探している --
unistd.h
を探している - 見つかった
-- openssl/aes.h を
探している -- openssl/aes.h を探している - 見つかった
-- openssl を探している/blowfish.h
-- openssl/blowfish.h を探しています - 見つかった
-- openssl/des.h
を探しています -- openssl/des.h を探しています - 見つかりました
-- openssl/ecdh.h を探しています-- openssl/
を探していますecdh.h - 見つかった
-- openssl/ec.h
を探している -- openssl/ec.h を探している - 見つかった
-- openssl/ecdsa.h
を探している -- openssl/ecdsa.h を探している - 見つかった
-- strncpy を探している
-- strncpy を探しています - 見つかりました
-- vsnprintf
を探しています -- vsnprintf を探しています - 見つかりました
-- snprintfを探しています --
snprintf を探しています - 見つかりました -- poll を探しています-- poll を探しています - 見つかりました -- select を探しています -- select を探しています - 見つかりました -- getaddrinfo を探しています -- getaddrinfo を探しています - 見つかり ました -- ntohll を探しています -- ntohll を探しています - 見つかりません -- htonll を探しています -- htonll を探しています - 見つかりません -- rt で clock_gettime を探しています -- rt で clock_gettime を探しています - 見つかりました -- util で forkpty を探しています -- 探していますforkpty in util - 見つかりました -- cfmakeraw を探しています -- cfmakeraw を探しています - 見つかりました -- strtoull を探しています -- strtoull を探しています - 見つかりました


















-- __strtoull を
探しています -- __strtoull を探しています - 見つかりません
-- テストを実行しています HAVE_GCC_THREAD_LOCAL_STORAGE
-- テストを実行しています HAVE_GCC_THREAD_LOCAL_STORAGE - 成功
-- テストを実行しています HAVE_MSC_THREAD_LOCAL_STORAGE -- テストを実行しています HAVE_MSC_THREAD_LOCAL_STORAGE -
失敗しました
-- テストを実行
しています
- システムがビッグ エンディアンかどうかを確認します
-- 16 ビット整数を検索しています --
sys/types.h
を探しています -- sys/types.h を探しています - 見つかりました
-- stdint.h を探しています -- stdint.h を探しています
- 見つかりました
-- stddef.h を
探しています -- stddef.h を探しています - 見つかりました
-- unsigned short のサイズを
チェック -- unsigned short のサイズをチェック - 完了
-- unsigned short を使用
-- システムがビッグ エンディアンかどうかをチェック - リトル エンディアン
-- Doxygen が見つかりませんでした (不明: DOXYGEN_EXECUTABLE)
-- CXX コンパイラの識別GNU 4.7.3 です
-- CXX コンパイラの動作を確認します: /usr/bin/c++
-- CXX コンパイラの動作を確認します: /usr/bin/c++ -- 動作します
-- CXX コンパイラの ABI 情報を検出しています
-- CXX コンパイラの ABI 情報を検出しています- 完了
-- ********************************************
-- ********** libssh ビルド オプション : **********
-- zlib サポート: オン
-- libgcrypt サポート: オフ
-- SSH-1 サポート: オフ
-- SFTP サポート: オン
-- サーバー サポート : オン
-- GSSAPI サポート : 0
-- Pcap デバッグ サポート : オン
-- スタティック ライブラリあり: オフ
-- ユニット テスト: オフ
-- クライアント コード ユニット テスト: オフ
-- パブリック API ドキュメントの生成
-- ベンチマーク:オフ
-- ********************************************
-- 設定中done
-- 生成完了
-- ビルド ファイルが次の場所に書き込まれました: /root/libssh/libssh-0.6.0rc1/build
****
make または make install を実行しようとすると****
ターゲット ssh_shared の依存関係をスキャン中
[ 1%] C オブジェクト src/CMakeFiles/ssh_shared.dir/agent.co の
構築 [2%] C オブジェクト src/CMakeFiles/ssh_shared.dir/auth.co の構築
[ 4%] C オブジェクト src/CMakeFiles/ssh_shared.dir/base64.co のビルド
[ 5%] C オブジェクト src/CMakeFiles/ssh_shared.dir/buffer.co のビルド
[ 6%] C オブジェクト src/CMakeFiles/ssh_shared.dir のビルド/callbacks.co
[ 8%] C オブジェクト src/CMakeFiles/ssh_shared.dir/channels.co の
構築 [ 9%] C オブジェクト src/CMakeFiles/ssh_shared.dir/client.co の構築
[ 10%] C オブジェクト src/CMakeFiles の構築/ssh_shared.dir/config.co
[ 12%] C オブジェクトのビルド src/CMakeFiles/ssh_shared.dir/connect.co
[ 13%] C オブジェクトのビルド src/CMakeFiles/ssh_shared.dir/dh.co
[ 14%] C のビルドオブジェクト src/CMakeFiles/ssh_shared.dir/ecdh.co
[ 16%] C オブジェクトのビルド src/CMakeFiles/ssh_shared.dir/error.co
[ 17%] C オブジェクト src/CMakeFiles/ssh_shared.dir/getpass.co の構築
[ 18%] C オブジェクト src/CMakeFiles/ssh_shared.dir/init.co の構築
[ 20%] C オブジェクト src/CMakeFiles/ssh_shared.dir の構築/kex.co
[ 21%] C オブジェクトのビルド src/CMakeFiles/ssh_shared.dir/known_hosts.co
[ 22%] C オブジェクトのビルド src/CMakeFiles/ssh_shared.dir/legacy.co
[ 24%] C オブジェクトのビルド src/CMakeFiles /ssh_shared.dir/libcrypto.co
[ 25%] C オブジェクトのビルド src/CMakeFiles/ssh_shared.dir/log.co
[ 26%] C オブジェクトのビルド src/CMakeFiles/ssh_shared.dir/match.co
[ 28%] C のビルドオブジェクト src/CMakeFiles/ssh_shared.dir/messages.co
[ 29%] C オブジェクトのビルド src/CMakeFiles/ssh_shared.dir/misc.co
[ 30%] C オブジェクト src/CMakeFiles/ssh_shared.dir/options.co の
構築 [ 32%] C オブジェクト src/CMakeFiles/ssh_shared.dir/packet.co の構築
[ 33%] C オブジェクト src/CMakeFiles/ssh_shared.dir の構築/packet_cb.co
[ 34%] C オブジェクト src/CMakeFiles/ssh_shared.dir/packet_crypt.co の構築
[ 36%] C オブジェクト src/CMakeFiles/ssh_shared.dir/pcap.co の構築
[ 37%] C オブジェクト src/CMakeFiles の構築/ssh_shared.dir/pki.co
[ 38%] C オブジェクトのビルド src/CMakeFiles/ssh_shared.dir/poll.co
[ 40%] C オブジェクトのビルド src/CMakeFiles/ssh_shared.dir/session.co
[ 41%] C のビルドオブジェクト src/CMakeFiles/ssh_shared.dir/scp.co
[ 42%] C オブジェクトのビルド src/CMakeFiles/ssh_shared.dir/socket.co
[ 44%] C オブジェクト src/CMakeFiles/ssh_shared.dir/string.co の構築
[ 45%] C オブジェクト src/CMakeFiles/ssh_shared.dir/threads.co の
構築 [ 46%] C オブジェクト src/CMakeFiles/ssh_shared.dir の構築/wrapper.co
[ 48%] C オブジェクト src/CMakeFiles/ssh_shared.dir/pki_crypto.co の構築
[ 49%] C オブジェクト src/CMakeFiles/ssh_shared.dir/sftp.co の構築
[ 50%] C オブジェクト src/CMakeFiles の構築/ssh_shared.dir/sftpserver.co
[ 52%] C オブジェクトのビルド src/CMakeFiles/ssh_shared.dir/server.co
[ 53%] C オブジェクトのビルド src/CMakeFiles/ssh_shared.dir/bind.co
[ 54%] C のビルドobject src/CMakeFiles/ssh_shared.dir/gzip.co
リンク C 共有ライブラリ libssh.so
[ 54%] ターゲット ssh_shared をビルド
ターゲット ssh_threads_shared の依存関係のスキャン
[ 56%] C オブジェクトのビルド src/threads/CMakeFiles/ssh_threads_shared.dir/pthread.co
C 共有ライブラリ libssh_threads.soのリンク
[ 56%] ターゲット ssh_threads_shared
のビルド ターゲット exec の依存関係のスキャン
[ 57%] C のビルドobject examples/CMakeFiles/exec.dir/exec.co
[ 58%] C オブジェクトのビルド例/CMakeFiles/exec.dir/authentication.co
[ 60%] C オブジェクトのビルド例/CMakeFiles/exec.dir/knownhosts.co
[ 61 %] Build C object examples/CMakeFiles/exec.dir/connect_ssh.co
Linking C 実行可能 exec
**../src/libssh.so.4.3.0: `dlopen' への未定義参照
../src/libssh.so. 4.3.0: `dlclose'` への未定義の参照
../src/libssh.so.4.3.0: `dlerror' への
未定義の参照../src/libssh.so.4.3.0: `dlsym' への未定義の参照
../src/libssh.so.4.3.0 : `dladdr' への未定義の参照**

4

1 に答える 1

0

libssh は dlopen をまったく使用しません。openssl または dlopen を必要とする別のライブラリであり、正しくリンクされていません。

あなたはopensslの静的ライブラリに対してリンクしています.libdlを必要とするのはおそらくopensslです。

于 2013-09-26T06:16:42.543 に答える