在openBSD5.1上编译netsnmp 5.7.1

2024-09-30 01:28:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在openBSD5.1上编译netsnmp5.7.1。 编译中的错误是

结构没有名为kp_proc' structure has no member namedkp_eproc'的成员

有人能帮我吗??在

以及如何在openBSD上进行python绑定??在


Tags: no错误成员procstructure结构memberhas
1条回答
网友
1楼 · 发布于 2024-09-30 01:28:47

好吧,这可能是一个很长的帖子,因为我们将尝试将您的软件移植到OpenBSD上。
你看OpenBSD的k_proc结构上没有这个eproc字段。检查声明: proc@OpenBSD

在最新来源中修复问题:

./agent/mibgroup/host/data_access/swrun_kinfo.c:        entry->hrSWRunPerfCPU  =     proc_table[i].kp_eproc.e_uticks;
./agent/mibgroup/host/data_access/swrun_kinfo.c:        entry->hrSWRunPerfCPU += proc_table[i].kp_eproc.e_sticks;
./agent/mibgroup/host/data_access/swrun_kinfo.c:        entry->hrSWRunPerfCPU +=   proc_table[i].kp_eproc.e_iticks;
./agent/mibgroup/host/data_access/swrun_kinfo.c:        entry->hrSWRunPerfMem  = proc_table[i].kp_eproc.e_vm.vm_tsize;
./agent/mibgroup/host/data_access/swrun_kinfo.c:        entry->hrSWRunPerfMem += proc_table[i].kp_eproc.e_vm.vm_ssize;
./agent/mibgroup/host/data_access/swrun_kinfo.c:        entry->hrSWRunPerfMem += proc_table[i].kp_eproc.e_vm.vm_dsize;
./agent/mibgroup/host/hr_swrun.c:        long_return = proc_table[LowProcIndex].kp_eproc.e_uticks +
./agent/mibgroup/host/hr_swrun.c:            proc_table[LowProcIndex].kp_eproc.e_sticks +
./agent/mibgroup/host/hr_swrun.c:            proc_table[LowProcIndex].kp_eproc.e_iticks;
./agent/mibgroup/host/hr_swrun.c:            proc_table[LowProcIndex].kp_eproc.e_vm.vm_map.size / 1024;
./agent/mibgroup/host/hr_swrun.c:        long_return = proc_table[LowProcIndex].kp_eproc.e_vm.vm_tsize +
./agent/mibgroup/host/hr_swrun.c:            proc_table[LowProcIndex].kp_eproc.e_vm.vm_ssize +
./agent/mibgroup/host/hr_swrun.c:            proc_table[LowProcIndex].kp_eproc.e_vm.vm_dsize;
./agent/mibgroup/ucd-snmp/proc.c:#define EP(pp, field) ((pp)->kp_eproc . field)
./agent/mibgroup/ucd-snmp/proc.c:#define VP(pp, field) ((pp)->kp_eproc.e_vm . field)

啊哈!所以我们还需要考虑这些虚拟机结构。。。我们的相应偏差是:p_vmspace@OpenBSD

一般来说,把这些.kp_eproc.e_的东西改成.p_的东西
和.kp_eproc.e_vm.事情to.p\u vmspace->thing(它是一个指针) 应该有效。在

宏需要一些小心,我想我是对的,但是因为我还在编译这些宏 sparc64上的变化非常缓慢需要一些时间才能得到测试的差异

但这应该是基本的想法。在

如果整个过程正常,可以将此修补程序添加到端口/树中 有一个易于制作的Makefile,并使用pkg_x工具管理OpenBSD包,但在以后的编辑中会有更多内容。在

干杯!在

数字信号处理器

编辑:这是第一个将要编译的diff,但是第二个宏是错误的。 请测试。在

^{pr2}$

当然,这种差异就像真空吸尘器一样糟糕,明天我会改进它;)

相关问题 更多 >

    热门问题