Re: Compiling mod_perl 1.24 with the Sun Solaris C Compiler
On Tue, Jan 23, 2001 at 02:02:57PM -0800, Matisse Enzer wrote: This is a re-posting with a bit more information: I'm having trouble getting mod_perl 1.24 to compile using the Solaris compiler. Compiler Version is: Sun WorkShop 6 2000/04/07 C 5.1) OS is: Solaris 2.7 Details: For various reasons I'm using the Apache 1.3.12 source tree, and I can compile fine using gcc, but the Solaris compiler complains: /opt/SUNWspro/WS6/bin/cc -c -I../../os/unix -I../../include -DSOLARIS2=270 -DUSE_EXPAT -I../../lib/expat-lite `/export/home/matisse/devel/apache/apache_1.3.12/src/apaci` -I/usr/local/include -I/usr/local/lib/perl5/5.00503/sun4-solaris/CORE -I. -I../.. -DUSE_PERL_SSI -DMOD_PERL -KPIC -DSHARED_MODULE mod_include.c mv mod_include.o mod_include.lo "/usr/local/lib/perl5/5.00503/sun4-solaris/CORE/iperlsys.h", line 319: formal parameter lacks name: param #1 "/usr/local/lib/perl5/5.00503/sun4-solaris/CORE/iperlsys.h", line 319: formal parameter lacks name: param #2 "/usr/local/lib/perl5/5.00503/sun4-solaris/CORE/iperlsys.h", line 319: formal parameter lacks name: param #3 "/usr/local/lib/perl5/5.00503/sun4-solaris/CORE/iperlsys.h", line 319: syntax error before or at: __attribute__ "/usr/local/lib/perl5/5.00503/sun4-solaris/CORE/iperlsys.h", line 319: warning: syntax error: empty declaration "/usr/include/ctype.h", line 48: cannot recover from previous errors cc: acomp failed for mod_include.c Line 319 of /usr/local/lib/perl5/5.00503/sun4-solaris/CORE/iperlsys.h is: __attribute__((format (printf, 3, 4))); This probably means that perl is configured using the gcc compiler. As with most plug-in systems it is recommended to compile all parts that are loaded into one address space using the exactly same compiler, that means in the modperl case all of Apache, Apache plug-ins, perl and perl plug-ins should be compiled using the Sun Workshop C compiler. Mixing compilers arbitrarily is asking for trouble. -- Jens-Uwe Mager HELIOS Software GmbH Steinriede 3 30827 Garbsen Germany Phone: +49 5131 709320 FAX:+49 5131 709325 Internet: [EMAIL PROTECTED]
Re: Compiling mod_perl 1.24 with the Sun Solaris C Compiler
Thanks, I'll try compiling perl with the Solaris compiler, and then Apache + mod_perl . At 2:44 PM +0100 1/24/01, Jens-Uwe Mager wrote: On Tue, Jan 23, 2001 at 02:02:57PM -0800, Matisse Enzer wrote: This is a re-posting with a bit more information: I'm having trouble getting mod_perl 1.24 to compile using the Solaris compiler. Compiler Version is: Sun WorkShop 6 2000/04/07 C 5.1) OS is: Solaris 2.7 Details: For various reasons I'm using the Apache 1.3.12 source tree, and I can compile fine using gcc, but the Solaris compiler complains: /opt/SUNWspro/WS6/bin/cc -c -I../../os/unix -I../../include -DSOLARIS2=270 -DUSE_EXPAT -I../../lib/expat-lite `/export/home/matisse/devel/apache/apache_1.3.12/src/apaci` -I/usr/local/include -I/usr/local/lib/perl5/5.00503/sun4-solaris/CORE -I. -I../.. -DUSE_PERL_SSI -DMOD_PERL -KPIC -DSHARED_MODULE mod_include.c mv mod_include.o mod_include.lo "/usr/local/lib/perl5/5.00503/sun4-solaris/CORE/iperlsys.h", line 319: formal parameter lacks name: param #1 "/usr/local/lib/perl5/5.00503/sun4-solaris/CORE/iperlsys.h", line 319: formal parameter lacks name: param #2 "/usr/local/lib/perl5/5.00503/sun4-solaris/CORE/iperlsys.h", line 319: formal parameter lacks name: param #3 "/usr/local/lib/perl5/5.00503/sun4-solaris/CORE/iperlsys.h", line 319: syntax error before or at: __attribute__ "/usr/local/lib/perl5/5.00503/sun4-solaris/CORE/iperlsys.h", line 319: warning: syntax error: empty declaration "/usr/include/ctype.h", line 48: cannot recover from previous errors cc: acomp failed for mod_include.c Line 319 of /usr/local/lib/perl5/5.00503/sun4-solaris/CORE/iperlsys.h is: __attribute__((format (printf, 3, 4))); This probably means that perl is configured using the gcc compiler. As with most plug-in systems it is recommended to compile all parts that are loaded into one address space using the exactly same compiler, that means in the modperl case all of Apache, Apache plug-ins, perl and perl plug-ins should be compiled using the Sun Workshop C compiler. Mixing compilers arbitrarily is asking for trouble. -- Jens-Uwe Mager HELIOS Software GmbH Steinriede 3 30827 Garbsen Germany Phone: +49 5131 709320 FAX: +49 5131 709325 Internet: [EMAIL PROTECTED] -- --- Matisse Enzer TechTv Web Engineering [EMAIL PROTECTED] 415-355-4364 (desk) 415-225-6703 (cellphone)
Re: Compiling mod_perl 1.24 with the Sun Solaris C Compiler
Hi all, On Wed, 24 Jan 2001, Matisse Enzer wrote: Thanks, I'll try compiling perl with the Solaris compiler, and then Apache + mod_perl . Check the List archives for stuff about Solaris recently, I'm sure you'll find some useful pointers. 73, Ged.
RE: compiling mod_perl-1.24
I ran into this problem a week ago on both Solaris 2.6 and 2.7 , and I was using gnu cc 2.7.2.3 . I upgraded to gnu cc 2.95.2 . I had to recompile my perl 5.6.0 from stable.tar at www.cpan.org using this compiler and rebuilt Apache and mod_perl without any problems . You will find a pre-built binary for gnu cc 2.95.2 at www.sunfreeware.com for your Solaris version. Sri Lakshmanan Koch Petroleum Group [EMAIL PROTECTED] "A doctor can bury his mistakes, an architect can only advise his client to plant vines" -Frank Lloyd Wright -Original Message- From: Joseph Crotty [SMTP:[EMAIL PROTECTED]] Sent: Tuesday,November 28,2000 12:03 PM To: '[EMAIL PROTECTED]' Subject: compiling mod_perl-1.24 I am on a sun box: uname -a SunOS mailroom 5.6 Generic_105181-22 sun4u sparc SUNW,Ultra-5_10 I built and tested both perl 5.6.0 and apache_1.3.9 against gcc and they check out OK: gcc -v Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.7.2.2/specs gcc version 2.7.2.2 perl -V Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration: Platform: osname=solaris, osvers=2.6, archname=sun4-solaris uname='sunos mailroom 5.6 generic_105181-22 sun4u sparc sunw,ultra-5_10 ' config_args='-Dcc=gcc' hint=previous, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=define use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef Compiler: cc='gcc', optimize='-O', gccversion=2.7.2.2 cppflags='-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccflags ='-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' stdchar='unsigned char', d_stdstdio=define, usevfork=false intsize=4, longsize=4, ptrsize=4, doublesize=8 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, usemymalloc=y, prototype=define Linker and Libraries: ld='gcc', ldflags =' -L/usr/local/lib ' libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -lgdbm -ldl -lm -lc -lcrypt -lsec libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Built under solaris Compiled at Nov 27 2000 16:41:31 @INC: /usr/local/lib/perl5/5.6.0/sun4-solaris /usr/local/lib/perl5/5.6.0 /usr/local/lib/perl5/site_perl/5.6.0/sun4-solaris /usr/local/lib/perl5/site_perl/5.6.0 /usr/local/lib/perl5/site_perl So, I run the Makefile as follows: perl Makefile.PL EVERYTHING=1 APACHE_PREFIX=/usr/local/apache Configure mod_perl with ../apache_1.3.9/src ? [y] Shall I build httpd in ../apache_1.3.9/src for you? [y] Appending mod_perl to src/Configuration Using config file: /home/dvlp/jcrotty/mod_perl-1.24/src/Configuration Creating Makefile + configured for Solaris 260 platform + setting C compiler to gcc + setting C pre-processor to gcc -E + checking for system header files + adding selected modules + checking sizeof various data types + doing sanity check on compiler and options Creating Makefile in support Creating Makefile in os/unix Creating Makefile in ap Creating Makefile in main Creating Makefile in lib/expat-lite Creating Makefile in modules/standard EXTRA_CFLAGS: -DSOLARIS2=260 -DUSE_EXPAT -I$(SRCDIR)/lib/expat-lite PerlDispatchHandler.enabled PerlChildInitHandlerenabled PerlChildExitHandlerenabled PerlPostReadRequestHandler..enabled PerlTransHandlerenabled PerlHeaderParserHandler.enabled PerlAccessHandler...enabled PerlAuthenHandler...enabled PerlAuthzHandlerenabled PerlTypeHandler.enabled PerlFixupHandlerenabled PerlHandler.enabled PerlLogHandler..enabled PerlInitHandler.enabled PerlCleanupHandler..enabled PerlRestartHandler..enabled PerlStackedHandlers.enabled PerlMethodHandlers..enabled PerlDirectiveHandlers...enabled PerlTableApienabled PerlLogApi..enabled PerlUriApi..enabled PerlUtilApi.enabled PerlFileApi.enabled PerlConnectionApi...enabled PerlServerApi...enabled PerlSectionsenabled PerlSSI.enabled Will run tests as User: 'nobody' Group: 'other' Checking CGI.pm VERSION..ok Checking for LWP::UserAgent..ok Checking for HTML::HeadParserok Writing Makefile for Apache Writing Makefile for