Re: [net-snmp/net-snmp] Compile from Source of 5.9 Results in Missing Libraries? (#289)

Dachshund Digital <[email protected]> Fri, 14 May 2021 09:39:41 -0700
Newsgroups gmane.network.net-snmp.user
Message-ID <[email protected]>
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