Bug 87682 - perl 5.8.0 (-88) builds corrupted Makefiles, perl -V output is corrupted
Summary: perl 5.8.0 (-88) builds corrupted Makefiles, perl -V output is corrupted
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: perl
Version: 9
Hardware: All
OS: Linux
medium
high
Target Milestone: ---
Assignee: Chip Turner
QA Contact:
URL:
Whiteboard:
: 84268 90597 90617 115288 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2003-04-01 07:48 UTC by Taner Halicioglu
Modified: 2014-01-21 22:48 UTC (History)
24 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-06-28 19:24:26 UTC
Embargoed:


Attachments (Terms of Use)
Makefile generated by "perl Makefile.PL" (35.37 KB, text/plain)
2003-04-02 02:28 UTC, Thomas J. Baker
no flags Details

Description Taner Halicioglu 2003-04-01 07:48:29 UTC
Description of problem:
The perl (5.8.0) that is included w/ RH 9 is severely broken in the sense that
it cannot correctly build Makefiles.  I don't think it's isloated to this,
however, since a 'perl -V' is even corrupted!


Version-Release number of selected component (if applicable):
 perl-5.8.0-88.i386.rpm

How reproducible:
 9.0 clean install - or simply install perl RPM

Steps to Reproduce:
1.
2.
3.
    
Actual results:
corrupted Makefiles, and broken "perl -V" output (look for stray ' marks)


Expected results:
Working makefiles ;-)


Additional info:

See also bug 84268.  I opened a new bug because this is STILL AN ISSUE in 9.0! 
I feel that is pretty important to get a fix out ASAP...

Comment 1 Thomas J. Baker 2003-04-02 02:26:52 UTC
I am also having problems with corrupted makefiles. Here is an example:

[tjb@neuromancer ~]# cd /tmp
[tjb@neuromancer /tmp]# tar -zxf ~tjb/incoming/Mail-SpamAssassin-2.52.tar.gz
[tjb@neuromancer /tmp]# cd Mail-SpamAssassin-2.52/
[tjb@neuromancer Mail-SpamAssassin-2.52]# perl Makefile.PL
Checking if your kit is complete...
Looks good
 
Warning: I could not locate your pod2man program. Please make sure,
         your pod2man program is in your PATH before you execute 'make'
 
Writing Makefile for Mail::SpamAssassin
Run Razor v2 tests (these may fail due to network problems)? (y/n) [n]
[tjb@neuromancer Mail-SpamAssassin-2.52]# make
Makefile:92: *** missing separator.  Stop.
[tjb@neuromancer Mail-SpamAssassin-2.52]# whereis pod2man
pod2man: /usr/bin/pod2man /usr/share/man/man1/pod2man.1.gz
[tjb@neuromancer Mail-SpamAssassin-2.52]#

I will attach the created Makefile next.


Comment 2 Thomas J. Baker 2003-04-02 02:28:23 UTC
Created attachment 90826 [details]
Makefile generated by "perl Makefile.PL"

Comment 3 Wade Minter 2003-04-02 14:01:21 UTC
Ditto on this, trying to build Tk800.024 downloaded from CPAN.  This is a
serious issue.

Comment 4 Dan Melchione 2003-04-02 23:12:48 UTC
The description below matches the problem I am having trying to install PerlTk.

From: bbense.edu (bbense.edu)
Subject: Nonmember submission: problems installing perlTk on Red Hat 8 
Newsgroups: comp.lang.perl.tk
Date: 2003-03-12 16:18:56 PST 
 

I just tried building perlTk for the latest RH8 release but ran into a couple 
of
seemingly unrelated problems. I'm using the perl package that came with the
8.0.94 distribution, which is perl 5.8.0 with a registered patch named
"MAINT18379". I'm using Tk804.0_24.tar.gz.

"perl Makefile.PL" produced a few error messages when of the form:
   Extracting tixGrSort.c
   panic: end_shift at ../pTk/Tcl-pTk line 55, <> line 169.

I tried running make anyway but the top level Makefile produced the error:
   Makefile:95: *** missing separator.  Stop.
The problematic lines in the Makefile read:
   94: installhtml3dir=''
   95: installman1
   96: INSTALLSITEBIN = /usr
I commented out this line from the Makefile and ran make again. This
time it started building. complained a lot but kept going until it got to the
file that it couldn't extract properly, where it gave up with:
   tixGrSort.c: In function `Tix_GrSort':
   tixGrSort.c:168: parse error at end of input
   make[1]: *** [tixGrSortub] Error 1

Has anyone seen this, or does anyone have any advice on how to get round these
problems?


Comment 5 Brian Cunnie 2003-04-03 23:20:32 UTC
I too am trying to build Tk800.024 downloaded from CPAN under RedHat 9.  Any
help (or workarounds) would be appreciated.  Thanks.

Comment 6 alexandre dulaunoy 2003-04-04 13:32:02 UTC
We got the same issue of corrupted makefiles for any perl modules.

Is it a specific issue inside the perl binaries or a specific core modules ?

Comment 7 alexandre dulaunoy 2003-04-04 13:41:53 UTC
The problem is coming from the UTF8 conversion. If your LANG use UTF8, you
should not use UTF8. (for example, you can test it by scratching the LANG
variable in your shell env)

Bug seems to come from the encoding operation inside Perl, MakeMaker, or
somewhere  else. 

To fix the issue temporary, you should change the encoding of the LANG. 

 


Comment 8 Dan Melchione 2003-04-04 16:13:05 UTC
Confirmed, this workaround seems to work.  Thanks alexandre!

Comment 9 Taner Halicioglu 2003-04-04 18:05:25 UTC
CONFIRMED that the LANG work-around works...  perl -V is ok, and Makefiles are
built correct when LANG=en_US  (versus the default en_US.UTF-8)

This still should get fixed, obviously... :)

Comment 10 Dan Melchione 2003-04-04 18:17:42 UTC
I spoke a bit too soon.  Makefile is generated, but PerlTk still fails to 
build.  I'm not sure if this is a related issue or not.

Comment 11 Brian Cunnie 2003-04-04 18:37:04 UTC
My "install Bundle::Tk" didn't pass all the tests (only 96%), so this is what I
did as a workaround:

cd .cpan/build/Tk800.024
make install

(which installs it even though it didn't pass the tests).  My Perl/Tk
application works fine.

Comment 12 Dan Melchione 2003-04-04 18:57:49 UTC
OK, works with LANG=en_US, but not with LANG unset.

Comment 13 Chris Hills 2003-04-11 07:14:16 UTC
This happens to me too, LANG=en_GB.UTF-8.

Comment 14 Ben Cattle 2003-04-17 09:13:44 UTC
Same problem, RH 9.0, perl 5.8.0 trying to install Bundle::Tk and Bundle::CPAN. 
My shell's was LANG=en_US.UTF-8 by default. Setting it to LANG=en_US fixed the 
problem.

Comment 15 James Derrick 2003-04-20 09:54:54 UTC
Same error with CPAN install makefiles here, dropping the UTF-8 suffix from the 
$LANG env var fixed it for me using British English:
# echo $LANG
en_GB.UTF-8              (I'm English, so yours may be en_US.UTF-8)
# LANG=en_GB             (just drop the UTF-8 ending)
# export LANG

Thanks for the workaround,

James

Comment 16 Wade Minter 2003-04-24 18:45:59 UTC
*** Bug 84268 has been marked as a duplicate of this bug. ***

Comment 17 Adam Back 2003-05-03 09:30:16 UTC
This is a perl unicode problem -- quite fundamental, even the simplest
conceivable test fails:

% perl -e 'print chr(255)' | od -tx1
> 0000000 c3 bf

which is plain wrong!  It should output ff.

So then there is the bytes pragma which is supposed to force
everything to bytes, which also seems plain broken, viz:

% perl -e 'use bytes; print chr(255)' | od -tx1
0000000 c3 bf

It's not surprising everything is blowing up -- anything that
previously relied on byte semantics of strings with non 7-bit clean
strings is going to barf due to this bug.

I'd up the priority also -- I think this is affecting all kinds of
build environments and applications.  I know a couple of my perl
applications no longer work.

The LANG workaround fixes my application that I was trying to debug,
but I'm not sure if this is a fix or a workaround.

Adam


Comment 18 Bradley 2003-05-03 09:37:47 UTC
Also see http://bugs6.perl.org/rt2/Ticket/Display.html?id=21951. I thought that
I'd tested that on stock 5.8.0 before I reported it via RT, but that install was
using RH9's RPMs too (which I didn't realise)

Comment 19 Chip Turner 2003-05-05 16:29:42 UTC
I have a version of this in testing that resolves this issue.  I will put it on
people.redhat.com in the next day or so if you're interested in testing it.

Comment 20 Chip Turner 2003-05-12 15:07:06 UTC
*** Bug 90597 has been marked as a duplicate of this bug. ***

Comment 21 Chip Turner 2003-05-12 15:07:10 UTC
*** Bug 90617 has been marked as a duplicate of this bug. ***

Comment 22 Chip Turner 2003-05-12 15:10:48 UTC
'export LANG=C' before running 'perl Makefile.PL' or 'make' is the current
workaround for this issue

Comment 23 Chip Turner 2003-05-12 15:20:29 UTC
pre-release 5.8.1 snapshots are available at:
  http://people.redhat.com/cturner/rpms/

These are NOT INTENDED FOR PRODUCTION USE and will very likely break many
things.  But they can help test the above.  feedback welcome.

Comment 25 Need Real Name 2003-05-13 21:55:19 UTC
I installed the binary patch on my RHL9 box and it solved the problems I had 
been having with perl. One of these involved shellwords being broken because of 
the inability to match non-white space. The other I have not analyzed. Both 
scripts are now working fine. Thanks - this has unblocked my work on RHL9.

Comment 26 Daniel Martinez 2003-05-20 18:33:47 UTC
After complete install of redhat 9. I unininstalled mysql packages and compile  
it mysql 4 from sources.
Then when i go to compile DBD::Mysql there are an error:

Unsuccessful stat on filename containing newline 
at /usr/lib/perl5/5.8.0/ExtUtils/Liblist/Kid.pm line 97.
Unsuccessful stat on filename containing newline 
at /usr/lib/perl5/5.8.0/ExtUtils/Liblist/Kid.pm line 97.
Multiple copies of Driver.xst found in: /usr/lib/perl5/site_perl/5.8.0/i386-
linux-thread-multi/auto/DBI /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-
multi/auto/DBI at Makefile.PL line 286
Using DBI 1.37 installed in /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-
multi/auto/DBI
Writing Makefile for DBD::mysql
pampa:~/.cpan/build/DBD-mysql-2.1026$ make
Makefile:89: *** missing separator.  Stop.
pampa:~/.cpan/build/DBD-mysql-2.1026$

Someone in the msql-mysql-modules mailing list show me the comment #22. 
Then works.

Comment 27 Need Real Name 2003-06-13 14:32:06 UTC
What is the status on getting an Errata on this (IMO) extremely serious issue
released? Explaining to my RH9 users how to workaround this FAQ is becoming a drain.

Comment 28 Chip Turner 2003-07-08 00:05:16 UTC
this is fixed in RAWHIDE via 5.8.1 pre-snapshots (still labelled as 5.8.0). 
when an official 5.8.1 release comes out, an errata for RH8 and RH9 will be
possible.  please help test the perl in Rawhide as it is (very close to) an
upstream release candidate.

Comment 29 Frank Sweetser 2003-12-03 15:42:20 UTC
Perl 5.8.2 is out, and the problem is still present in perl-5.8.0-88
from redhat 9 with updates.  Any chance of an errata fixing this?

Comment 30 Alex Weeks 2003-12-16 16:26:02 UTC
any chance of errate fixing this?

Comment 31 Tim Harsch 2003-12-24 01:30:53 UTC
I verify this on Workstation 3.0 as well.

%uname -a
Linux xxx.llnl.gov 2.4.21-4.ELsmp #1 SMP Fri Oct 3 17:52:56 EDT 2003 
i686 i686 i386 GNU/Linux


Comment 32 Erik Bussink 2003-12-29 14:59:10 UTC
This is still an issue on RHEL3 WS 2.4.21-4.0.1.EL

Comment 33 Michael G Schwern 2004-01-03 01:07:41 UTC
Please put out an errata RPM for RH 9 and RHEL3.  I keep getting
MakeMaker bug reports from Redhat users which trace back to this issue.

Comment 34 Milan Kerslager 2004-01-06 14:25:11 UTC
This is a duplicate of bug #82652 (RH 9) and bug #112339 (RHEL 3).

Comment 35 Chip Turner 2004-02-17 17:14:36 UTC
*** Bug 115288 has been marked as a duplicate of this bug. ***

Comment 36 Kevin Sonney 2004-05-20 15:09:08 UTC
Re-opening bug, as this is still and issue with RHEL3U2. Can we please
get a backport fot the next RHEL3 update cycle?

Comment 37 Chip Turner 2004-06-28 19:24:26 UTC
a fix should make it into U3.  look for perl 5.8.3-88.7 or higher

Comment 38 leon breedt 2004-09-07 00:02:31 UTC
running update 3, still have these problems:

[root@smirnov sysconfig]# cat /etc/redhat-release
Red Hat Enterprise Linux ES release 3 (Taroon Update 3)

[root@smirnov sysconfig]# perl -v
This is perl, v5.8.0 built for i386-linux-thread-multi

so when is this fix coming?

Comment 39 Adi 2004-11-13 20:01:56 UTC
I found this at: http://www.flyingtitan.com/nuke/Article280.html that could help you if still 
in trouble (it helpd me):

--- cut here ---

pod2man not working?
This look familiar?

Warning: I could not locate your pod2man program. Please make sure,
your pod2man program is in your PATH before you execute 'make'

Type this before trying to install Spamassassin on a Redhat system with Perl v5.8.0.

Try This:
export LANG=en_US
perl -MCPAN -e shell
install Mail::SpamAssassin

--- cut here ---

Cheers,
Adi

Comment 40 Bill McGonigle 2005-09-01 15:51:47 UTC
Should this be reopened?

I see as of:
  Red Hat Enterprise Linux AS release 3 (Taroon Update 5)

>perl -v
This is perl, v5.8.0 built for i386-linux-thread-multi
(with 1 registered patch, see perl -V for more detail)
  Locally applied patches:
        MAINT18379

A test case is:
# cpan Biblio::Biblio

Comment 41 Rob Barton 2005-10-14 01:27:34 UTC
I agree - this should be reopened, it's still broken in u6.

$ uname -a
Linux mrc-ldap1 2.4.21-32.ELsmp #1 SMP Fri Apr 15 21:17:59 EDT 2005 i686 i686
i386 GNU/Linux

$ cat /etc/redhat-release 
Red Hat Enterprise Linux ES release 3 (Taroon Update 6)

$ rpm -q perl
perl-5.8.0-89.10

(taking from the example in comment #17)
$ perl -e 'print chr(255)' | od -tx1
0000000 c3 bf
0000002

$ perl -e 'use bytes; print chr(255)' | od -tx1
0000000 c3 bf
0000002

$ export LANG=en_US

$ perl -e 'print chr(255)' | od -tx1
0000000 ff
0000001

$ perl -e 'use bytes; print chr(255)' | od -tx1
0000000 ff
0000001



Note You need to log in before you can comment on or make changes to this bug.