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...
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.
Created attachment 90826 [details] Makefile generated by "perl Makefile.PL"
Ditto on this, trying to build Tk800.024 downloaded from CPAN. This is a serious issue.
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?
I too am trying to build Tk800.024 downloaded from CPAN under RedHat 9. Any help (or workarounds) would be appreciated. Thanks.
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 ?
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.
Confirmed, this workaround seems to work. Thanks alexandre!
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... :)
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.
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.
OK, works with LANG=en_US, but not with LANG unset.
This happens to me too, LANG=en_GB.UTF-8.
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.
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
*** Bug 84268 has been marked as a duplicate of this bug. ***
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
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)
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.
*** Bug 90597 has been marked as a duplicate of this bug. ***
*** Bug 90617 has been marked as a duplicate of this bug. ***
'export LANG=C' before running 'perl Makefile.PL' or 'make' is the current workaround for this issue
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.
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.
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.
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.
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.
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?
any chance of errate fixing this?
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
This is still an issue on RHEL3 WS 2.4.21-4.0.1.EL
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.
This is a duplicate of bug #82652 (RH 9) and bug #112339 (RHEL 3).
*** Bug 115288 has been marked as a duplicate of this bug. ***
Re-opening bug, as this is still and issue with RHEL3U2. Can we please get a backport fot the next RHEL3 update cycle?
a fix should make it into U3. look for perl 5.8.3-88.7 or higher
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?
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
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
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