pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/56168: Perl on AIX: rpath flag fix



>Number:         56168
>Category:       pkg
>Synopsis:       Perl on AIX: rpath flag fix
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri May 14 17:25:00 +0000 2021
>Originator:     Lehel Bernadt
>Release:        2021Q1
>Organization:
One Identity
>Environment:
AIX 7.1
>Description:
Even if I set COMPILER_RPATH_FLAG to the correct value on AIX, the lang/perl5 build has the problem of not setting the correct rpath for the perl binary. This is because in files/Policy.sh (which drives perl's Configure) only LDFLAGS and LDDLFLAGS are set up here:

# XCOFF targets need the path specified where libperl.a resides.
if $test "@OBJECT_FMT@" = "XCOFF"; then
        ldflags="@COMPILER_RPATH_FLAG@\${shrpdir} \$ldflags"
        lddlflags="@COMPILER_RPATH_FLAG@\${shrpdir} \$lddlflags"
fi

However the perl binary is built using the CLDFLAGS and CCDLFLAGS variables. This causes perl not to run because it cannot find libperl.a.
>How-To-Repeat:

>Fix:
Patch Policy.sh like this:
===========================
--- Policy.sh.orig	2021-05-14 09:52:00.000000000 +0200
+++ Policy.sh	2021-05-10 16:31:30.000000000 +0200
@@ -89,6 +89,7 @@
 if $test "@OBJECT_FMT@" = "XCOFF"; then
 	ldflags="@COMPILER_RPATH_FLAG@\${shrpdir} \$ldflags"
 	lddlflags="@COMPILER_RPATH_FLAG@\${shrpdir} \$lddlflags"
+	ccdlflags="@COMPILER_RPATH_FLAG@\${shrpdir} \$ccdlflags"
 fi

 # Set pkgsrc defaults for library and header search paths:
===========================


Home | Main Index | Thread Index | Old Index