Subject: pkg/29440: lang/perl58 fails on AIX 5.3 with GCC compiler
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <pschmied@yahoo.com>
List: pkgsrc-bugs
Date: 02/18/2005 18:24:00
>Number:         29440
>Category:       pkg
>Synopsis:       lang/perl58 fails on AIX 5.3 with GCC compiler
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Feb 18 18:24:00 +0000 2005
>Originator:     Peter Schmiedeskamp
>Release:        AIX 5.3
>Organization:
n/a
>Environment:
AIX sv007 3 5 000000000000
>Description:
GCC fails during linking due to improper linker flag handling.

By default, linker flags are not prepended with the required "-Wl," flag.  This will actually be a problem for many, many packages on AIX.  I'm not sure if there is a way to fix this in one place permanently, but it would appear that at least the perl package requires special treatment.


>How-To-Repeat:
cd /usr/pkgsrc/lang/perl58; bmake
>Fix:
--- Makefile.SH.foo     2005-02-18 09:59:34.000000000 -0700
+++ Makefile.SH 2005-02-18 10:00:55.000000000 -0700
@@ -77,11 +77,11 @@
                linklibperl="-L. -lperl"
                ;;
        aix*)
-               shrpldflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:perl.exp"
+               shrpldflags="-Wl,-H512 -Wl,-T512 -Wl,-bhalt:4 -Wl,-bM:SRE -Wl,-b
E:perl.exp"
                case "$osvers" in
                3*)     shrpldflags="$shrpldflags -e _nostart"
                        ;;
-               *)      shrpldflags="$shrpldflags -b noentry"
+               *)      shrpldflags="$shrpldflags -Wl,-bnoentry"
                        ;;
                esac
                shrpldflags="$shrpldflags $ldflags $perllibs $cryptlib"

A patch should look something like that.