TOPIC This article highlights some common problems encountered moving your WebObjects 3.51 or WebObjects 4 applications from Windows NT or Mac OS X Server to HP-UX or Solaris. DISCUSSION
Q:
How do I deploy my application, developed on Windows NT or Mac OS X Server, on a Solaris or HP-UX system?
A: For most applications, all you have to do is install WebObjects on the appropriate platform and compile the application using the "make" utility. Be sure that the developer components are included in your WebObjects installation.
Q: I have an EOF WebObjects application that compiles and runs correctly on Windows NT or Mac OS X Server. I've ported it to HP-UX and it compiles correctly, but when I run it I get a bus error and a core dump. What's happening here?
Q: I have an application that compiles and runs correctly on Windows NT. I've ported it to Solaris and it compiles correctly, but when I run it I get the error message: C annot find class or component named <MyCustomScriptedComponent> in runtime or in a loadable bundle.
Why does this error occur on one platform but not the other?
A: On Solaris, the fork() command is used only in non-threaded contexts; fork1() is used for multithreaded applications. Because Apple's implementation of NSTask in WebObjects release 3.5.1 does not conform to this usage, you will not be able to use NSTasks on the Solaris platform. Instead, you will have to use fork1() and exec() to manually spawn a process. This code example shows how an external task might be set up to run with fork and exec for Solaris and HP-UX systems, and with NSTask for other WebObjects platforms.
- (oneway void)startAppWithInstanceDict:(NSMutableDictionary*)instanceDict {
Q:
My custom EOF subclasses work fine on Windows NT, but when I compile on Solaris I get run-time failures.
EditingContext ec, ClassDescription cd, GlobalID id If this constructor is missing, the application will still run on Windows NT, but will fail on Solaris systems with the WebObjects Java patch installed. The easiest way to implement this method is simply to call the superclass:
public MyCustomEOClass (EditingContext ec, ClassDescription cd,
$NEXT_ROOT/Developer/Applications/EOModeler.app/Resources/EOJavaClass.template
And optionally: $NEXT_ROOT/Developer/ProjectTypes/EOApplication.projectTypes/Resources/EOJavaClass.template Under WebObjects 4, the templates have been modified to correct this problem, but you may still encounter it while porting WebObjects 3.5.1 code to WebObjects 4.
Q: When I run my app under Solaris, I get the error message: Program recieved signal SIGLWP, signal LWP. What is causing this and how can I fix it? A: These error messages are normal when running WebObjects apps on Solaris under GDB. They will not affect program execution, and they will only occur when running your application under GDB. |
Document Information | |
Product Area: | WebObjects |
Category: | WebObjects 3.5.1; WebObjects 4 |
Sub Category: | Development |
Keywords: |
Copyright © 2000 Apple Computer, Inc. All rights reserved.