FreeBSD Port: dnsmasq-2.57_3,1

Pierre PEYRONNEL pierre.peyronnel at gmail.com
Sun Jun 19 14:12:20 UTC 2011


Hi Sahil and Matthias, 

thanks for you replies.
I did not know about the subtlety about RELEASE, STABLE, etc... with pkg_add as i'm fairly new to FreeNAS and FreeBSD.

So I installed a real FreeBSD 8.2-LATEST in a VM and dug more. It turns out that :

- the dnsmasq package is not broken, but i don't see why it needs the EXACT version libidn-1.16 to really work
(on a fresh system the exact libidn-1.16 gets installed)
- when installing on a system that has a higher libidn (like 1.19...) pkg_add issues a warning but dnsmasq actually does not work, as it looks for 1.16
- the libidn-1.19 package actually gives you libidn.so.17

So... I ended up using the oldest trick :
- ln -s libidn.so.16 libidn.so.17

And as hoped, it works.

> Attempting to record package into /var/db/pkg/dnsmasq-2.55,1..
> Trying to record dependency on package 'pkg-config-0.25_1' with 'devel/pkg-config' origin.
> Trying to record dependency on package 'libiconv-1.13.1_1' with 'converters/libiconv' origin.
> Trying to record dependency on package 'gettext-0.18.1.1' with 'devel/gettext' origin.
> Trying to record dependency on package 'libidn-1.16' with 'dns/libidn' origin.
> pkg_add: warning: package 'dnsmasq-2.55,1' requires 'libidn-1.16', but 'libidn-1.19' is installed
> Package dnsmasq-2.55,1 registered in /var/db/pkg/dnsmasq-2.55,1
> 
> *** To enable dnsmasq, edit /usr/local/etc/dnsmasq.conf and
> *** set dnsmasq_enable="YES" in /etc/rc.conf[.local]
> 
> [root at freenas ~]# /usr/local/sbin/dnsmasq
> /libexec/ld-elf.so.1: Shared object "libidn.so.16" not found, required by "dnsmasq"


thanks for your help,
Pierre

Le 19 juin 2011 à 09:15, Sahil Tandon a écrit :

> On Sat, 2011-06-18 at 22:37:36 +0200, Pierre PEYRONNEL wrote:
> 
>> i'm trying to install on my FreeNAS 8.0 system (based on FreeBDS 8.2)
>> the  dnsmasq package as described on this page :
>> http://www.FreeBSD.org/cgi/ports.cgi?query=dnsmasq&stype=all
>> 
>> where it says it needs libidn-1.19
>> 
>> but once installed (with pkg_add -r dnsmasq), i get the following :
>> 
>> [root at freenas /usr/local/sbin]# ./dnsmasq /libexec/ld-elf.so.1: Shared
>> object "libidn.so.16" not found, required by "dnsmasq"
>> 
>> - why isn't it linked with libidn.so ? i'm thinking it would prevent
>> the version issue with this lib.
> 
> pkg_add(1) fetched an older package of dnsmasq which, in turn, had been
> linked against the older libidn library.  This is expected behavior if
> you are running -RELEASE, as documented in the FreeBSD Handbook (4.4.1
> Installing a Package):
> 
> Note: pkg_add(1) will download the latest version of your application
> if you are using FreeBSD-CURRENT or FreeBSD-STABLE. If you run a
> -RELEASE version, it will grab the version of the package that was built
> with your release. It is possible to change this behavior by overriding
> PACKAGESITE. For example, if you run a FreeBSD 8.1-RELEASE system, by
> default pkg_add(1) will try to fetch packages from
> ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/.
> If you want to force pkg_add(1) to download FreeBSD 8-STABLE packages,
> set PACKAGESITE to
> ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/.
> 
>> - can this be fixed in ports ? (or will i need to install a full
>> FreeBSD 8.2 and recompile it with the libidn version i need ?)
> 
> There is no problem to be fixed; either compile the dnsmasq port
> yourself, or fetch a -STABLE package.
> 
> -- 
> Sahil Tandon <sahil at FreeBSD.org>



More information about the freebsd-ports mailing list