This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

mod_perl-1.2.6 for Cygwin 1.x (using apache_1.3.22, perl-5.6.1)


Hi,

I'm the maintainer of the Apache for Cygwin port, various apache
modules and the CAMP binary distribution. After releasing the latest
CAMP package which contains many popular modules (mod_php, mod_ssl,
mod_dav, etc) there have been requests from Apache for Cygwin users to
included mod_perl if possible. 

There are two alternatives to use mod_perl:

1. Static apache module:

   Please follow the instructions from Alexander Solovey at
   http://www.mail-archive.com/modperl@apache.org/msg21136.html

   Special thanks to Alexander Solovey for figuring this out!
 
2. DSO/DLL shared apache module:

   This is possible for the apache_1.3.22-i686-whatever-cygwin.tar.gz
   binary distribution found at http://apache.dev.wapme.net

   step 1: follow the instructions for the static apache module
   step 2: use the following Makefile construction instead:

     $ perl Makefile.PL USE_APACI=1 EVERYTHING=1 \
         PERL_EXTRA_CFLAGS=-DUSEIMPORTLIB DO_HTTPD=1 USE_DSO=1

   step 3: patch src/modules/perl/Makefile as defined in the attached
           Makefile.diff patch.

   step 4: now run "make" within mod_perl-1.2.6.
           The first run will claim about no "libhttpd.dll". Please 
           touch src/modules/perl/libperl.dll and re-run "make" after
           libhttpd.dll has been build. 
           (see src/modules/standard/Makefile.Cygwin for more info)

   step 5: place the libperl.dll into /usr/local/apache/libexec and
           add the required directives to httpd.conf.


Unfortunatly the libperl.dll _breaks_ apache's httpd process if
configured ok. When trying to start httpd it troughts a
STATUS_ACCESS_VIOLATION exception.

Attached is the "error_log" file and a tailed output of "strace
httpd.exe".

If there is someone who can explain me how to use the information to
find the resulting error, I would be very thankfull.   

BTW, a shared DLL version of mod_perl is working using "httpd -X", 
apache's single process mode.

Stas, can we include necessary changes to mod_perl when we fix this,
so we have out-of-the-box support?

    
Stipe

tolj@wapme-systems.de
-------------------------------------------------------------------
Wapme Systems AG

Münsterstr. 248
40470 Düsseldorf

Tel: +49-211-74845-0
Fax: +49-211-74845-299

E-Mail: info@wapme-systems.de
Internet: http://www.wapme-systems.de
-------------------------------------------------------------------
wapme.net - wherever you are
--- src/modules/perl/Makefile	Tue Oct 16 10:57:46 2001
+++ src/modules/perl/Makefile.cygwin	Tue Oct 16 10:56:40 2001
@@ -13,7 +13,7 @@
 EXTRA_CFLAGS=-DUSEIMPORTLIB -DPERL_USE_SAFE_PUTENV -DHAS_SBRK_PROTO -fno-strict-aliasing `$(SRCDIR)/apaci`
 EXTRA_LDFLAGS=
 EXTRA_LIBS=
-EXTRA_INCLUDES=
+EXTRA_INCLUDES=-I/usr/lib/perl5/5.6.1/cygwin/CORE
 EXTRA_DEPS=
 CC=env LD_RUN_PATH=/usr/lib/perl5/5.6.1/cygwin/CORE gcc
 LDFLAGS_SHLIB_EXPORT=-s
@@ -32,10 +32,10 @@
 PERL_CCCDLFLAGS= 
 PERL_DEFS= -DMOD_PERL_VERSION=\"1.26\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.26\" -DNO_PERL_SSI=1
 PERL_INC=/usr/lib/perl5/5.6.1/cygwin/CORE
-PERL_LD=ld2
-PERL_LDFLAGS= -s -L/usr/local/lib
-PERL_LDDLFLAGS= -s -L/usr/local/lib
-PERL_LIBS= -s  -s -L/usr/local/lib /usr/lib/perl5/5.6.1/cygwin/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.6.1/cygwin/CORE -lperl -lcrypt 
+PERL_LD=gcc
+PERL_LDFLAGS= --shared -L/usr/local/lib
+PERL_LDDLFLAGS= --shared -L/usr/local/lib
+PERL_LIBS= --shared -L/usr/local/lib /usr/lib/perl5/5.6.1/cygwin/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.6.1/cygwin/CORE -lperl -lcrypt ../../libhttpd.dll
 PERL_XSINIT=perl -MExtUtils::Embed -e xsinit
 PERL_XSUBPP=perl /usr/lib/perl5/5.6.1/ExtUtils/xsubpp -nolinenumbers -typemap /usr/lib/perl5/5.6.1/ExtUtils/typemap
 PERL_AR=ar
@@ -140,6 +140,10 @@
 	$(MP_RANLIB) $@
 
 libperl.so: $(MP_OBJS_PIC)
+	$(MP_RM) $@
+	$(MP_LD) $(MP_LDFLAGS_SHLIB) -o $@ $(MP_OBJS_PIC) $(MP_LIBS)
+
+libperl.dll: $(MP_OBJS_PIC)
 	$(MP_RM) $@
 	$(MP_LD) $(MP_LDFLAGS_SHLIB) -o $@ $(MP_OBJS_PIC) $(MP_LIBS)
 


[Tue Oct 16 10:42:40 2001] [error] [client 127.0.0.1] File does not exist: /usr/local/apache/htdocs/server-info
[Tue Oct 16 10:43:31 2001] [warn] pid file /usr/local/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
 221784 [main] httpd 1020 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
 252711 [main] httpd 1020 stackdump: Dumping stack trace to httpd.exe.stackdump
[Tue Oct 16 10:44:50 2001] [warn] pid file /usr/local/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
 226194 [main] httpd 368 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
 258748 [main] httpd 368 stackdump: Dumping stack trace to httpd.exe.stackdump
[Tue Oct 16 10:44:59 2001] [warn] pid file /usr/local/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
 225297 [main] httpd 1252 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
 262393 [main] httpd 1252 stackdump: Dumping stack trace to httpd.exe.stackdump


  193  217606 [main] httpd 1252 symlink_info::check: 0 = symlink.check (C:\cygwin\usr\local\apache\logs\httpd.pid, 0x240F5D9) (0xA)
  702  218308 [main] httpd 1252 path_conv::check: GetVolumeInformation(C:\) = OK, full_path(C:\cygwin\usr\local\apache\logs\httpd.pid), set_has_acls(8)
  240  218548 [main] httpd 1252 fhandler_base::open: (C:\cygwin\usr\local\apache\logs\httpd.pid, 0x601)
  747  219295 [main] httpd 1252 fhandler_base::open: 208 = CreateFileA (C:\cygwin\usr\local\apache\logs\httpd.pid, 0x40000000, 0x7, 0x6108517C, 0x2, 0x80, 0)
  215  219510 [main] httpd 1252 fhandler_base::open: filemode set to binary
  183  219693 [main] httpd 1252 fhandler_base::open: 1 = fhandler_base::open (C:\cygwin\usr\local\apache\logs\httpd.pid, 0x601)
  183  219876 [main] httpd 1252 fhandler_disk_file::open: 1 = fhandler_disk_file::open (C:\cygwin\usr\local\apache\logs\httpd.pid, 0x601)
  183  220059 [main] httpd 1252 _open: 3 = open (/usr/local/apache/logs/httpd.pid, 0x601)
  180  220239 [main] httpd 1252 _cygwin_istext_for_stdio: _cygwin_istext_for_stdio (3)
  179  220418 [main] httpd 1252 _cygwin_istext_for_stdio:  _cifs: get_*_binary
  230  220648 [main] httpd 1252 fhandler_disk_file::fstat: 1 = GetFileInformationByHandle (C:\cygwin\usr\local\apache\logs\httpd.pid, 208)
  204  220852 [main] httpd 1252 get_nt_attribute: file: C:\cygwin\usr\local\apache\logs\httpd.pid
  183  221035 [main] httpd 1252 read_sd: file = C:\cygwin\usr\local\apache\logs\httpd.pid
  506  221541 [main] httpd 1252 read_sd: file = C:\cygwin\usr\local\apache\logs\httpd.pid: len=212
  267  221808 [main] httpd 1252 get_nt_attribute: file: C:\cygwin\usr\local\apache\logs\httpd.pid 1A4, uid 1000, gid 513
  187  221995 [main] httpd 1252 fhandler_disk_file::fstat: 0 = fstat (, 0x240FA24) st_atime=3BCC0FAB st_size=0, st_mode=0x81A4, st_ino=2725588, sizeof=64
  188  222183 [main] httpd 1252 _fstat: 0 = fstat (3, 240FA24)
  198  222381 [main] httpd 1252 _write: write (3, 0xA024670, 5)
  180  222561 [main] httpd 1252 fhandler_base::write: binary write
  274  222835 [main] httpd 1252 fhandler_base::write: 5 = write (0xA024670, 5)
  184  223019 [main] httpd 1252 _write: 5 = write (3, 0xA024670, 5)
  181  223200 [main] httpd 1252 _close: close (3)
  176  223376 [main] httpd 1252 fhandler_base::close: handle 0xD0
  329  223705 [main] httpd 1252 _close: 0 = close (3)
  552  224257 [main] httpd 1252 time: 1003229099 = time (6065D00C)
  494  224751 [main] httpd 1252 handle_exceptions: In cygwin_except_handler exc 0xC0000005 at 0x606087BF sp 0x240F95C
  186  224937 [main] httpd 1252 handle_exceptions: In cygwin_except_handler sig = 11 at 0x606087BF
  180  225117 [main] httpd 1252 handle_exceptions: In cygwin_except_handler calling 0x0
  180  225297 [main] httpd 1252 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
37096  262393 [main] httpd 1252 stackdump: Dumping stack trace to httpd.exe.stackdump
2758496 3020889 [main] httpd 1252 try_to_debug: debugger_command ''
  579 3021468 [main] httpd 1252 signal_exit: about to call do_exit (18B00)
  178 3021646 [main] httpd 1252 do_exit: do_exit (101120)
  170 3021816 [main] httpd 1252 void: 0x0 = signal (20, 0x1)
  169 3021985 [main] httpd 1252 void: 0x0 = signal (1, 0x1)
  174 3022159 [main] httpd 1252 void: 0x0 = signal (2, 0x1)
  166 3022325 [main] httpd 1252 void: 0x0 = signal (3, 0x1)
  170 3022495 [main] httpd 1252 fhandler_base::close: handle 0x114
  202 3022697 [main] httpd 1252 fhandler_base::close: handle 0xBC
  193 3022890 [main] httpd 1252 fhandler_base::close: handle 0xEC
  436 3023326 [main] httpd 1252 fhandler_base::close: handle 0x134
  380 3023706 [main] httpd 1252 proc_terminate: nchildren 0, nzombies 0
  389 3024095 [main] httpd 1252 proc_terminate: leaving
  168 3024263 [main] httpd 1252 sigproc_terminate: entering
  171 3024434 [main] httpd 1252 sigproc_terminate: done
  355 3024789 [main] httpd 1252 __to_clock_t: dwHighDateTime 0, dwLowDateTime 500720
  180 3024969 [main] httpd 1252 __to_clock_t: total 00000000 00000032
  172 3025141 [main] httpd 1252 __to_clock_t: dwHighDateTime 0, dwLowDateTime 600864
  170 3025311 [main] httpd 1252 __to_clock_t: total 00000000 0000003C
  170 3025481 [main] httpd 1252 _pinfo::exit: Calling ExitProcess 101120



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]