-Wl,-E

2002-08-15 Thread Ihor Bilyy

Hello!

I can't build apache 1.3.26 with mod_perl 1.27 on Solaris 2.8
I use:
perl Makefile.pl APACHE_SRC=../apache1/src \
NO_HTTPD=1 USE_APACI=1 PREP_HTTPD \
EVERYTHING=1

and in apache directory:
./configure --activate-module=src/modules/perl/libperl.a

here is the output:
Configuring for Apache, Version 1.3.26
 + using installation path layout: Apache (config.layout)
 + activated perl module (modules/perl/libperl.a)
Creating Makefile
Creating Configuration.apaci in src
Creating Makefile in src
 + configured for Solaris 280 platform
 + setting C compiler to gcc
 + setting C pre-processor to gcc -E
 + checking for system header files
 + adding selected modules
o perl_module uses ConfigStart/End
  + mod_perl build type: OBJ
  + id: mod_perl/1.27
  + id: Perl/v5.6.1 (solaris) [perl]
  + setting up mod_perl build environment
  + adjusting Apache build environment
  + enabling Perl support for SSI (mod_include)
 + using builtin Expat
 + checking sizeof various data types
 + doing sanity check on compiler and options
** A test compilation with your Makefile configuration
** failed.  The below error output from the compilation
** test will give you an idea what is failing. Note that
** Apache requires an ANSI C Compiler, such as gcc.

 Error Output for sanity check 
cd ..; gcc  -DSOLARIS2=280 -DMOD_PERL -DUSE_PERL_SSI 
-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FI
LE_OFFSET_BITS=64 -DUSE_EXPAT -I./lib/expat-lite 
-DNO_DL_NEEDED `./apaci` -I. -I/usr/local//lib/perl5/5.6.1/sun4-solaris
/CORE-o helpers/dummy helpers/dummy.c   -lsocket -lnsl -lpthread  
-Wl,-E  -L/usr/local/lib  
/usr/local/lib/perl5/5.6.1/sun4-solaris/auto/DynaLoader/DynaLoader.a 
-L/usr/local/lib/perl5/5.6.1/sun4-solaris/CORE 
-lperl -lsocket -lnsl -ldl -lm -lc

/usr/ccs/bin/ld: illegal option -- E
usage: ld [-abc:d:e:f:h:il:mo:p:rstu:z:B:D:F:GI:L:M:N:P:Q:R:S:VY:] file(s)

Does anybody know how to fix it? 
I tried MP_LD=gcc but with the same effect.

thanks
-i-





-Wl,-E

2002-08-13 Thread Ihor Bilyy

Hello!

I can't build apache 1.3.26 with mod_perl 1.27 on Solaris 2.8
I use:
perl Makefile.pl APACHE_SRC=../apache1/src \
NO_HTTPD=1 USE_APACI=1 PREP_HTTPD \
EVERYTHING=1

and in apache directory:
./configure --activate-module=src/modules/perl/libperl.a

here is the output:
Configuring for Apache, Version 1.3.26
 + using installation path layout: Apache (config.layout)
 + activated perl module (modules/perl/libperl.a)
Creating Makefile
Creating Configuration.apaci in src
Creating Makefile in src
 + configured for Solaris 280 platform
 + setting C compiler to gcc
 + setting C pre-processor to gcc -E
 + checking for system header files
 + adding selected modules
o perl_module uses ConfigStart/End
  + mod_perl build type: OBJ
  + id: mod_perl/1.27
  + id: Perl/v5.6.1 (solaris) [perl]
  + setting up mod_perl build environment
  + adjusting Apache build environment
  + enabling Perl support for SSI (mod_include)
 + using builtin Expat
 + checking sizeof various data types
 + doing sanity check on compiler and options
** A test compilation with your Makefile configuration
** failed.  The below error output from the compilation
** test will give you an idea what is failing. Note that
** Apache requires an ANSI C Compiler, such as gcc.

 Error Output for sanity check 
cd ..; gcc  -DSOLARIS2=280 -DMOD_PERL -DUSE_PERL_SSI 
-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FI
LE_OFFSET_BITS=64 -DUSE_EXPAT -I./lib/expat-lite 
-DNO_DL_NEEDED `./apaci` -I. -I/usr/local//lib/perl5/5.6.1/sun4-solaris
/CORE-o helpers/dummy helpers/dummy.c   -lsocket -lnsl -lpthread  
-Wl,-E  -L/usr/local/lib  
/usr/local/lib/perl5/5.6.1/sun4-solaris/auto/DynaLoader/DynaLoader.a 
-L/usr/local/lib/perl5/5.6.1/sun4-solaris/CORE 
-lperl -lsocket -lnsl -ldl -lm -lc

/usr/ccs/bin/ld: illegal option -- E
usage: ld [-abc:d:e:f:h:il:mo:p:rstu:z:B:D:F:GI:L:M:N:P:Q:R:S:VY:] file(s)

Does anybody know how to fix it? 
I tried MP_LD=gcc but with the same effect.

thanks
-i-






Re: -Wl,-E

2002-08-13 Thread Ihor Bilyy

After applying that patches error message is the same.
ld -V:
ld: Software Generation Utilities - Solaris Link Editors: 5.8-1.275

btw gcc --version 2.95.2, maybe problem is with gcc ?

-i-

- Original Message -
From: David McCabe [EMAIL PROTECTED]
To: Ihor Bilyy [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Tuesday, August 13, 2002 3:11 PM
Subject: Re: -Wl,-E


 Ihor Bilyy wrote:
 
  Hello!
 
  I can't build apache 1.3.26 with mod_perl 1.27 on Solaris 2.8
  I use:

  /usr/ccs/bin/ld: illegal option -- E
  usage: ld [-abc:d:e:f:h:il:mo:p:rstu:z:B:D:F:GI:L:M:N:P:Q:R:S:VY:]
file(s)

 Sun put out a patch to their linker (ld) that breaks the Configure script
for
 perl. It checks for a specific info string output from the ld command, and
 decides from that if you are using Sun's ld, or the Gnu ld. Since that
patch
 changes the output of the ld command's info string, Configure thinks you
are
 using Gnu's ld, and hence sets up the Gnu ld options to pass to Sun's ld.
 Obviously, this doesn't work. Sun has since fixed it, by another patch
that puts
 back the old info string in their ld.

 The patch to ld that broke this is 109147-14. The 109147-16 patch fixes it
 again.

 Update these Solaris patches and your problem should go away. :)

 --
 David McCabe  Network and Communications Services, McGill University
 Montreal, Quebec, Canada  [EMAIL PROTECTED]
 In theory there is no difference between theory and practice.
 In practice there is.  -Yogi Berra






 *** perl-5.6.1/hints/solaris_2.sh Thu Jan 31 13:55:18 2002
 --- perl-5.6.1/hints/solaris_2.sh.orig Fri Jan 25 19:56:05 2002
 ***
 *** 199,209 
   #  egcs-1.0.3, GNU as 2.9.1 and GNU ld 2.9.1
   # --Andy Dougherty  [EMAIL PROTECTED]
   # Tue Apr 13 17:19:43 EDT 1999
 - #  Patch 109147-14 for Solaris 8 (and probably same patch on other
 - #  versions, the Link Patch) changes a string that is output by ld and
 - #  checked for here. I added another elsif block to test for the new
string.
 - #  David McCabe [EMAIL PROTECTED]
 - #  Friday Jan 25 20:02:00 EDT 2002

   # Get gcc to share its secrets.
   echo 'main() { return 0; }'  try.c
 --- 199,204 
 ***
 *** 244,252 
   # All Solaris versions of ld I've seen contain the magic
   # string used in the grep.
   :
 - # NEW BLOCK FOR SOLARIS LINK PATCH - exception to above comment :)
 - elif echo $verbose | grep ld: Solaris Link Editors: /dev/null
21; then
 - :
   else
   # No evidence yet of /usr/ccs/bin/ld.  Some versions
   # of egcs's ld wrapper call /usr/ccs/bin/ld in turn but
 --- 239,244