You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Shane Linley <sh...@omegatrend.com> on 2004/03/19 09:37:36 UTC

IIS-Tomcat redirector isapi_redirector2.dll linking issue

Hi all I really hope this is the right place to pose my Tomcat
development issue!

First some background. I have a web application that has just been
upgraded to support file uploads using the multipart form post
method. As some of you might know doing this using the IIS-Tomcat
JK2 redirector (isapi_redirector2.dll) can sometimes cause the
the upload stream to become corrupted when the file is greater than
56k in size. Thus causing these file uploades to fail as described
here in the Apache bug database:

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15278

What I am now trying to do is compile the isapi version of JK2
redirector in a windows environment using the provided
instructions in the recommended environment of Microsoft
Visual C++ Version 6.0 on a Windows XP environment to try
out the latest version and a proposed fix for the issue.

Now doing this isn't the most straightforward thing to do for
a Java developer who hasn't touched C/C++ in many years
which means I have to spend alot of time explaining what i
have done so if anyone out there knows how to help me they
can... Otherwise please stop reading now...

My development environment is:

Windows Core SDK: Feb 2003
IIS SDK: Feb 2003
Microsoft Visual C++ Version 6.0 Service Pack 5 Professional Edition

Dependant Libraries checked out of the Apache CVS Server:

apache-1.3
apr
apr-iconv
apr-util
httpd-2.0
jakarta-tomcat-connectors

I have chosen to compile the isapi_redirector2.dll file using the
provided jakarta-tomcat-connectors\jk\native2\server\isapi\isapi.dsw
project workspace file. I have successfully compiled the dependant
projects listed above and the required isapi files however I am
unable to do the final linking of the dll and get the following
error:

--------------------Configuration: isapi - Win32 Release--------------------
Linking...
   Creating library Release/isapi_redirector2.lib and object
Release/isapi_redirector2.exp
apr-1.lib(apr_atomic.obj) : error LNK2001: unresolved external symbol
_InterlockedCompareExchangePointer
Release/isapi_redirector2.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

isapi_redirector2.dll - 2 error(s), 0 warning(s)

Now this error means that I do not have a .lib file that contains
the InterlockedCompareExchangePointer function. So I went to MSDN
to identify which .lib file should contain this function and this
is what I found:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/bas
e/interlockedcompareexchangepointer.asp

To paraphrase the InterlockedCompareExchangePointer function is
declared in Winbase.h (which on my system it is) and is contained
in library Kernel32.lib

Unfortuantly for me it isn't in any version of Kernel32.lib that
I posses. No in VC6++, not in the Feb 2003 SDK, not in the latest
version of MS Visual Studio.net not anywhere that I can find.
I am somewhat frustrated by this, but I am convinced that I am
missing something blindingly obvious due to my lack of
familiarty with the windows C/C++ build environment.

If anyone has had this problem with linking the isapi_redirector2.dll
file I would really appreciate any feedback that can be offered
that may help me.

Thanks,
Regards
Shane.



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: IIS-Tomcat redirector isapi_redirector2.dll linking issue

Posted by Guenter Knauf <ef...@gmx.net>.
Hi,
> --------------------Configuration: isapi - Win32
> Release--------------------
> Linking...
>    Creating library Release/isapi_redirector2.lib and object
> Release/isapi_redirector2.exp
> apr-1.lib(apr_atomic.obj) : error LNK2001: unresolved external symbol
> _InterlockedCompareExchangePointer
> Release/isapi_redirector2.dll : fatal error LNK1120: 1 unresolved
> externals
> Error executing link.exe.

> isapi_redirector2.dll - 2 error(s), 0 warning(s)
I know this issue well, it is related to latest APR 1.0; please use APR 0.9.x for now; APR 1.0 cant be compiled with MSVC6, but this issue is a Platform SDK problem; I've heard that MSVC7 doesnt have this issue.
So either update the Platform SDK or compiler, or use APR 0.9.x

Guenter.




---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org