houshangling
houshangling
采纳率50%
2017-08-07 08:33

centos7编译snmp++ 32bit的问题

已采纳

在centos7系统上编译snmp++,由于诸多原因,需要编译出32bit的libsnmp.so。但是遇到如下错误:

 libtool: link: g++ -m32 -pthread -o .libs/snmpNext snmpNext.o  -L/tmp/third_lib/snmp++/lib /opt/srcs/660_develop/third_lib/snmp++/snmp_src/build/src/.libs/libsnmp++.so /usr/gcc-7.1/lib/../lib/libstdc++.so -lm -pthread -Wl,-rpath -Wl,/usr/gcc-7.1/lib/../lib
/opt/srcs/660_develop/third_lib/snmp++/snmp_src/build/src/.libs/libsnmp++.so: undefined reference to `des_ncbc_encrypt'
/opt/srcs/660_develop/third_lib/snmp++/snmp_src/build/src/.libs/libsnmp++.so: undefined reference to `des_ede3_cbc_encrypt'
/opt/srcs/660_develop/third_lib/snmp++/snmp_src/build/src/.libs/libsnmp++.so: undefined reference to `des_key_sched'
collect2: error: ld returned 1 exit status

生成makefile的配置命令:

 ../configure --enable-macaddress --without-ssl --without-tomcrypt  CCFLAGS=-m32 CPPFLAGS=-m32 CXXFLAGS=-m32 CFLAGS=-m32 LDFLAGS=-L/tmp/third_lib/snmp++/lib

des_ncbc_encrypt、des_ede3_cbc_encrypt和des_key_sched三个函数是libdes库中的函数,在上面的命令中没有加--with-des选项,如果加上了,报错如下:

 checking if libdes is wanted... (cached) yes
checking if libdes wants a prefix... (cached) /tmp/third_lib/libdes
checking if libdes is in /usr/local... no
checking if libdes is in /usr... no
checking if libdes is wanted... (cached) yes
checking if libdes wants a prefix... (cached) /tmp/third_lib/libdes
checking if libdes is in /usr/local... no
checking if libdes is in /usr... no

无论把libdes.a文件拷贝/usr,/usr/local目录,都报错,找不到。只好不用--with-des选项,然后在include/snmp_pp/config_snmp_pp.h中打开HAVE_LIBDES的预编译开关。。

libdes库,编译前修改了Makefile文件,在CFLAGS后加了-m32选项。编译完成后,得到libdes.a文件,也没有libdes.so文件。

最上面的问题,感觉像是没有找到libdes.a文件,但不知道该如何设置。

不知道哪位前辈解决过这个问题,请不吝赐教,多谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • houshangling houshangling 4年前

    最后的解决方法:
    1.先编译出libdes.a
    2.编译snmp++时,不适用--with-des选项,然后make,只不过最后生成libsnmp++.so时仍然报错,但此时生成了libsnmp++.a文件
    3.把libsnmp++.a文件放到项目所有目录中,可以正确的链接,运行时也没有搜索libsnmp++.so文件

    先这样,后面有时间研究一下编译的问题

    点赞 评论 复制链接分享
  • devmiao devmiao 4年前
    点赞 1 评论 复制链接分享

相关推荐