Date: Mon, 3 Nov 2003 11:43:59 -0500 From: Vivek Khera <khera@kcilink.com> To: ports@freebsd.org Subject: ports containing perl modules go into /lib instead of /usr/local/lib Message-ID: <16294.34255.356451.725973@yertle.int.kciLink.com>
next in thread | raw e-mail | index | archive | help
For a while now, it seems that ports containing perl modules (such as ImageMagick, rrdtool, and net-snmp to name a few) install the perl components into /lib/perl5 instead of /usr/local/lib/perl5 like they should (and as the pkg-plist expects). Needless to say, this is bad. :-( Anyhow, has anyone else experienced this? I'm running a 4.8-STABLE from mid-July, but it also happens on my recently upgraded 4.9-RELEASE. Both boxes are running perl 5.6.1 from ports, with the appropriate settings in the /etc/make.conf file (ie, I ran "use.perl port"; /usr/bin/perl -v says "5.6.1") I tried tracking the problem for the rrdtool build. When the port is built, it goes something like this: cd perl-shared && /usr/bin/perl Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for RRDs cd perl-shared && gmake .. then goes on to build the module and a bunch of other stuff. when we get around to the install phase ... cd perl-shared && gmake install gmake[3]: Entering directory `/var/tmp/u/sources/usr/ports/net/rrdtool/work/rrdt ool-1.0.45/perl-shared' Installing /lib/perl5/site_perl/5.6.1/mach/auto/RRDs/RRDs.so Installing /lib/perl5/site_perl/5.6.1/mach/auto/RRDs/RRDs.bs Files found in blib/arch: installing files in blib/lib into architecture depende nt library tree Installing /lib/perl5/site_perl/5.6.1/mach/ntmake.pl Installing /lib/perl5/site_perl/5.6.1/mach/RRDs.pm Writing /lib/perl5/site_perl/5.6.1/mach/auto/RRDs/.packlist Appending installation info to /usr/local/lib/perl5/5.6.1/mach/perllocal.pod If I go to that perl-shared directory and type "/usr/bin/perl Makefile.PL" the resulting Makefile is significanly different: 82c82 < INSTALLSITELIB = $(PREFIX)/lib/perl5/site_perl/5.6.1 --- > INSTALLSITELIB = $(SITEPREFIX)/lib/perl5/site_perl/5.6.1 88c88 < INSTALLSITEARCH = $(PREFIX)/lib/perl5/site_perl/5.6.1/mach --- > INSTALLSITEARCH = $(SITEPREFIX)/lib/perl5/site_perl/5.6.1/mach 92c92 < INSTALLBIN = $(PREFIX)/bin --- > INSTALLBIN = $(PERLPREFIX)/bin 98c98 < INSTALLSCRIPT = $(PREFIX)/bin --- > INSTALLSCRIPT = $(PERLPREFIX)/bin 100c100 < INSTALLMAN1DIR = $(PREFIX)/man/man1 --- > INSTALLMAN1DIR = $(PERLPREFIX)/man/man1 106c106 < INSTALLMAN3DIR = $(PREFIX)/lib/perl5/5.6.1/man/man3 --- > INSTALLMAN3DIR = $(PERLPREFIX)/lib/perl5/5.6.1/man/man3 Note also that "PREFIX" is *empty* in the resulting Makefiles, which is why the modules are installed in /lib rather than /usr/local/lib. What could cause this to generate such significantly different output? I don't really see anything in my environment that would cause perl to behave differently. Right now I just go back into those build directories and re-run the build + install to get the bits installed, but this is a painful workaround.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?16294.34255.356451.725973>