Re: [net-snmp/net-snmp] Compile from Source of 5.9 Results in Missing Libraries? (#289)
Dachshund Digital <[email protected]> Fri, 14 May 2021 14:58:22 -0700
| Newsgroups | gmane.network.net-snmp.user |
|---|---|
| Message-ID | <[email protected]> |
One more note about this... this morning I had an itch I could not scratch, about why the entire issue resulted. So, I completely uninstalled net-snmp-5.9 via make uninstall, deleted the source directory, then I installed the existing official net-snmp package for Debian 10 buster (which is 5.7.1 if memory serves), I validated snmp was working as expected. I then uninstalled the official package via apt remove --purge. Copied down a clean copy of net-snmp 5.9 and proceeded following my notes, running configure, make, and make install. I confirmed that /usr/local/sbin is the default path, I confirmed that /usr/local/sbin, was in libc.conf under /etc/ld.so.conf.d/, and then ran ldd. This time ldd did not report any missing libraries? That strikes me as odd! So I guess the next step is a completely clean Debian 10 buster OS install, and see if I can get any consistency for the issue or not. Clearly this issue occurs because there is enough communication about it via Google search. And clearly I did trip over it yesterday. But it is a bit of mystery at this point how or why. -DD On 5/14/2021 09:39, Dachshund Digital wrote: > > Actually I figured this out... not completely sure why it happens on > my system, and I found a few references to it happening for others via > google as well... so it is not a one off issue per se. > > One odd quirk is that my install of net-snmp defaults on Debian 10 > /usr/local/sbin, not /usr/sbin/, I ran ./configure with no added > options for not sure why this delta emerges. But this is only an > issue for the unit file (systemd) default file that needs to be > tweaked for the different path. It is this difference in path that > resulted that is at the heart of the issue. But I digress, to fix the > 'not found' (they do exist, just not found) libraries issue there are > two options to that I have found that work. > > Option 1: > > Edit the hidden bashrc file for the user that will run snmpd, add > the the following line... > > export LD_LIBRARY_PATH=/usr/local/lib > > Logout and login to invoke bashrc execution. > > Option 2, which I like better is to do the following... > > Check for or Create /etc/ld.so.conf.d/libc.conf. Some systems I > reviewed had libc.conf with the needed path, some did not. One google > reference created a local.conf file with the same path as well. > > # nano /etc/ld.so.conf.d/libc.conf > > /usr/local/lib > > Then run ldconfig > > After the above changes... > > # ldd /usr/local/sbin/snmpd > linux-gate.so.1 (0xb7fa8000) > libnetsnmpagent.so.40 => /usr/local/lib/libnetsnmpagent.so.40 > (0xb7f1c000) > libnetsnmpmibs.so.40 => /usr/local/lib/libnetsnmpmibs.so.40 > (0xb7cc7000) > libnetsnmp.so.40 => /usr/local/lib/libnetsnmp.so.40 (0xb7be5000) > libperl.so.5.28 => /usr/lib/i386-linux-gnu/libperl.so.5.28 > (0xb787d000) > libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7877000) > libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 > (0xb7856000) > libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7678000) > libcrypt.so.1 => /lib/i386-linux-gnu/libcrypt.so.1 (0xb7645000) > libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb753f000) > /lib/ld-linux.so.2 (0xb7faa000) > > The libraries that were not found are now found! This should let > snmpd fine the libraries as expected, via direct run or via systemd > unit file for same. Providing you update the unit file for the path > delta as noted above.Just for reference, the tweaked unit file is > below... For my test, I did not create a specific user, used root. > This is not a best practice, the current Debian 10 package (based on > 5.7.1) uses 'Debian-snmp' as execution user, you should consider doing > this if moving to 5.9 when compiled from source. > > # cat /lib/systemd/system/snmpd.service > [Unit] > Description=Simple Network Management Protocol (SNMP) daemon. > After=syslog.target network.target > > [Service] > Type=simple > ExecStartPre=/bin/mkdir -p /var/run/agentx > #ExecStart=/usr/local/sbin/snmpd -LS6d -Lf /dev/null -u Debian-snmp -g > Debian-snmp -I -smux,mteTrigger,mteTriggerConf -f -p /run/snmpd.pid > ExecStart=/usr/local/sbin/snmpd -LS6d -Lf /dev/null -I > -smux,mteTrigger,mteTriggerConf -f -p /run/snmpd.pid > ExecReload=/bin/kill -HUP $MAINPID > > [Install] > WantedBy=multi-user.target > > -DD > > On 5/13/2021 20:25, Bart Van Assche wrote: > >> I can't reproduce this. If I build and install Net-SNMP from the v5.9 >> branch, the installed binary runs fine: >> >> |./configure --enable-developer --enable-ipv6 >> --prefix=/home/bart/net-snmp-V5-9-patches --with-cflags=-g -O1 -pipe >> -DNETSNMP_USE_ASSERT -D_FORTIFY_SOURCE=2 -fno-strict-aliasing >> -fno-inline -fno-inline-functions -fno-inline-functions- called-once >> -fno-early-inlining -Wno-inline -fno-inline-small-functions -DNETSN >> MP_USE_ASSERT --with-defaults --enable-new-features >> --with-perl-modules --with- default-snmp-version=2 >> --with-transports=IPX STD DTLSUDP TLSTCP --with-security -modules=usm >> tsm --with-mib-modules=agent/extend examples/data_set examples/del >> ayed_instance examples/example examples/notification >> examples/scalar_int exampl es/ucdDemoPublic examples/watched smux >> disman/event disman/expression disman/mt eEventNotificationTable >> disman/mteEventTable disman/mteObjectsTable disman/mteT >> riggerBooleanTable disman/mteTriggerDeltaTable >> disman/mteTriggerExistenceTable disman/mteTriggerTable >> disman/mteTriggerThresholdTable disman/nslookup-mib dism an/ping-mib >> disman/schedule disman/traceroute-mib examples/netSnmpHostsTable ha >> rdware/cpu hardware/memory host ip-forward-mib >> ip-mib/inetNetToMediaTable ip-mi b/ipv4InterfaceTable >> ip-mib/ipv6InterfaceTable mibII/mta_sendmail misc/ipfwacc >> snmp-notification-mib tcp-mib testhandler tunnel ucd-snmp/diskio >> ucd-snmp/exten sible udp-mib Rmon Rmon/alarm snmp-usm-dh-objects-mib >> tlstm-mib tsm-mib --with- ldflags=-L/usr/local/lib CFLAGS=-g -O1 >> -pipe -DNETSNMP_USE_ASSERT -D_FORTIFY_SO URCE=2 -fno-strict-aliasing >> -fno-inline -fno-inline-functions -fno-inline-func tions-called-once >> -fno-early-inlining -Wno-inline -fno-inline-small-functions C >> PPFLAGS=-g -O1 -pipe -DNETSNMP_USE_ASSERT -D_FORTIFY_SOURCE=2 >> -fno-strict-aliasing -fno-inline -fno-inline-functions >> -fno-inline-functions-called-once -fno-early-inlining -Wno-inline >> -fno-inline-small-functions LDFLAGS= && make && make install | >> >> From the installation directory (/home/bart/net-snmp-V5-9-patches): >> >> |$ ldd sbin/snmpd linux-vdso.so.1 (0x00007ffd7f3d8000) >> libnetsnmpagent.so.40 => >> /home/bart/net-snmp-V5-9-patches/lib/libnetsnmpagent.so.40 >> (0x00007fd958ca7000) libnetsnmpmibs.so.40 => >> /home/bart/net-snmp-V5-9-patches/lib/libnetsnmpmibs.so.40 >> (0x00007fd95899d000) libnetsnmp.so.40 => >> /home/bart/net-snmp-V5-9-patches/lib/libnetsnmp.so.40 >> (0x00007fd9588c0000) libpthread.so.0 => >> /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fd958897000) libc.so.6 >> => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd9586d2000) >> libperl.so.5.32 => /lib/x86_64-linux-gnu/libperl.so.5.32 >> (0x00007fd958344000) libcrypto.so.1.1 => >> /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007fd95804e000) >> libpci.so.3 => /lib/x86_64-linux-gnu/libpci.so.3 (0x00007fd95803d000) >> libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd958037000) >> libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd957ef3000) >> libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 >> (0x00007fd957e60000) /lib64/ld-linux-x86-64.so.2 (0x00007fd958d27000) >> libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 >> (0x00007fd957e25000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 >> (0x00007fd957e06000) libresolv.so.2 => >> /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fd957dec000) >> libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 >> (0x00007fd957dc4000) $ ./sbin/snmpd -f -Lo -c >> ~/software/tools/snmpd.conf -r :1161 [ snmpd runs fine ] | >> >> — >> You are receiving this because you authored the thread. >> Reply to this email directly, view it on GitHub >> <https://github.com/net-snmp/net-snmp/issues/289#issuecomment-840979684>, >> or unsubscribe >> <https://github.com/notifications/unsubscribe-auth/AALK3TMVCJFBCYSG3F6L5DTTNSJYZANCNFSM443BOCOQ>. >> > > > _______________________________________________ > Net-snmp-users mailing list > [email protected] > Please see the following page to unsubscribe or change other options: > https://lists.sourceforge.net/lists/listinfo/net-snmp-users _______________________________________________ Net-snmp-users mailing list [email protected] Please see the following page to unsubscribe or change other options: https://lists.sourceforge.net/lists/listinfo/net-snmp-users