Hello,
It seems that the methods can't be loaded.
Every method shows 0 (zero).

Enclosed the output of the test.

Robert

Script started on Sun 21 Feb 2010 09:08:11 PM CET;
[r...@www mod_rexx]# cat /usr/local/apache2/bin/Apache.cls
/*----------------------------------------------------------------------
------*/ /*
*/ /* Copyright (C) W. David Ashley 2004-2008. All Rights Reserved.
*/ /* Copyright (c) 2009-2010 Rexx Language Association. All rights
reserved.    */ /*
*/ /* This program and the accompanying materials are made available
under       */ /* the terms of the Common Public License v1.0 which
accompanies this         */ /* distribution. A copy is also available
at the following address:           */ /*
http://www.ibm.com/developerworks/oss/CPLv1.0.htm
*/ /*
*/ /* Redistribution and use in source and binary forms, with or
*/ /* without modification, are permitted provided that the following
*/ /* conditions are met:
*/ /*
*/ /* Redistributions of source code must retain the above copyright
*/ /* notice, this list of conditions and the following disclaimer.
*/ /* Redistributions in binary form must reproduce the above copyright
*/ /* notice, this list of conditions and the following disclaimer in
*/ /* the documentation and/or other materials provided with the
distribution.   */ /*
*/ /* Neither the name of Rexx Language Association nor the names
*/ /* of its contributors may be used to endorse or promote products
*/ /* derived from this software without specific prior written
permission.      */ /*
*/ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS        */ /* "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT          */ /* LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS          */ /* FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT   */
/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL,      */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED   */ /* TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA,        */ /* OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY     */ /* OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING    */ /*
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
*/ /* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ /*
*/ /* Author: W. David Ashley
*/ /*
*/
/*----------------------------------------------------------------------
------*/
/*----------------------------------------------------------------------
------*/ /* The Request_rec class
*/
/*----------------------------------------------------------------------
------*/  ::class Request_rec public  ::METHOD init EXTERNAL "LIBRARY
mod_oorexx WWWNewReqRec" ::METHOD connection EXTERNAL "LIBRARY
mod_oorexx WWWReqRecConnection" ::METHOD server EXTERNAL "LIBRARY
mod_oorexx WWWReqRecServer" ::METHOD next EXTERNAL "LIBRARY mod_oorexx
WWWReqRecNext" ::METHOD prev EXTERNAL "LIBRARY mod_oorexx
WWWReqRecPrev" ::METHOD main EXTERNAL "LIBRARY mod_oorexx
WWWReqRecMain" ::METHOD ismain EXTERNAL "LIBRARY mod_oorexx
WWWReqRecIsMain" ::METHOD the_request EXTERNAL "LIBRARY mod_oorexx
WWWReqRecThe_request" ::METHOD proxyreq EXTERNAL "LIBRARY mod_oorexx
WWWReqRecProxyreq" ::METHOD header_only EXTERNAL "LIBRARY mod_oorexx
WWWReqRecHeader_only" ::METHOD protocol EXTERNAL "LIBRARY mod_oorexx
WWWReqRecProtocol" ::METHOD status_line EXTERNAL "LIBRARY mod_oorexx
WWWReqRecStatus_line" ::METHOD status EXTERNAL "LIBRARY mod_oorexx
WWWReqRecStatus" ::METHOD method EXTERNAL "LIBRARY mod_oorexx
WWWReqRecMethod" ::METHOD method_number EXTERNAL "LIBRARY mod_oorexx
WWWReqRecMethod_number" ::METHOD allowed EXTERNAL "LIBRARY mod_oorexx
WWWReqRecAllowed" ::METHOD bytes_sent EXTERNAL "LIBRARY mod_oorexx
WWWReqRecBytes_sent" ::METHOD header_in EXTERNAL "LIBRARY mod_oorexx
WWWReqRecHeader_in" ::METHOD header_out EXTERNAL "LIBRARY mod_oorexx
WWWReqRecHeader_out" ::METHOD err_header_out EXTERNAL "LIBRARY
mod_oorexx WWWReqRecErr_header_out" ::METHOD subprocess_env EXTERNAL
"LIBRARY mod_oorexx WWWReqRecSubprocess_env" ::METHOD notes EXTERNAL
"LIBRARY mod_oorexx WWWReqRecNotes" ::METHOD content_type EXTERNAL
"LIBRARY mod_oorexx WWWReqRecContent_type" ::METHOD content_encoding
EXTERNAL "LIBRARY mod_oorexx WWWReqRecContent_encoding" ::METHOD
handler EXTERNAL "LIBRARY mod_oorexx WWWReqRecHandler" ::METHOD
content_languages EXTERNAL "LIBRARY mod_oorexx
WWWReqRecContent_languages" ::METHOD no_cache EXTERNAL "LIBRARY
mod_oorexx WWWReqRecNo_cache" ::METHOD uri EXTERNAL "LIBRARY mod_oorexx
WWWReqRecUri" ::METHOD filename EXTERNAL "LIBRARY mod_oorexx
WWWReqRecFilename" ::METHOD path_info EXTERNAL "LIBRARY mod_oorexx
WWWReqRecPath_info" ::METHOD args EXTERNAL "LIBRARY mod_oorexx
WWWReqRecArgs" ::METHOD finfo_stmode EXTERNAL "LIBRARY mod_oorexx
WWWReqRecFinfo_stmode" ::METHOD user EXTERNAL "LIBRARY mod_oorexx
WWWReqRecUser" ::METHOD auth_type EXTERNAL "LIBRARY mod_oorexx
WWWReqRecAuth_type"
/*----------------------------------------------------------------------
------*/ /* The Server_rec class
*/
/*----------------------------------------------------------------------
------*/  ::class Server_rec public  ::METHOD init EXTERNAL "LIBRARY
mod_oorexx WWWNewSrvRec" ::METHOD server_admin EXTERNAL "LIBRARY
mod_oorexx WWWSrvRecServer_admin" ::METHOD server_hostname EXTERNAL
"LIBRARY mod_oorexx WWWSrvRecServer_hostname" ::METHOD port EXTERNAL
"LIBRARY mod_oorexx WWWSrvRecPort" ::METHOD is_virtual EXTERNAL
"LIBRARY mod_oorexx WWWSrvRecIs_virtual"
/*----------------------------------------------------------------------
------*/ /* The Connection_rec class
*/
/*----------------------------------------------------------------------
------*/  ::class Connection_rec public  ::METHOD init EXTERNAL
"LIBRARY mod_oorexx WWWNewCnxRec" ::METHOD aborted EXTERNAL "LIBRARY
mod_oorexx WWWCnxRecAborted"  [r...@www mod_rexx]# cat class_test.rex
/* ---rgf, 2010-02-17, test availability of external mod_ooRexx-methods
*/ externalMethodArray=.array~new externalMethodArray~append("LIBRARY
mod_oorexx WWWNewReqRec")         externalMethodArray~append("LIBRARY
mod_oorexx WWWReqRecConnection")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecServer")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecNext")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecPrev")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecMain")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecIsMain")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecThe_request")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecProxyreq")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecHeader_only")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecProtocol")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecStatus_line")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecStatus")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecMethod")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecMethod_number")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecAllowed")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecBytes_sent")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecHeader_in")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecHeader_out")
externalMethodArray~append("LIBRARY mod_oorexx
WWWReqRecErr_header_out")         externalMethodArray~append("LIBRARY
mod_oorexx WWWReqRecSubprocess_env")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecNotes")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecContent_type")
externalMethodArray~append("LIBRARY mod_oorexx
WWWReqRecContent_encoding")         externalMethodArray~append("LIBRARY
mod_oorexx WWWReqRecHandler")
externalMethodArray~append("LIBRARY mod_oorexx
WWWReqRecContent_languages")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecNo_cache")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecUri")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecFilename")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecPath_info")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecArgs")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecFinfo_stmode")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecUser")
externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecAuth_type")
externalMethodArray~append("LIBRARY mod_oorexx WWWNewSrvRec")
externalMethodArray~append("LIBRARY mod_oorexx WWWSrvRecServer_admin")
externalMethodArray~append("LIBRARY mod_oorexx
WWWSrvRecServer_hostname")         externalMethodArray~append("LIBRARY
mod_oorexx WWWSrvRecPort")         externalMethodArray~append("LIBRARY
mod_oorexx WWWSrvRecIs_virtual")
externalMethodArray~append("LIBRARY mod_oorexx WWWNewCnxRec")
externalMethodArray~append("LIBRARY mod_oorexx WWWCnxRecAborted")
say "testloading external methods:"         do descriptor over
externalMethodArray~sortWith(.CaselessComparator~new)                   parse
var descriptor . . externalEntryName '"'                say "  "
pp(externalEntryName) testExternalMethodLoading(descriptor)         end
::routine testExternalMethodLoading                     parse arg descriptor
return .method~loadExternalMethod("testMethod", descriptor)<>.nil
::routine pp      -- "pretty-print"             parse arg value
return ("[" || value || "] ")~left(30, ".")         [r...@www mod_rexx]#
[r...@www mod_rexx]# rexx class_test.rex
testloading external methods:
   [WWWCnxRecAborted] ........... 0
   [WWWNewCnxRec] ............... 0
   [WWWNewReqRec] ............... 0
   [WWWNewSrvRec] ............... 0
   [WWWReqRecAllowed] ........... 0
   [WWWReqRecArgs] .............. 0
   [WWWReqRecAuth_type] ......... 0
   [WWWReqRecBytes_sent] ........ 0
   [WWWReqRecConnection] ........ 0
   [WWWReqRecContent_encoding] .. 0
   [WWWReqRecContent_languages] . 0
   [WWWReqRecContent_type] ...... 0
   [WWWReqRecErr_header_out] .... 0
   [WWWReqRecFilename] .......... 0
   [WWWReqRecFinfo_stmode] ...... 0
   [WWWReqRecHandler] ........... 0
   [WWWReqRecHeader_in] ......... 0
   [WWWReqRecHeader_only] ....... 0
   [WWWReqRecHeader_out] ........ 0
   [WWWReqRecIsMain] ............ 0
   [WWWReqRecMain] .............. 0
   [WWWReqRecMethod] ............ 0
   [WWWReqRecMethod_number] ..... 0
   [WWWReqRecNext] .............. 0
   [WWWReqRecNotes] ............. 0
   [WWWReqRecNo_cache] .......... 0
   [WWWReqRecPath_info] ......... 0
   [WWWReqRecPrev] .............. 0
   [WWWReqRecProtocol] .......... 0
   [WWWReqRecProxyreq] .......... 0
   [WWWReqRecServer] ............ 0
   [WWWReqRecStatus] ............ 0
   [WWWReqRecStatus_line] ....... 0
   [WWWReqRecSubprocess_env] .... 0
   [WWWReqRecThe_request] ....... 0
   [WWWReqRecUri] ............... 0
   [WWWReqRecUser] .............. 0
   [WWWSrvRecIs_virtual] ........ 0
   [WWWSrvRecPort] .............. 0
   [WWWSrvRecServer_admin] ...... 0
   [WWWSrvRecServer_hostname] ... 0
[r...@www mod_rexx]# exit
exit

Script done on Sun 21 Feb 2010 09:08:53 PM CET

Rony G. Flatscher wrote:

> On 17.02.2010 11:28, Robert Maschek wrote:
> > Hello,
> > Not a lot to do (at least at the moment) for myself.
> > 
> > I reduced the Apache.cls file to just having the ::class statements
> > inside with no sucess.
> > As soon as I put the ::requires statement in the script Apache
> > crashes :-(
> >   
> 
> Yes, but this does not reveal what the reason is. Maybe you could
> test, whether all external methods can be successfully loaded in
> "Apache.cls" . To do so you could try to run the following program to
> test. It will list all external methods as found in "Apache.cls" and
> whether it is possible to load them as external methods into ooRexx
> (in the output sucess=1=.true, failure=0=.false):
> 
>     /* ---rgf, 2010-02-17, test availability of external
> mod_ooRexx-methods */
> 
>        externalMethodArray=.array~new
>        externalMethodArray~append("LIBRARY mod_oorexx WWWNewReqRec")
>        externalMethodArray~append("LIBRARY mod_oorexx
> WWWReqRecConnection")        externalMethodArray~append("LIBRARY
> mod_oorexx WWWReqRecServer")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecNext")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecPrev")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecMain")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecIsMain")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecThe_request")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecProxyreq")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecHeader_only")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecProtocol")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecStatus_line")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecStatus")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecMethod")
> externalMethodArray~append("LIBRARY mod_oorexx
> WWWReqRecMethod_number")        externalMethodArray~append("LIBRARY
> mod_oorexx WWWReqRecAllowed")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecBytes_sent")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecHeader_in")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecHeader_out")
> externalMethodArray~append("LIBRARY mod_oorexx
> WWWReqRecErr_header_out")        externalMethodArray~append("LIBRARY
> mod_oorexx WWWReqRecSubprocess_env")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecNotes")
> externalMethodArray~append("LIBRARY mod_oorexx
> WWWReqRecContent_type")        externalMethodArray~append("LIBRARY
> mod_oorexx WWWReqRecContent_encoding")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecHandler")
> externalMethodArray~append("LIBRARY mod_oorexx
> WWWReqRecContent_languages")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecNo_cache")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecUri")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecFilename")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecPath_info")
> externalMethodArray~append("LIBRARY mod_oorexx WWWReqRecArgs")
> externalMethodArray~append("LIBRARY mod_oorexx
> WWWReqRecFinfo_stmode")        externalMethodArray~append("LIBRARY
> mod_oorexx WWWReqRecUser")        externalMethodArray~append("LIBRARY
> mod_oorexx WWWReqRecAuth_type")
> externalMethodArray~append("LIBRARY mod_oorexx WWWNewSrvRec")
> externalMethodArray~append("LIBRARY mod_oorexx
> WWWSrvRecServer_admin")        externalMethodArray~append("LIBRARY
> mod_oorexx WWWSrvRecServer_hostname")
> externalMethodArray~append("LIBRARY mod_oorexx WWWSrvRecPort")
> externalMethodArray~append("LIBRARY mod_oorexx WWWSrvRecIs_virtual")
> externalMethodArray~append("LIBRARY mod_oorexx WWWNewCnxRec")
> externalMethodArray~append("LIBRARY mod_oorexx WWWCnxRecAborted")
> 
>        say "testloading external methods:"
>        do descriptor over
> externalMethodArray~sortWith(.CaselessComparator~new)           parse
> var descriptor . . externalEntryName '"'           say "  "
> pp(externalEntryName) testExternalMethodLoading(descriptor)        end
> 
>     ::routine testExternalMethodLoading
>       parse arg descriptor
>       return .method~loadExternalMethod("testMethod",
> descriptor)<>.nil
> 
> 
>     ::routine pp      -- "pretty-print"
>       parse arg value
>       return ("[" || value || "] ")~left(30, ".")
>       
> 
> If you run the above program all loaded external methods should show
> "1", if they all could be loaded.
> 
> HTH,
> 
> ---rony
> 
> 
> 
> Ok, now we have something to go on.
> >> It appears that Mod_ooRexx is loaded and functional. You get output
> >> and at least some of the external function interfaces are working.
> >> The problem is with the oo methods. This may take some time to
> debug >> from your end but here are the steps to go with.
> > > 
> >> The following will determine if any of the oo method calls are not 
> >> loading (this is what I believe the problem is):
> > > 
> >> 1. In the Apache.cls file comment out ALL of the external method 
> >> definitions. Now add the ::requires statement back into you script
> >> and retest. Proceed to the next step if your script succeeds.
> >> 2. Repeat this step as often as necessary. Uncomment a small
> section >> od the method definitions in the Apache.cls file and
> retest. We will >> repeat until we find all the offending
> statement(s).
> > > 
> >> What I hope you can figure out is which methods are NOT linking 
> >> dynamically at script startup (if any). This will give me a
> starting >> point for me to try and debug things at my end.
> > > 
> >> Thanks,
> >> David Ashley
> > > 
> >>
> ----------------------------------------------------------------------
> >> -------- SOLARIS 10 is the OS for Data Centers - provides features
> >> such as DTrace, Predictive Self Healing and Award Winning ZFS. Get
> >> Solaris 10 NOW http://p.sf.net/sfu/solaris-dev2dev >>     



-- 



------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to