[Johnds (AT) sgi (DOT) com - Sun 02 10:06:48 2005]:
Fra: Steve Peters via RT [mailto:perlbug-followup (AT) perl (DOT) org]
Sendt: 02-10-2005 06:55
Til: John Damm Soerensen
Emne: [perl #37156] perl-5.8.7 doen't compile on IA64
[Johnds (AT) sgi (DOT) com - Tue Sep 13 04:07:02 2005]:
Just to advice you about a problem with IA64 gcc-3.2.3-47 and perl-
5.8.7, that seems to be well known, but not mentionened in your
README's.
The problem shows during compilation as:
./miniperl -Ilib lib/lib_pm.PL
Attempt to free unreferenced scalar: SV 0x6000000000034d00 at
lib/lib_pm.PL line 1.
Attempt to free unreferenced scalar: SV 0x600000000003c7c0 at
lib/File/Basename.pm line 138.
Attempt to free unreferenced scalar: SV 0x600000000003c7c0 at
lib/File/Basename.pm line 142.
Attempt to free unreferenced scalar: SV 0x6000000000065680 at
lib/warnings.pm
line 134.
Attempt to free unreferenced scalar: SV 0x600000000003c7f0 at
lib/File/Basename.pm line 143.
Attempt to free unreferenced scalar: SV 0x6000000000042980 at
lib/Exporter/Heavy.pm line 3.
make: [lib/lib.pm] Segmentation fault
The workarounds are:
1. Upgrade gcc to gcc-3.2.3-50 or later
2. Compile pp_ctl.c, pp_hot.c and pp_sort.c using
3. Compile pp_ctl.c, pp_hot.c and pp_sort.c using and
I have tried workaround 3 on both 5.8.6 and 5.8.7 and it works fine.
Maybe you should consider er README.ia64 with this information?
The full description of the problem maybe found at:
BR
John Damm Srensen
SGI DK
An existing chang to the hints/linux.sh was made to fix this problem
with PPC chips. It defaults optimize to on all PPC/Linux. I'd
prefer to simply add the "" to ccflags.
Any other thoughts?
It is K with me, the customer I helped with this problem has tested
perl compiled with "-fno-delete-null-pointer"and it works without
giving him any problems. But I think if possible it should only be
done for versions of gcc versions less than gcc-3.2.3-50
problem is that "less than gcc-3.2.3-50" has a different meaning
for RedHat, Suse, Ubuntu, Slackware, etc. Also, cruising through the
RedHat bugzilla suggest that this problem exists for the 3.2, 3.3, and
3.4 branches of the gcc tree, without a good answer of where this
problem is actually solved. So, I've added the following patch to
hopefully deal with this problem.
Change 28155 by stevep@stevep-kirk on 2006/05/10 23:02:20
Add to ccflags on Itaniums when
compiling with gcc's 3.2, 3.3, or 3.4. This fixes RT #37156.
Affected files
//depot/perl/hints/linux.sh#57 edit
Differences
//depot/perl/hints/linux.sh#57 (text)
@@ -98,9 +98,19 @@
case "`uname -m`" in
ppc*)
# on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
- # with ; so downgrade to
+ # with ; so downgrade to
optimize=''
;;
+ ia64*)
+ # This architecture has had various problems with gcc's
+ # in the 3.2, 3.3, and 3.4 releases when optimized to See
+ # RT #37156 for a discussion of the problem.
+ case "`${cc:-gcc} -v 2>&1`" in
+ *"version 3.2"*|*"version 3.3"*|*"version 3.4"*)
+ ccflags=" $ccflags"
+ ;;
+ esac
+ ;;
esac
;;
esac