在Clion上编译Opensips:缺少tap.h,缺少哪个库?

时间:2018-11-01 15:32:26

标签: cmake clion opensips

我要在Clion上编译Opensips,因为我想调试并逐步执行代码。我尝试通过CMakeLists.txt中的以下行添加环境变量:

set(CMAKE_C_FLAGS "-funroll-loops -Wcast-align -Wall -minline-all-stringops -falign-loops -ftree-vectorize -mtune=nocona -Wold-style-definition -Wmissing-field-initializers -Wredundant-decls" )

add_definitions(-DPKG_MALLOC -DSHM_MMAP -DUSE_MCAST -DDISABLE_NAGLE -DSTATISTICS -DHAVE_RESOLV_RES -DF_MALLOC -DF_MALLOC_OPTIMIZATIONS -DNAME='"opensips"' -DVERSION='"2.4.2"' -DARCH='"x86_64"' -DOS='"linux"' -DCOMPILER='"gcc 4.8.5"' -D__CPU_x86_64 -D__OS_linux -D__SMP_yes -DCFG_DIR='"/usr/local//etc/opensips/"' -DVERSIONTYPE='"git"' -DTHISREVISION='"c035556"' -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_EPOLL -DHAVE_SIGIO_RT -DHAVE_SELECT)

================================================ ===========

我收到以下错误消息,我不确定缺少哪个软件包:

-构建文件已写入:/root/opensips-2.4/cmake-build-debug [0%]构建C对象CMakeFiles / opensips_2_4.dir / cachedb / test / test_backends.c.o [0%]构建C对象CMakeFiles / opensips_2_4.dir / cachedb / example / example_cachedb.c.o /root/opensips-2.4/cachedb/test/test_backends.c:21:17:致命错误:tap.h:没有此类文件或目录

包括

^ 编译终止。 gmake [2]: * [CMakeFiles / opensips_2_4.dir / cachedb / test / test_backends.c.o]错误1 gmake [2]:* 正在等待未完成的作业。 /root/opensips-2.4/cachedb/example/example_cachedb.c:75:2:警告:字符常量的类型太长[默认启用] MODULE_VERSION, ^ /root/opensips-2.4/cachedb/example/example_cachedb.c:75:2:警告:初始化使指针从整数开始而没有强制转换[默认启用] /root/opensips-2.4/cachedb/example/example_cachedb.c:75:2:警告:(“ exports.version”的初始化接近)[默认情况下启用] 在/root/opensips-2.4/cachedb/example/../../sr_module.h:52:0包含的文件中, 从/root/opensips-2.4/cachedb/example/example_cachedb.c:32: /root/opensips-2.4/cachedb/example/../../version.h:26:37:错误:字符串常量前应有'}'

定义OPENSIPS_FULL_VERSION NAME“” VERSION“(” ARCH“ /” OS“)”

^ /root/opensips-2.4/cachedb/example/../../sr_module.h:102:2:注意:扩展宏“ OPENSIPS_FULL_VERSION” OPENSIPS_FULL_VERSION, ^ /root/opensips-2.4/cachedb/example/example_cachedb.c:75:2:注意:扩展宏“ MODULE_VERSION” MODULE_VERSION, ^ /root/opensips-2.4/cachedb/example/example_cachedb.c:75:2:警告:字符常量的类型太长[默认启用] /root/opensips-2.4/cachedb/example/example_cachedb.c:75:2:警告:字符常量的类型太长[默认启用] /root/opensips-2.4/cachedb/example/example_cachedb.c:75:2:警告:字符常量的类型太长[默认启用] /root/opensips-2.4/cachedb/example/example_cachedb.c:89:1:警告:“ struct module_exports”字段“ compile_flags”的初始值设定项缺失[-Wmissing-field-initializers] }; ^ 在/root/opensips-2.4/cachedb/example/example_cachedb.c:32:0中包含的文件中: /root/opensips-2.4/cachedb/example/../../sr_module.h:175:8:注意:此处声明了“ compile_flags” 字符compile_flags; /!<编译模块 /上使用的标志 ^ /root/opensips-2.4/cachedb/example/example_cachedb.c:95:12:警告:已定义'mod_init'但未使用[-Wunused-function] 静态int mod_init(void) ^ /root/opensips-2.4/cachedb/example/example_cachedb.c:137:12:警告:“ child_init”已定义但未使用[-Wunused-function] 静态int child_init(int rank) ^ /root/opensips-2.4/cachedb/example/example_cachedb.c:154:13:警告:已定义“销毁”但未使用[-Wunused-function] 静态void destroy(void) ^ /root/opensips-2.4/cachedb/example/example_cachedb.c:59:21:警告:“ cmds”已定义但未使用[-Wunused-variable] 静态cmd_export_t cmds [] = ^ /root/opensips-2.4/cachedb/example/example_cachedb.c:65:23:警告:定义了“参数”但未使用[-Wunused-variable] 静态param_export_t params [] = { ^ gmake [2]: [CMakeFiles / opensips_2_4.dir / cachedb / example / example_cachedb.c.o]错误1 gmake [1]:* [CMakeFiles / opensips_2_4.dir / all]错误2 gmake:*** [全部]错误2

1 个答案:

答案 0 :(得分:0)

tap.h错误是由于您通过-DUNIT_TESTS中的Makefile.conf标志在构建中启用了单元测试支持。如果您仍然想沿这条路线运行MongoDB / Cassandra的与cachedb相关的单元测试:

  • here下载libtap
  • makesudo make install