【发布时间】:2013-09-26 14:16:42
【问题描述】:
为 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
制作 --fine
进行测试--fine
安装 --fine
wget zlib-1.2.8.tar.gz --fine
。/配置;进行测试--fine
安装 --fine
apt-get install dev-essential
现在安装 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 - 找到
-- 寻找 pthread_create
-- 正在寻找 pthread_create - 未找到
-- 在 pthreads 中寻找 pthread_create
-- 在 pthreads 中寻找 pthread_create - 未找到
-- 在 pthread 中寻找 pthread_create
-- 在 pthread 中寻找 pthread_create - 找到
-- 找到的主题:是的
-- 检查模块“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 - 找到
-- 正在寻找投票
-- 正在寻找投票 - 找到
-- 寻找选择
-- 寻找选择 - 找到
-- 寻找 getaddrinfo
-- 寻找 getaddrinfo - 找到
-- 寻找ntohll
-- 正在寻找 ntohll - 未找到
-- 寻找 htonll
-- 正在寻找 htonll - 未找到
-- 在rt中寻找clock_gettime
-- 在 rt 中寻找clock_gettime - 找到
-- 在util中寻找forkpty
-- 在 util 中寻找 forkpty - 找到
-- 寻找 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 - 失败
-- 执行测试 HAVE_GCC_VOLATILE_MEMORY_PROTECTION
-- 执行测试 HAVE_GCC_VOLATILE_MEMORY_PROTECTION - 成功
-- 检查系统是否为大端
-- 搜索 16 位整数
-- 寻找 sys/types.h
-- 寻找 sys/types.h - 找到
-- 寻找 stdint.h
-- 寻找 stdint.h - 找到
-- 寻找 stddef.h
-- 寻找 stddef.h - 找到
-- 检查 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 调试支持:开启
-- 使用静态库:OFF
-- 单元测试:关闭
-- 客户端代码单元测试:关闭
-- 公共 API 文档生成
-- 基准测试:关闭
-- *********************************************
-- 配置完成
-- 生成完成
-- 构建文件已写入:/root/libssh/libssh-0.6.0rc1/build
****现在当我尝试运行
制作或制作安装****
扫描目标 ssh_shared 的依赖关系
[ 1%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/agent.c.o
[ 2%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/auth.c.o
[ 4%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/base64.c.o
[ 5%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/buffer.c.o
[ 6%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/callbacks.c.o
[ 8%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/channels.c.o
[ 9%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/client.c.o
[ 10%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/config.c.o
[ 12%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/connect.c.o
[ 13%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/dh.c.o
[ 14%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/ecdh.c.o
[ 16%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/error.c.o
[ 17%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/getpass.c.o
[ 18%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/init.c.o
[ 20%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/kex.c.o
[ 21%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/known_hosts.c.o
[ 22%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/legacy.c.o
[ 24%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/libcrypto.c.o
[ 25%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/log.c.o
[ 26%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/match.c.o
[ 28%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/messages.c.o
[ 29%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/misc.c.o
[ 30%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/options.c.o
[ 32%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/packet.c.o
[ 33%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/packet_cb.c.o
[ 34%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/packet_crypt.c.o
[ 36%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/pcap.c.o
[ 37%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/pki.c.o
[ 38%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/poll.c.o
[ 40%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/session.c.o
[ 41%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/scp.c.o
[ 42%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/socket.c.o
[ 44%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/string.c.o
[ 45%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/threads.c.o
[ 46%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/wrapper.c.o
[ 48%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/pki_crypto.c.o
[ 49%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/sftp.c.o
[ 50%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/sftpserver.c.o
[ 52%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/server.c.o
[ 53%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/bind.c.o
[ 54%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/gzip.c.o
链接 C 共享库 libssh.so
[ 54%] 构建目标 ssh_shared
扫描目标 ssh_threads_shared 的依赖
[ 56%] 构建 C 对象 src/threads/CMakeFiles/ssh_threads_shared.dir/pthread.c.o
链接 C 共享库 libssh_threads.so
[ 56%] 构建目标 ssh_threads_shared
扫描目标 exec 的依赖关系
[ 57%] 构建 C 对象示例/CMakeFiles/exec.dir/exec.c.o
[ 58%] 构建 C 对象示例/CMakeFiles/exec.dir/authentication.c.o
[ 60%] 构建 C 对象示例/CMakeFiles/exec.dir/knownhosts.c.o
[ 61%] 构建 C 对象示例/CMakeFiles/exec.dir/connect_ssh.c.o
链接 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' 的引用**
【问题讨论】:
标签: reference undefined dlopen libssh