Hello list,

Long time lurker, first time poster. I'm trying (and I think I've
succeeded) to build mod_perl 1.3.29 64-bit with apache 1.3.31 on
Solaris 8. Perl 5.8.4 compiled 64-bit successfully. The problem I'm
having is that modperl's Makefile.PL mutilates the CFLAGS that perl
built with. Specifically, it replaces commas with spaces, as seen
here (line 537):

  if($PERL_EXTRA_CFLAGS) {
      $PERL_EXTRA_CFLAGS = join(" ", split(",", 
$PERL_EXTRA_CFLAGS));
      $PERL_EXTRA_CFLAGS =~ s/\s+/ /g;
  }

Googling turned up: http://mathforum.org/epigone/modperl/yandqueube

Does it really need to do this? No offense, but it appears to be a
rather inelegant way to replace commas, so it screams "last-minute
hack fix" that has lived on a for a year and half.

The problem is that there is specific flag we built perl with,
"-Wa,xarch=v9", which gets turned into "-Wa xarch=v9", which makes
gcc rather unhappy:

======== Error Output for sanity check ========
cd ..; gcc  -DSOLARIS2=280 -DNO_DBM_REWRITEMAP -DMOD_PERL
-DUSE_PERL_SSI -mcpu=v9 -m64 -mcpu=v9 -m64 -Wa,-xarch=v9 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DNO_DL_NEEDED -mcpu=v9
-m64 -mcpu=v9 -m64 -Wa -xarch=v9 -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 `./apaci` -I.
-I/usr/local/perl-5.8.4-64_bit/lib/5.8.4/sun4-solaris-64/CORE   -m64
-o helpers/dummy helpers/dummy.c   -lsocket -lnsl -lpthread   
-L/usr/local/lib -m64 
/usr/local/perl-5.8.4-64_bit/lib/5.8.4/sun4-solaris-64/auto/DynaLoader/DynaLoader.a
-L/usr/local/perl-5.8.4-64_bit/lib/5.8.4/sun4-solaris-64/CORE -lperl
-lsocket -lnsl -ldl -lm -lc
gcc: language arch=v9 not recognized
gcc: language arch=v9 not recognized
ld: fatal: file helpers/dummy.c: unknown file type
ld: fatal: File processing errors. No output written to helpers/dummy
collect2: ld returned 1 exit status
make: *** [dummy] Error 1
============= End of Error Report =============

I commented out those 4 lines in Makefile.PL, rather than try to
figure out what it was trying to do, built it, and all tests passed.


That said, the reason we're building it 64-bit is because we need
MySQL 64-bit (because of some insanely large self-joins and other
madness), and DBD::mysql won't build with 64-bit mysql libraries with
a 32-bit perl. So maybe the real solution is a 32-bit DBD::mysql but
a 64-bit mysqld -- we'll try that next, but I figured I'd ask if
there's a reason for this mod_perl craziness in case we're stuck with
64-bit everything.


        
                
__________________________________
Do you Yahoo!?
Yahoo! Movies - Buy advance tickets for 'Shrek 2'
http://movies.yahoo.com/showtimes/movie?mid=1808405861 

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html

Reply via email to