Thanks for the response. I'll try changing the order in the path, not sure how
DB2 will react to a newer version of OpenSSL, but technically it should work
:{)>
I've got the changes needed to do the static linking. It required a rebuild of
the OpenSSL package to provide the static libraries (it's not in the default
config). It also requires some changes to buildSSLChannel.xml in AxisCPP.
The changes I have are hardcoded and will likely need to be modified to use a
build option in order for it to be included in the product, if at all. Should
I open a Jira on this?
Index: buildSSLChannel.xml
===================================================================
--- buildSSLChannel.xml (revision 516429)
+++ buildSSLChannel.xml (working copy)
@@ -52,7 +52,7 @@
</defineset>
</compiler>
<!-- required libraries -->
- <syslibset libs="${HTTP.SSLChannel.libs}"
dir="${HTTP.SSLChannel.dir}/out32dll" if="windows"/>
+ <syslibset libs="${HTTP.SSLChannel.libs}"
dir="${HTTP.SSLChannel.dir}/out32" type="static" if="windows"/>
<syslibset libs="${HTTP.SSLChannel.libs}"
dir="${HTTP.SSLChannel.dir}/lib" unless="windows"/>
<defineset>
<define name="ENABLE_AXISTRACE" if="trace"/>
@@ -69,6 +69,8 @@
<linker refid="HP-UXLinker"/>
<linker extends="VisualC++Linker">
<syslibset libs="wsock32"/>
+ <syslibset libs="user32"/>
+ <syslibset libs="gdi32"/>
</linker>
<linker refid="OS400Linker"/>
Fred Preston <[EMAIL PROTECTED]> wrote:
Hi Wayne,
I think the library is listed as part of the dependent libraries
parameter in the link options. When starting up AXIS, the library loader will
attempt to load the dependent libraries. The HTTPSSLChannel DLL is dynamically
loaded from within AXIS. The AXIS LoadLibrary function will use the usual
Microsoft search criteria to look for dependent libraries using the contents of
the PATH environment variable. If you have DB2 already up and running (using
something like ODBC and SQL to connect to it), (hopefully on a different thread
or process ;-)), then you should be able to change the environment path before
running your client so that the correct OpenSSL library is found, loaded and
run. As far as I know, there is no existing parameter that will statically link
the OpenSSL libraries, but you can quite easily do this yourself by changing
the link options. Both options should work. It really just depends on your
preference.
Regards,
Fred Preston.
Wayne Johnson <[EMAIL PROTECTED]> 27/04/2007 19:16 Please respond to
"Apache AXIS C User List" <[email protected]>
To
axis-c <[email protected]> cc
Subject
Staticly linking Windows OpenSSL in HTTPSSLChannel
We have an interesting problem. Our app uses both DB2 and Axis. DB2
automatically loads it's copy of OpenSSL's libeay32.dll. When we attempt to
load HTTPSSLChannel.dll, it sees DB2's libeay32.dll already loaded and attempts
to use it. Since they're different versions, and we have no control over what
version DB2 is using, we're toast.
At this point, we're looking at linking Axis statically with the OpenSSL
library (like the UNIX platforms do). Anyone see any issues with this? Don't
suppose there is a build parameter that does this?
---
Wayne Johnson, | There are two kinds of people: Those
3943 Penn Ave. N. | who say to God, "Thy will be done,"
Minneapolis, MN 55412-1908 | and those to whom God says, "All right,
(612) 522-7003 | then, have it your way." --C.S. Lewis
---------------------------------
Ahhh...imagining that irresistible "new car" smell?
Check out new cars at Yahoo! Autos.
---------------------------------
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
---
Wayne Johnson, | There are two kinds of people: Those
3943 Penn Ave. N. | who say to God, "Thy will be done,"
Minneapolis, MN 55412-1908 | and those to whom God says, "All right,
(612) 522-7003 | then, have it your way." --C.S. Lewis
---------------------------------
Ahhh...imagining that irresistible "new car" smell?
Check outnew cars at Yahoo! Autos.