Using CSP Gateway with Apache on WIndows 10 (64-bit) - error "Cannot load c:/InterSystems/IRIS_2019/CSP/bin/CSPa24.dll into server: %1 is not a valid Win32 application"
Hello,
I'm trying to set up an Apache server using CSP Gateway on Windows 10 (64-bit), but am getting the error "Cannot load c:/InterSystems/IRIS_2019/CSP/bin/CSPa24.dll into server: %1 is not a valid Win32 application" when attempting to start up httpd.exe after adding the CSP-specific section to httpd.conf.
The CSP gateway is 64-bit (CSPGateway-2018.1.1.643.0-win_x64) and so is the Apache install (httpd-2.4.38-o102q-x64-vc14).
The CSPa24.dll file does exist in the specified location.
Any suggestions appreciated.
Thank you,
Olga
Comments
What does this command return?
dumpbin /headers c:/InterSystems/IRIS_2019/CSP/bin/CSPa24.dllFor me (on IRIS for Windows (x86-64) 2018.2 (Build 241U) Fri Jan 26 2018 01:06:37 EST) it shows:
Dump of file ./CSPa24.dll
PE signature found
File Type: DLL
FILE HEADER VALUES
14C machine (x86)
5 number of sections
5BC558F7 time date stamp Tue Oct 16 06:20:23 2018
0 file pointer to symbol table
0 number of symbols
E0 size of optional header
2102 characteristics
Executable
32 bit word machine
DLLNote 14C machine (x86) value, it means that it's a 32bit dll. If you have similar output, I recommend installing 32 bit apache.
yes, internal private apache webserver (PWS), the embedded one coming with the IRIS installation is still 32-bit on windows x64.
"CSPGateway-2018.1.1.643.0-win_x64" kit should contain 64-bit CSPGateway binarys/dlls.
You can check bitness/architecture of your apache with the command: >httpd -V
Bitness of apache and CSPGateway binarys *must* match!
There is an alternative to dumpbin in order to check bitness of CSPGateway binarys/dlls which IMHO is easier:
Open executable or dll in editor (notepad, notepad++), check the first printable characters *after* the first occurrence of "PE".
This part is most likely to be surrounded by at least some whitespace (could be a lot of it), so it can be easily done visually.
x86:
PE L
x64:
PE d†
HTH,
Bernd
Thank you @Eduard Lebedyuk, @Bernd Mueller for the tips - yes, it works with a 32-bit Apache server. For some reason even though CSPGateway-2018.1.1.643.0-win_x64 is the one installed (it's the only one downloaded), the CSPa24.dll is 32-bit according to the above test.
Regards,
Olga
i just tried and installed from kit-file "CSPGateway-2018.1.1.643.0-win_x64.exe" and the CSPa24.dll included is 64-bit as expected.
The user you are using to run apache / cache. Do they have rights to the file