From owner-freebsd-ports@FreeBSD.ORG Tue Dec 9 17:31:46 2014 Return-Path: Delivered-To: ports@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4EB352CB; Tue, 9 Dec 2014 17:31:46 +0000 (UTC) Received: from udns.ultimatedns.net (unknown [IPv6:2602:d1:b4d6:e600:4261:86ff:fef6:aa2a]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EEE41684; Tue, 9 Dec 2014 17:31:45 +0000 (UTC) Received: from ultimatedns.net (localhost [127.0.0.1]) by udns.ultimatedns.net (8.14.9/8.14.9) with ESMTP id sB9HWQOD000114; Tue, 9 Dec 2014 09:32:26 -0800 (PST) (envelope-from bsd-lists@bsdforge.com) To: ports@FreeBSD.org, perl@FreeBSD.org, Mathieu Arnold In-Reply-To: References: <20141209163038.GA49302@prod2.absolight.net> <7c516f31c076f6e921cda93641ccb236@ultimatedns.net>, From: "Chris H" Subject: Re: Re: Next Perl update, and plans beyo =?UTF-8?B?bmTigKY=?= Date: Tue, 09 Dec 2014 09:32:26 -0800 Content-Type: text/plain; charset=UTF-8; format=fixed MIME-Version: 1.0 Message-id: Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Dec 2014 17:31:46 -0000 On Tue, 09 Dec 2014 18:02:23 +0100 Mathieu Arnold wrote > +--On 9 décembre 2014 08:53:13 -0800 Chris H > wrote: > |> $ readelf -d > |> /usr/local/lib/perl5/site_perl/mach/5.18/auto/DateTime/DateTime.so|grep > |> perl $ > |> > |> So what the patch[1] does, is force linking with libperl.so.x.yy. After > |> the patch, a compiled Perl module will look like this: > |> > |> $ readelf -d > |> /usr/local/lib/perl5/site_perl/mach/5.18/auto/DateTime/DateTime.so | grep > |> perl 0x0000000000000001 (NEEDED) Shared library: > |> [libperl.so.5.18] 0x000000000000000f (RPATH) Library rpath: > |> [/usr/local/lib/perl5/5.18/mach/CORE] 0x000000000000001d (RUNPATH) > |> Library runpath: [/usr/local/lib/perl5/5.18/mach/CORE] $ > | Apologies if I seem a bit obtuse. But as I read this, it appears > | that Perl modules go from being text based (DateTime.pm) to becoming > | compiled? > | I *must* be missing something obvious. > > Huhu, yes, DateTime.so is already compiled: > $ readelf -d > /usr/local/lib/perl5/site_perl/mach/5.18/auto/DateTime/DateTime.so > > Dynamic section at offset 0x3d70 contains 21 entries: > Tag Type Name/Value > 0x0000000000000001 (NEEDED) Shared library: [libc.so.7] > 0x000000000000000c (INIT) 0x958 > 0x000000000000000d (FINI) 0x3878 > 0x0000000000000004 (HASH) 0x158 > 0x000000006ffffef5 (GNU_HASH) 0x218 > 0x0000000000000005 (STRTAB) 0x518 > 0x0000000000000006 (SYMTAB) 0x260 > 0x000000000000000a (STRSZ) 446 (bytes) > 0x000000000000000b (SYMENT) 24 (bytes) > 0x0000000000000003 (PLTGOT) 0x203f28 > 0x0000000000000002 (PLTRELSZ) 384 (bytes) > 0x0000000000000014 (PLTREL) REAL > 0x0000000000000017 (JMPREL) 0x7d8 > 0x0000000000000007 (REAL) 0x730 > 0x0000000000000008 (RELASZ) 168 (bytes) > 0x0000000000000009 (RELAENT) 24 (bytes) > 0x000000006ffffffe (VERNEED) 0x710 > 0x000000006fffffff (VERNEEDNUM) 1 > 0x000000006ffffff0 (VERSYM) 0x6d6 > 0x000000006ffffff9 (RELACOUNT) 2 > 0x0000000000000000 (NULL) 0x0 > > But it's not linked with libperl.so right now. Ugh. Sorry. I *clearly* didn't think it through. I didn't examine the paths close enough. Of *course* the libs are there. Again, sorry, and thank you very much for taking the time to reply. --Chris > > -- > Mathieu Arnold