在Solaris 11

时间:2018-05-17 09:08:24

标签: solaris net-snmp

我在Solaris11 sparc上构建net-snmp 5.7.3。我的路径设置为:

的/ usr /本地/ lib中:/ bin中:在/ usr / bin中:在/ usr / dev_infra /平台/ bin中:在/ usr / dev_infra /通用/ bin中:在/ usr / local / bin中:在/ usr / X11R6 / bin中:在/ usr /本地/ ADE /斌:在/ usr / sfw / bin中:在/ usr / CCS /箱中:/ opt / CSW /箱中:/ opt / CSW / GNU:/ usr / sbin目录:在/ usr / bin中:在/ usr / CCS / bin中/ AR

我使用默认选项运行./configure --prefix = / opt并且成功了。在那之后,当我做,我收到以下错误信息,任何帮助表示赞赏。

libtool: compile:  gcc -I../include -I. -I../snmplib -fno-strict-aliasing -g -O2 -Usolaris2 -Dsolaris2=solaris2 -c keytools.c  -fPIC -DPIC -o .libs/keytools.o
keytools.c: In function ‘generate_Ku’:
keytools.c:153:9: warning: assignment makes pointer from integer without a cast
keytools.c:161:9: error: invalid use of void expression
keytools.c:166:13: error: invalid use of void expression
*** Error code 1
make: Fatal error: Command failed for target `keytools.lo'
Current working directory /scratch/kkumsati/net-snmp/snmplib
*** Error code 1
The following command caused the error:
if test "snmplib  agent apps man local mibs" != ""; then \
        it="snmplib  agent apps man local mibs" ; \
        for i in $it ; do \
                echo "making all in `pwd`/$i"; \
                ( cd $i ; make ) ; \
                if test $? != 0 ; then \
                        exit 1 ; \
                fi  \
        done \
fi
make: Fatal error: Command failed for target `subdirs'

1 个答案:

答案 0 :(得分:2)

在源文件夹中查找 README.solaris 文件。它有'编译net-snmp'部分。 在README中,您可以找到以下内容:

You need to set your $PATH.  This is extremely important
because otherwise there may be conflicts between the various
components of the development environment.

错误的路径是你的问题。

另一个可能的问题是系统中的旧openssl标头。 您有关于函数 EVP_MD_CTX_create()的错误(keytools.c:153:9中的错误),此函数在Solaris文件/usr/include/openssl/evp.h中声明,包含此文件在包pkg:/ library / security / openssl中。我的操作系统上此软件包的版本是1.0.1.18-0.175.3.5.0.5.0。 我建议您更新操作系统,或打包pkg:/ library / security / openssl或尝试使用--with-openssl=internal选项运行配置脚本。

同时更新gcc,我使用了这个版本

pkg install developer/gcc-48 

export PATH=/usr/sbin:/usr/local/bin:/usr/ccs/bin:/usr/bin:
./configure --prefix=/opt --with-mib-modules="ucd-snmp/lmSensors \
            ucd-snmp/diskio smux mibII/mta_sendmail" --with-cc=gcc
gmake

我收到的错误是:

/usr/include/sys/processor.h:188:45: error: unknown type name 'kthread_t'
 extern boolean_t i_processor_affinity_check(kthread_t *, struct cpu *);
                                         ^
/usr/include/sys/processor.h:189:37: error: unknown type name 'kthread_t'
 extern int i_processor_affinity_one(kthread_t *, id_t, boolean_t);
                                 ^
/usr/include/sys/processor.h:190:33: error: unknown type name 'kthread_t'
 extern int i_processor_affinity(kthread_t *, uint_t *, id_t *, uint32_t *,
                             ^

要解决此修改文件agent/mibgroup/host/data_access/swrun_procfs_psinfo.c并在第26行添加标题 (问题行之前):

#include <sys/processor.h>
#include <sys/procset.h>
#include <thread.h>

关于此bug

的链接

然后重复

gmake
gmake test
gmake install;  #this command with root permissons 

我在SPARC上取得了成功。