Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[5.9] Compile error on x86 32bit linux machine #202

Closed
TuITeraz opened this issue Nov 6, 2020 · 1 comment
Closed

[5.9] Compile error on x86 32bit linux machine #202

TuITeraz opened this issue Nov 6, 2020 · 1 comment

Comments

@TuITeraz
Copy link

TuITeraz commented Nov 6, 2020

I'm trying to compile net-snmp 5.9 from sources on x86 32bit linux machne:

Configure parameters:
./configure --without-perl-modules --disable-embedded-perl --enable-ipv6 --prefix=/usr/ --with-defaults --enable-new-features --with-default-snmp-version=2 --with-systemd --with-security-modules="usm tsm" --enable-blumenthal-aes --with-transports="DTLSUDP" --with-install-prefix="/home/user/net-snmp-5.9/package"

make ends with an error:

mibgroup/ip-mib/data_access/.libs/ipaddress_ioctl.o: In function `_netsnmp_ioctl_ipaddress_container_load_v4':
/home/user/net-snmp-5.9/agent/mibgroup/ip-mib/data_access/ipaddress_ioctl.c:248: undefined reference to `netsnmp_access_other_info_get'
collect2: ld returned 1 exit status
make[1]: *** [libnetsnmpmibs.la] Error 1
make[1]: Leaving directory `/home/user/net-snmp-5.9/agent'
make: *** [subdirs] Error 1

Logs:
config.log

@ThomasDevoogdt
Copy link

ThomasDevoogdt commented Aug 19, 2021

I've encountered the same problem:

>>> netsnmp 5.9 Building
PATH="/home/thomas/Documents/buildroot/output/host/bin:/home/thomas/Documents/buildroot/output/host/sbin:/home/thomas/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/thomas/.local/bin"  /usr/bin/make -j1  -C /home/thomas/Documents/buildroot/output/build/netsnmp-5.9/
making all in /home/thomas/Documents/buildroot/output/build/netsnmp-5.9/snmplib
making all in /home/thomas/Documents/buildroot/output/build/netsnmp-5.9/agent
making all in /home/thomas/Documents/buildroot/output/build/netsnmp-5.9/agent/helpers
making all in /home/thomas/Documents/buildroot/output/build/netsnmp-5.9/agent/mibgroup
/bin/bash ../libtool --silent --mode=link /home/thomas/Documents/buildroot/output/host/bin/arm-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os   -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Ulinux -Dlinux=linux  -rpath /usr/lib -version-info 40:0:0 -o libnetsnmpmibs.la mibgroup/ucd-snmp/lmsensorsMib.lo mibgroup/Rmon/rows.lo mibgroup/Rmon/agutil.lo mibgroup/Rmon/statistics.lo mibgroup/Rmon/alarmTable.lo mibgroup/Rmon/history.lo mibgroup/Rmon/event.lo mibgroup/mibII/snmp_mib.lo mibgroup/mibII/system_mib.lo mibgroup/mibII/sysORTable.lo mibgroup/mibII/vacm_vars.lo mibgroup/host/hrh_storage.lo mibgroup/host/hrh_filesys.lo mibgroup/host/hrSWInstalledTable.lo mibgroup/host/hrSWRunTable.lo mibgroup/host/hr_system.lo mibgroup/host/hr_device.lo mibgroup/host/hr_other.lo mibgroup/host/hr_proc.lo mibgroup/host/hr_network.lo mibgroup/host/hr_print.lo mibgroup/host/hr_disk.lo mibgroup/host/hr_partition.lo mibgroup/util_funcs.lo mibgroup/snmpv3/snmpEngine.lo mibgroup/snmpv3/snmpMPDStats.lo mibgroup/snmpv3/usmStats.lo mibgroup/snmpv3/usmUser.lo mibgroup/mibII/updates.lo mibgroup/util_funcs/header_generic.lo mibgroup/mibII/vacm_context.lo mibgroup/host/data_access/swinst.lo mibgroup/host/data_access/swrun.lo mibgroup/host/hrSWRunPerfTable.lo mibgroup/hardware/sensors/hw_sensors.lo mibgroup/hardware/sensors/lmsensors_v3.lo mibgroup/util_funcs/header_simple_table.lo mibgroup/hardware/memory/hw_mem.lo mibgroup/hardware/memory/memory_linux.lo mibgroup/hardware/fsys/hw_fsys.lo mibgroup/hardware/fsys/fsys_mntent.lo mibgroup/host/data_access/swinst_apt.lo mibgroup/host/data_access/swrun_procfs_status.lo mibgroup/hardware/cpu/cpu.lo mibgroup/hardware/cpu/cpu_linux.lo mibgroup/if-mib/ifTable/ifTable.lo mibgroup/if-mib/data_access/interface.lo mibgroup/if-mib/ifTable/ifTable_interface.lo mibgroup/if-mib/ifTable/ifTable_data_access.lo mibgroup/if-mib/data_access/interface_linux.lo mibgroup/if-mib/data_access/interface_ioctl.lo mibgroup/ip-mib/data_access/ipaddress_common.lo mibgroup/ip-mib/data_access/ipaddress_linux.lo mibgroup/ip-mib/data_access/ipaddress_ioctl.lo mib_modules.lo auto_nlist.lo libnetsnmpagent.la ../snmplib/libnetsnmp.la -Wl,-no-undefined  -lsensors -ldl -lm  -lpcre  -L/home/thomas/Documents/buildroot/output/host/bin/../arm-buildroot-linux-gnueabi/sysroot/usr/lib -lssl -lcrypto 
libtool: warning: '/home/thomas/Documents/buildroot/output/host/bin/../arm-buildroot-linux-gnueabi/sysroot/usr/lib/libpcre.la' seems to be moved
mibgroup/ip-mib/data_access/.libs/ipaddress_ioctl.o: In function `_netsnmp_ioctl_ipaddress_container_load_v4':
ipaddress_ioctl.c:(.text+0x3be): undefined reference to `netsnmp_access_other_info_get'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:619: libnetsnmpmibs.la] Error 1
make[2]: *** [Makefile:665: subdirs] Error 1
make[1]: *** [package/pkg-generic.mk:250: /home/thomas/Documents/buildroot/output/build/netsnmp-5.9/.stamp_built] Error 2
make: *** [Makefile:84: _all] Error 2

I could get it compiled using this patch:

commit 8989a087ecf113c4f81730fce96e02ba42efcde1
Author: Thomas Devoogdt <thomas.devoogdt@barco.com>
Date:   Thu Aug 19 09:03:57 2021 +0200

    agent/mibgroup/ip-mib/data_access/ipaddress_ioctl.c: fix unavailable netsnmp_access_other_info_get function
    
    netsnmp_access_other_info_get is not compiled if HAVE_LINUX_RTNETLINK_H is not defined
    
    Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>

diff --git a/agent/mibgroup/ip-mib/data_access/ipaddress_ioctl.c b/agent/mibgroup/ip-mib/data_access/ipaddress_ioctl.c
index 01bde911a2..45edd04ba1 100644
--- a/agent/mibgroup/ip-mib/data_access/ipaddress_ioctl.c
+++ b/agent/mibgroup/ip-mib/data_access/ipaddress_ioctl.c
@@ -244,7 +244,7 @@ _netsnmp_ioctl_ipaddress_container_load_v4(netsnmp_container *container,
          * get broadcast
          */
         memset(&addr_info, 0, sizeof(struct address_flag_info));
-#if defined (NETSNMP_ENABLE_IPV6)
+#if defined (NETSNMP_ENABLE_IPV6) && defined (HAVE_LINUX_RTNETLINK_H)
         addr_info = netsnmp_access_other_info_get(entry->if_index, AF_INET);
         if(addr_info.bcastflg) {
            bcastentry = netsnmp_access_ipaddress_entry_create();

Problem is that <linux/rtnetlink.h> is not available on older kernels, netsnmp_access_other_info_get was therefore not compiled.

fenner pushed a commit to fenner/net-snmp that referenced this issue Aug 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants