New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
perl 5.8.6 fails to build on IRIX 6.5 due to bizarre preprocessor bug #7759
Comments
From jim@rrsl.rsmas.miami.eduCreated by jim@rrsl.rsmas.miami.eduSince I installed IRIX 7.4.1m compiler updates I cannot build How do I workaround or fix this compilation problem? I used IRIX 7.4m compilers to build and install perl 5.8.0. compile error messages: RvDEEPCP(left); cc-1162 cc: ERROR File = gv.c, Line = 1712 RvDEEPCP(left); cc-1018 cc: ERROR File = gv.c, Line = 1712 RvDEEPCP(left); 3 errors detected in the compilation of "gv.c". Perl Info
|
From @rgarciajim@rrsl.rsmas.miami.edu (via RT) wrote:
I'd say it's a bug with your C preprocessor. Can you try the modification below, to see whether it solves your problem? ==== //depot/perl/pp.h#54 - /opt/p4/perl/pp.h ====
|
From @nwc10On Fri, Nov 14, 2003 at 10:15:07AM +0100, Rafael Garcia-Suarez wrote:
If that just moved the error further on, what happens with the build if a: you edit config.h to remove these lines: #if 42 == 1 b: you replace those lines, and add a #error directive inside them Nicholas Clark |
From jim@rrsl.rsmas.miami.eduPerl 5.8.2 gv.c compiles with this change to pp.h (you left out the ;).
|
From jim@rrsl.rsmas.miami.eduI spoke too soon. This change in pp.h resolves the problem in gv.c but CCCMD = cc -n32 -DPERL_CORE -c -DPTHREAD_H_FIRST -D_BSD_TYPES -D_BSD_ dSP; dPOPTOPssrl; cc-1065 cc: ERROR File = pp_hot.c, Line = 101 dSP; dPOPTOPssrl; cc-1020 cc: ERROR File = pp_hot.c, Line = 136 dSP; dATARGET; tryAMAGICbin(concat,opASSIGN); cc-1162 cc: ERROR File = pp_hot.c, Line = 136 dSP; dATARGET; tryAMAGICbin(concat,opASSIGN); cc-1018 cc: ERROR File = pp_hot.c, Line = 136 dSP; dATARGET; tryAMAGICbin(concat,opASSIGN);
|
From jim@rrsl.rsmas.miami.edu
My config.h file has #if 1 == 1 and #if 1 == 42 Do you want me to switch the 1 == 1 and 1 == 42 guard statements? |
From @nwc10On Fri, Nov 14, 2003 at 05:56:20PM -0500, jim@rrsl.rsmas.miami.edu wrote:
No, just take out the entire first block (from #if 1 == 1 to its corresponding However, based on your other message I'm not sure that this will actually Nicholas Clark |
From @nwc10Heiko Schlichting said that I could/should forward this to the list. Nicholas Clark ----- Forwarded message from Heiko Schlichting <heiko@FU-Berlin.DE> ----- Date: Mon, 17 Nov 2003 18:17:42 +0100 Jim, Nick, I noticed your conversion on the perlbug list but as I'm not on the list Without the modifications Nick suggested I can fix the problem setting cpp_stuff='42' in config.sh before Configure distributes it variables. Looking at the code | [heiko@Punkt] 107 (/tmp): cat cpp_stuff.c | [heiko@Punkt] 108 (/tmp): cc -E - < cpp_stuff.c | [heiko@Punkt] 109 (/tmp): cc -E cpp_stuff.c Surprising, but not really a bug. The Configure script tests with input cpp_stuff='1' into cpp_stuff='42' seems to fix the problem - at least for me. If you find this information Heiko Heiko Schlichting | Freie Universität Berlin ----- End forwarded message ----- |
From @doughera88On Mon, 17 Nov 2003, Nicholas Clark wrote:
Thanks for this nice diagnosis:
Yup, Configure's cpp tests did not anticipate this possibility. Is there a If not, then cppstind for IRIX should probably be changed to use the In any case, could you let us know the exact compiler and OS in question Thanks, Andy Dougherty doughera@lafayette.edu |
From mehrdad.ziaei@senecac.on.caHello I'm having problem compiling perl 5.8.5 on Irix 5.6.21f I got some information from system and part of the output. I cheched pp.h, RvDEEPCP defined as a macro and If I just comment SvRV(rv)=AMG_CALLun(rv,copy); in pp.h dSP; dPOPTOPssrl; I wonder if you can help me or show me some directions. Thank you in advance # bash bash-2.05b# cc -version bash-2.05b# uname -apR bash-2.05b# hinv ############################################################## bash-2.05b# sh Configure -Dcc='cc -64' -Duse64bitint Beginning of configuration questions for perl5. Checking echo to see how to suppress newlines... First let's make sure your kit is complete. Checking... This installation shell script will examine your system and ask you On some of the questions which ask for file or directory names you are Locating common programs... Don't worry if any of the following aren't found... Checking compatibility between /sbin/echo and builtin echo (if any)... Symbolic links are supported. Checking how to test for symbolic links... Good, your tr supports [:lower:] and [:upper:] to convert case. First time through, eh? I have some defaults handy for some systems 3b1 dos_djgpp isc_2 os2 svr4 beos greenhills ncr_tower sco_2_3_1 utekv You may give one or more space-separated answers, or "none" if appropriate. Which of these apply, if any? [irix_6] .... Finding dependencies for perlmain.o. If you compile perl5 on a different machine or from a different object ########################################################### bash-2.05b# make RvDEEPCP(left); cc-1162 cc: ERROR File = gv.c, Line = 1713 RvDEEPCP(left); cc-1018 cc: ERROR File = gv.c, Line = 1713 RvDEEPCP(left); 3 errors detected in the compilation of "gv.c". |
From @iabynOn Wed, Sep 29, 2004 at 10:47:37PM -0000, Mehrdad Ziaei wrote:
It looks like Perl is having trouble with the CAT2 macro, which is The entry in your config.sh, cpp_stuff='1' indicates that Perl has determined that your C-preprocessor isn't This seems fairly unlikely in this day and age, so it's probably Dave. -- |
The RT System itself - Status changed from 'new' to 'open' |
From easmith@beatrice.rutgers.eduIn message <20040930193957.GB1897@iabyn.com> (on 30 September 2004 20:39:58
The /usr/bin/cpp preprocessor is _not_ an ANSI C preprocessor; for an ANSI C -Allen -- |
From @TuxOn Thu 30 Sep 2004 22:01, Ed Allen Smith <easmith@beatrice.rutgers.edu> wrote:
Unless the system has an already existing executable cpp wrapper called -- |
From easmith@beatrice.rutgers.eduIn message <20040930222145.16FD.H.M.BRAND@hccnet.nl> (on 30 September 2004
Ah, good, I thought I remembered something like that.
Possible. The only cppstdin I find on an IRIX 6.5.20m system is one that -Allen -- |
From @iabynOn Thu, Sep 30, 2004 at 04:39:32PM -0400, Ed Allen Smith wrote:
Your config.sh has cppstdin='cc -64 -E' and the relevant test in ./Configure is $cat >cpp_stuff.c <<'EOCP' -- |
From easmith@beatrice.rutgers.eduIn message <20040930212255.GD1897@iabyn.com> (on 30 September 2004 22:22:55
Not mine, but the original poster's, but don't worry about it.
Huh. That ought to cause a ANSI C preprocess, unless there's a -cckr flag in
On an IRIX 6.5.20m machine, cpp_stuff.out for cc -64 -E cpp_stuff.c is: #line 1 "cpp_stuff.c" Rei ser However, there appears to be a problem with doing it via stdin: cc -64 -E < cpp_stuff.c > cpp_stuff.out cc -64 -E - < cpp_stuff.c > cpp_stuff.out So a wrapper is necessary. Here, config.sh includes: cppminus='' -Allen -- |
From mehrdad.ziaei@senecac.on.caI installed fw_gcc package from SGI. And using gcc I was able to install perl 5.8.5 without any major problem, Next step is installing bioperl! Appreciate all your help -----Original Message----- On Thu, Sep 30, 2004 at 04:39:32PM -0400, Ed Allen Smith wrote:
Your config.sh has cppstdin='cc -64 -E' and the relevant test in ./Configure is $cat >cpp_stuff.c <<'EOCP' -- |
From jon-perlbug@earth.liHi, perl 5.8.6 will not build out-of-the-box on IRIX 6.5 with the standard $ uname -a $ make RvDEEPCP(left); cc-1162 cc: ERROR File = gv.c, Line = 1722 RvDEEPCP(left); cc-1018 cc: ERROR File = gv.c, Line = 1722 RvDEEPCP(left); 3 errors detected in the compilation of "gv.c". After some extremely helpful discussions with Nicholas Clark, I verified do { SV* tmpRef=((XRV*) (left)->sv_any)->xrv_rv; if ((tmpRef)->sv_refcnt>1) { ((XRV*) (left)->sv_any)->xrv_rv=Perl_amagic_call(left,&PL_sv_undef, copy _amg,1 | 8); Perl_sv_free((SV*)(tmpRef)); } } while (0); ..with a space between "copy" and "_amg" ; this can be traced to the use It turns out that if you run "cc -E cpp_stuff.c" on IRIX, it will invoke The Configure script (lines 17283-17309) appears to test the IRIX cpp If I run "sh Configure -de", and then change config.sh so that Apologies for the somewhat convoluted bug report. I am not aware of any -jc |
@doughera88 - Status changed from 'open' to 'stalled' |
From @doughera88On Sat, 19 Jan 2008, Rick Delaney wrote:
Thanks for the RT link. Yes, that's familiar. Funny thing is, ever since Another tack is to patch hints/irix_6.sh to account for this bizarre Inline Patch--- perl-current/hints/irix_6.sh Tue Jun 13 15:29:12 2006
+++ perl-andy/hints/irix_6.sh Tue Jan 22 11:55:34 2008
@@ -337,6 +337,18 @@
;;
esac
+
+# Workaround [perl #33849]: perl 5.8.6 fails to build on IRIX 6.5 due to
+# bizarre preprocessor bug: cc -E - unfortunately goes into K&R mode, but
+# cc -E file.c doesn't. Force a wrapper to always get the ANSI mode.
+# (We only need to do this for cc, not for gcc. ccversion is computed above.)
+case "$ccversion" in
+'') ;; # gcc. Do nothing.
+*) cppstdin=`pwd`/cppstdin
+ cpprun="$cppstdin"
+ ;;
+esac
+
EOCCBU
# End of cc.cbu callback unit. - Allen
-- Andy Dougherty doughera@lafayette.edu |
The RT System itself - Status changed from 'new' to 'open' |
From @smpetersOn Tue Jan 22 09:01:09 2008, doughera wrote:
Thanks, I applied your patch as change #33040. |
@smpeters - Status changed from 'open' to 'resolved' |
From david@cantrell.org.ukOn Tue, Jan 22, 2008 at 11:59:47AM -0500, Andrew Dougherty wrote:
That doesn't fix it, I'm afraid. -- If I could read only one thing it would be the future, in the |
From @doughera88On Thu, 24 Jan 2008, David Cantrell wrote:
[Sorry I overlooked this reply earlier. Thanks to our valiant Oh, rats. I forgot that this chunk is in a call-back unit, and hence runs Inline Patch--- perl-current/hints/irix_6.sh 2008-01-22 18:50:52.000000000 -0500
+++ perl-andy/hints/irix_6.sh 2008-02-01 12:36:25.363130232 -0500
@@ -344,7 +344,9 @@
# (We only need to do this for cc, not for gcc. ccversion is computed above.)
case "$ccversion" in
'') ;; # gcc. Do nothing.
-*) cppstdin=`pwd`/cppstdin
+*) # Inside this call-back unit, we are down in the UU/ subdirectory,
+ # but Configure will look for cppstdin one level up.
+ cd ..; cppstdin=`pwd`/cppstdin; cd UU
cpprun="$cppstdin"
;;
esac
-- Andy Dougherty doughera@lafayette.edu |
From @rgsOn 01/02/2008, Andy Dougherty <doughera@lafayette.edu> wrote:
Thanks, applied as #33246. |
From david@cantrell.org.ukOn Fri, Feb 01, 2008 at 12:39:39PM -0500, Andy Dougherty wrote:
Sorry it's taken me so long to get back on this - the Irix machine I use With that patch applied it gets quite a bit further, but stops at ... Extracting lib.pm (with variable substitutions) -- |
From @doughera88On Mon, 11 Feb 2008, David Cantrell wrote:
(I assume that the 'coredump' is from miniperl.) At this point, I usually suspect the optimizer, probably having trouble Two diagnostic things to try: 1. make minitest This should run the test suite for miniperl. There will likely be lots of 2. Rebuild without -O3 optimization. (The easiest way to do this is rm *.o If you're really adventurous, you can try recompiling file-by-file, Good luck, -- |
From @nwc10On Mon, Feb 11, 2008 at 12:59:24PM -0500, Andy Dougherty wrote:
If you haven't installed it (yet), ccache is definately your friend for these Nicholas Clark |
From @doyDoes anything else need to be done here? Or can this ticket be closed? |
The RT System itself - Status changed from 'stalled' to 'open' |
From @nwc10On Sun, Jun 24, 2012 at 04:12:01PM -0700, Jesse Luehrs via RT wrote:
Yes, there is something we could still do, in that the suggested change to Nicholas Clark |
From @doughera88On Wed, 27 Jun 2012, Nicholas Clark wrote:
I'm pretty sure nothing has changed here. I've taken this ticket and -- |
From @doughera88On Wed Jun 27 09:16:50 2012, doughera wrote:
I was wrong. This problem was indeed already addressed by changing the |
From [Unknown Contact. See original ticket]On Wed Jun 27 09:16:50 2012, doughera wrote:
I was wrong. This problem was indeed already addressed by changing the |
From @nwc10On Mon, Sep 03, 2012 at 10:10:11AM -0700, Andy Dougherty via RT wrote:
Are you using MS Excel as your e-mail client? :-)
Thanks for tracking this down, and getting a record of the solution Nicholas Clark |
From @doughera88On Mon, 3 Sep 2012, Nicholas Clark wrote:
No, that was me cutting & pasting from an xterm into the RT web interface. -- |
Migrated from rt.perl.org#33849 (status was 'resolved')
Searchable as RT33849$
The text was updated successfully, but these errors were encountered: