Date: Tue, 29 Mar 2016 23:09:37 -0700 From: Cy Schubert <Cy.Schubert@komquats.com> To: Dewayne Geraghty <dewaynegeraghty@gmail.com> Cc: ports-list freebsd <freebsd-ports@freebsd.org>, cy@freebsd.org Subject: Re: Library creep and additional dependencies for net/ntp? Message-ID: <201603300609.u2U69b4k062050@slippy.cwsent.com> In-Reply-To: Message from Dewayne Geraghty <dewaynegeraghty@gmail.com> of "Wed, 30 Mar 2016 14:37:48 %2B1100." <CAGnMC6pGQ9iMZAHE-NWHboCw4MaRT%2Bk2nXzOsXD2fkWg%2Bkdhhw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <CAGnMC6pGQ9iMZAHE-NWHboCw4MaRT+k2nXzOsXD2fkWg+kdhhw@mail.gmail.c om> , Dewayne Geraghty writes: > --001a114035e2660c5e052f3be038 > Content-Type: text/plain; charset=UTF-8 > > Overnight I updated /usr/ports via svnlite, rebuilt all ports and noticed > additional libraries and dependencies for net/ntp > > On 12th Feb, I'd built ntp-4.2.8p6.txz. Checking the libraries, I had > # ldd /usr/local/sbin/ntpd > /usr/local/sbin/ntpd: > libmd.so.6 => /lib/libmd.so.6 (0x280fb000) > libm.so.5 => /lib/libm.so.5 (0x2810f000) > libcrypto.so.8 => /usr/local/lib/libcrypto.so.8 (0x28139000) > libintl.so.8 => /usr/local/lib/libintl.so.8 (0x282ca000) > libthr.so.3 => /lib/libthr.so.3 (0x282d3000) > libc.so.7 => /lib/libc.so.7 (0x282f4000) > > Today, I rebuilt ntp and found > # ldd /usr/local/sbin/ntpd > /usr/local/sbin/ntpd: > * libmd5.so.0 => /usr/local/lib/libmd5.so.0 (0x280fc000) - from > libwww* > libm.so.5 => /lib/libm.so.5 (0x280fe000) > libcrypto.so.8 => /usr/local/lib/libcrypto.so.8 (0x28128000) > * libdns_sd.so.1 => /usr/local/lib/libdns_sd.so.1 (0x282b9000) - > mDNSResponder* > libintl.so.8 => /usr/local/lib/libintl.so.8 (0x282c1000) > libthr.so.3 => /lib/libthr.so.3 (0x282ca000) > libc.so.7 => /lib/libc.so.7 (0x282eb000) > > * libz.so.6 => /lib/libz.so.6 (0x2845e000) libssl.so.8 => > /usr/local/lib/libssl.so.8 (0x28473000)* > > Checking pkg info -d ntpd > # pkg info -d ntp > ntp-4.2.8p6: > openssl-1.0.2_8 > libevent2-2.0.22_1 > gettext-runtime-0.19.6 > libedit-3.1.20150325_1 > > Can anyone shed any light on why ntp has picked up these additional > libraries and created additional dependencies on libwww and mDNSresponder? > > I'm also curious as to how *libz *and *libssl *are now required, between > ntp4.2.8p6 built in February vs the March build? > > By way of comparison, > /usr/sbin/ntpd: (base OS ntp also ntp4.2.8p6) > libm.so.5 => /lib/libm.so.5 (0x8008d2000) > libthr.so.3 => /lib/libthr.so.3 (0x800afa000) > libcrypto.so.7 => /lib/libcrypto.so.7 (0x800d1f000) > libc.so.7 => /lib/libc.so.7 (0x801115000) > > These results are on "FreeBSD 10.3-PRERELEASE #0 r296427M:" My options for > ntp have remained unchanged since 20140914. Actually nothing has changed. However the net/ntp ./configure script detects if additional libraries are already on your system, e.g. libmd5, libdns_sd, and uses them. For instance, my laptop has huge collection of packages installed to support various GUI environments under X: slippy$ ldd /usr/local/sbin/ntpd /usr/local/sbin/ntpd: libmd5.so.0 => /usr/local/lib/libmd5.so.0 (0x2c4c6000) libm.so.5 => /lib/libm.so.5 (0x2c6c8000) libcrypto.so.8 => /usr/local/lib/libcrypto.so.8 (0x2ca00000) libdns_sd.so.1 => /usr/local/lib/libdns_sd.so.1 (0x2ce5e000) libintl.so.8 => /usr/local/lib/libintl.so.8 (0x2d066000) libthr.so.3 => /lib/libthr.so.3 (0x2d271000) libc.so.7 => /lib/libc.so.7 (0x2d496000) libz.so.6 => /lib/libz.so.6 (0x2d843000) libssl.so.7 => /usr/lib/libssl.so.7 (0x2da59000) libcrypto.so.7 => /lib/libcrypto.so.7 (0x2dcc5000) slippy$ My firewall OTOH bare bones, has very few packages and no X installed: cwfw# ldd /usr/local/sbin/ntpd /usr/local/sbin/ntpd: libmd.so.6 => /lib/libmd.so.6 (0x8008ba000) libm.so.5 => /lib/libm.so.5 (0x800aca000) libcrypto.so.8 => /usr/local/lib/libcrypto.so.8 (0x800e00000) libintl.so.8 => /usr/local/lib/libintl.so.8 (0x801253000) libthr.so.3 => /lib/libthr.so.3 (0x80145e000) libc.so.7 => /lib/libc.so.7 (0x801683000) cwfw# In my poudriere build repo, the cached package (it's still building), ntpd references: cwsys$ ldd /tmp/usr/local/sbin/ntpd /tmp/usr/local/sbin/ntpd: libmd.so.6 => /lib/libmd.so.6 (0x2c4c4000) libm.so.5 => /lib/libm.so.5 (0x2c6d4000) libcrypto.so.7 => /lib/libcrypto.so.7 (0x2c8fd000) libthr.so.3 => /lib/libthr.so.3 (0x2ccf3000) libc.so.7 => /lib/libc.so.7 (0x2cf18000) cwsys$ The ntp tarball does this out of the box -- read ./configure. The more libraries the ntp build finds, the more it uses. Don't worry about it dragging in gratuitous packages. It won't. But, it does use whatever it detects. If you want a minimal build, use poudriere to build your own binary packages or use FreeBSD.org built binary packages. (If you're wondering, ntpd on my laptop looks as it does because I did a point upgrade of net/ntp outside of poudriere built packages.) Generally, it's recommended people use binary packages. To summarize, use binary packages. If you want to roll your own, use poudriere, the install your own binary packages. Otherwise ports/net/ntp will dynamically discover libraries during ./configure it can use. Hope this helps. -- Cheers, Cy Schubert <Cy.Schubert@komquats.com> or <Cy.Schubert@cschubert.com> FreeBSD UNIX: <cy@FreeBSD.org> Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201603300609.u2U69b4k062050>