[MacPorts] #71142: perl5.36 @5.36.3_1 does not build on PPC Tiger, Mac OS X 10.4.11, because ld gets invoked with -rpath
MacPorts
noreply at macports.org
Wed Oct 23 09:14:49 UTC 2024
#71142: perl5.36 @5.36.3_1 does not build on PPC Tiger, Mac OS X 10.4.11, because
ld gets invoked with -rpath
------------------------+----------------------
Reporter: ballapete | Owner: mojca
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.10.2
Resolution: | Keywords: tiger
Port: perl5.36 |
------------------------+----------------------
Comment (by ballapete):
On my old PPC Tiger and Leopard systems I have -rpath in these files:
{{{
pete 235 /\ nice find /Volumes/Tiger/opt/local/lib/perl5
/Volumes/Tiger/System/Library/Perl -type f -exec ggrep -n -e -rpath {}
/dev/null \;
/Volumes/Tiger/opt/local/lib/perl5/5.34/ExtUtils/Liblist/Kid.pm:72:
if ( $thislib =~ s/^(-[LR]|-Wl,-R|-Wl,-rpath,)// ) { # save path flag
type
/Volumes/Tiger/opt/local/lib/perl5/5.34/ExtUtils/MM_Unix.pm:1053:
qq{-rpath "$self->{LD_RUN_PATH}"} : '';
/Volumes/Tiger/opt/local/lib/perl5/5.34/ExtUtils/MakeMaker.pm:3367:
PERL_MM_OPT='CCFLAGS="-Wl,-rpath -Wl,/foo/bar/lib" LIBS="-lwibble
-lwobble"'
/Volumes/Tiger/opt/local/lib/perl5/5.34/darwin-thread-multi-
2level/Config.pod:8284:as -R F<$archlibexp/C<CORE>> (Solaris) or
-Wl,-rpath
/Volumes/Tiger/opt/local/lib/perl5/5.38/ExtUtils/Liblist/Kid.pm:77:
if ( $thislib =~ s/^(-[LR]|-Wl,-R|-Wl,-rpath,)// ) { # save path flag
type
/Volumes/Tiger/opt/local/lib/perl5/5.38/ExtUtils/MM_Unix.pm:1059:
$ldrun = qq{-rpath "$self->{LD_RUN_PATH}"};
/Volumes/Tiger/opt/local/lib/perl5/5.38/ExtUtils/MM_Unix.pm:1062:
# both clang and gcc support -Wl,-rpath, but only clang supports
/Volumes/Tiger/opt/local/lib/perl5/5.38/ExtUtils/MM_Unix.pm:1063:
# -rpath so by using -Wl,-rpath we avoid having to check for the
/Volumes/Tiger/opt/local/lib/perl5/5.38/ExtUtils/MM_Unix.pm:1065:
$ldrun = qq{-Wl,-rpath,"$self->{LD_RUN_PATH}"};
/Volumes/Tiger/opt/local/lib/perl5/5.38/ExtUtils/MakeMaker.pm:3356:
PERL_MM_OPT='CCFLAGS="-Wl,-rpath -Wl,/foo/bar/lib" LIBS="-lwibble
-lwobble"'
/Volumes/Tiger/opt/local/lib/perl5/5.38/darwin-thread-multi-
2level/Config.pod:8478:as -R F<$archlibexp/C<CORE>> (Solaris) or
-Wl,-rpath
/Volumes/Tiger/System/Library/Perl/5.8.6/ExtUtils/MM_Unix.pm:1111:
qq{-rpath "$self->{LD_RUN_PATH}"} : '';
/Volumes/Tiger/System/Library/Perl/5.8.6/darwin-thread-multi-
2level/Config.pod:6769:as -R F<$archlibexp/C<CORE>> (Solaris) or
-Wl,-rpath
}}}
{{{
pete 236 /\ !!:gs:Tiger:Leopard:
/Volumes/Leopard/opt/local/lib/perl5/5.34/ExtUtils/Liblist/Kid.pm:72:
if ( $thislib =~ s/^(-[LR]|-Wl,-R|-Wl,-rpath,)// ) { # save path flag
type
/Volumes/Leopard/opt/local/lib/perl5/5.34/ExtUtils/MM_Unix.pm:1053:
qq{-rpath "$self->{LD_RUN_PATH}"} : '';
/Volumes/Leopard/opt/local/lib/perl5/5.34/ExtUtils/MakeMaker.pm:3367:
PERL_MM_OPT='CCFLAGS="-Wl,-rpath -Wl,/foo/bar/lib" LIBS="-lwibble
-lwobble"'
/Volumes/Leopard/opt/local/lib/perl5/5.34/darwin-thread-multi-
2level/Config.pod:8284:as -R F<$archlibexp/C<CORE>> (Solaris) or
-Wl,-rpath
/Volumes/Leopard/System/Library/Perl/5.8.8/ExtUtils/MM_Unix.pm:919:
qq{-rpath "$self->{LD_RUN_PATH}"} : '';
/Volumes/Leopard/System/Library/Perl/5.8.8/darwin-thread-multi-
2level/Config.pod:6884:as -R F<$archlibexp/C<CORE>> (Solaris) or
-Wl,-rpath
}}}
In Kid.pm obviously a substitution takes place, in MakeMaker.pm it's part
of documentation, and in MM_Unix.pm IRIX is addressed – except for Perl
5.38, installed only on Tiger:
{{{
1058 if ( $Is{IRIX} ) {
1059 $ldrun = qq{-rpath "$self->{LD_RUN_PATH}"};
1060 }
1061 elsif ( $^O eq 'darwin' && $Is{AppleRPath} ) {
1062 # both clang and gcc support -Wl,-rpath, but only clang
supports
1063 # -rpath so by using -Wl,-rpath we avoid having to check
for the
1064 # type of compiler
1065 $ldrun = qq{-Wl,-rpath,"$self->{LD_RUN_PATH}"};
1066 }
}}}
Apple's versions are OK.
--
Ticket URL: <https://trac.macports.org/ticket/71142#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list