From owner-freebsd-perl@freebsd.org Sun May 15 22:03:50 2016 Return-Path: Delivered-To: freebsd-perl@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B4637B3B2A9 for ; Sun, 15 May 2016 22:03:50 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mailman.ysv.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 9E69B114B for ; Sun, 15 May 2016 22:03:50 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: by mailman.ysv.freebsd.org (Postfix) id 9A474B3B2A8; Sun, 15 May 2016 22:03:50 +0000 (UTC) Delivered-To: perl@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 97C27B3B2A7 for ; Sun, 15 May 2016 22:03:50 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7AB391149 for ; Sun, 15 May 2016 22:03:50 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id u4FM3om2018024 for ; Sun, 15 May 2016 22:03:50 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: perl@FreeBSD.org Subject: [Bug 209173] lang/perl5.22: port build has inappropriate use of -Wl, -R/usr/local/lib/perl5/5.22/mach/CORE before the update libperl.so.5.22.2 is there to use (11.0-CURRENT in use) Date: Sun, 15 May 2016 22:03:50 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: markmi@dsl-only.net X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: perl@FreeBSD.org X-Bugzilla-Flags: maintainer-feedback? X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-perl@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: maintainer of a number of perl-related ports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 May 2016 22:03:50 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D209173 --- Comment #10 from Mark Millard --- Looking around I see that in the ordering of things tracing where the -Wl,-R comes from (working backwards from a particular point): . . ./work/perl-5.22.2/config.sh contains a line that assigns ccdlflags: ccdlflags=3D' -Wl,-R/usr/local/lib/perl5/5.22/mach/CORE' The build's log file shows a line that says: Creating config.sh... at around 28% into the log file. By contrast the line: Adding -Wl,-R/usr/local/lib/perl5/5.22/mach/CORE to the flags is at around 6% into the log file and is the first mention of "CORE" in the= log file. At around 5% is the question/answer: Where do you want to put the public architecture-dependent libraries? (~name okay) [/usr/local/lib/perl5/5.22/mach]=20=20 which seems to be the source of the path before "/CORE" in the -Wl,-R use. The question is from: . . ./work/perl-5.22/Configure It is Configure that is causing . . ./work/perl-5.22/config.sh and the like= to use "-Wl,-R/usr/local/lib/perl5/5.22/mach/CORE" for "$osname" being "freebs= d". This is in part because of the answer to a prior question: Any special flags to pass to $cc to use dynamic linking? [none] being "none" so that the default value for ccdlflags is assigned, which hap= pens to reference the final installation place and so presumes no staging. If the answer was something else but "none" that answer would be the ccdlfl= ags value instead. With "none" the default ends up being based on: shrpdir=3D$archlibexp/CORE via (for "$osname" being "freebsd"): xxx=3D"-Wl,-R$shrplibdir" and a later: ccdlflags=3D"$ccdlflags $xxx" For the wrong-.so-place tests (as long as they are used) as long as a stagi= ng area is in use by FreeBSD ports design instead of direct use of the final installation place the perl command built for use in those tests needs to r= efer to the staging area libperl.so.5.22, not to the installation place. (5.22 is just my specific example context and so is over specific overall.) An alternative is to skip all tests that are before installation in the fin= al place that would be using the wrong/missing libperl.so.5.* from the referen= ce to the final place instead of the staging place. Of course the final installed perl executable would need to refer to the fi= nal installation place instead of the staging area. Or perl needs to allow external control of the place to find the dynamic linking materials and then to be externally controlled for the staging vs. final stages. This would appear to need at least a different answer to: Any special flags to pass to $cc to use dynamic linking? [none] unless . . ./work/perl-5.22/Configure is reworked in some other way. --=20 You are receiving this mail because: You are the assignee for the bug.=