cancel
Showing results for 
Search instead for 
Did you mean: 

Installing SAPNWRFC on Windows XP

Former Member
0 Kudos

Greetings,

I've being trying to install SAPNWRFC on a Windows XP machine with ActivePerl 5.8.8 without luck.

I've made some research (including this thread ) but nothing seems to help.

After installing Visual C++ 2005 Express Edition (and other dependencies, including patches) I can compile the sources from SAPNWRFC without error messages, but after creating a PPM package and running a test program, I got the following error messages:

"This application has failed to start because SAPNWRFC.dll was not found. Re-installing the application may fix this problem".

And another one:

"Can't load 'C:/Perl/site/lib/auto/SAPNW/Connection/Connection.dll' for module SAPNW::Connection: load_file:The specified module could not be found at C:/Perl/lib/DynaLoader.pm line 230.

at C:\RFC\ajustenpl.pl line 4

Compilation failed in require at C:\RFC\ajustenpl.pl line 4.

BEGIN failed--compilation aborted at C:\RFC\ajustenpl.pl line 4."

Forcing the DLL's to be founded (copying them to system32 folder, just to test) did not help (a different error message was generated, although).

Using "nmake install" instead of creating a PPM showed no difference too.

I took a look at the VC redistribuition package, but it seems to me that it is necessary only for workstations without a development environment. Please correct me if I'm wrong.

I'm clueless and to be honest I'm not happy at all to have all this trouble. Why isn't there a PPM package (or a precompiled tarball) of SAPNWRFC?

Thank you all.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

> "I'm clueless and to be honest I'm not happy at all to have all this trouble. Why isn't there a PPM package (or a precompiled tarball) of SAPNWRFC?"

Well here is a perfect opportunity for you to do something about it. I am quite happy to accept binary PPD builds submitted from the community.

I don't use windows, so I have no burning desire to support it, but I do know that others have successfully built, or installed PPDs => http://www.piersharding.com/download/win32/ - most of the troubles people seem to have are to do with dependencies, and broken windows installs.

Here are some notes that I have seen compiled by others with respect to NW SAP RFC SDK under windows:

The points we need to keep in mind in case of similar problems in the

future:

1. The standard MSVCRT.dll (required by ruby.exe) should be in C:\windows\system32

2. No MS redistributables should be copied to system32! This only seems to confuse the side-by-side management.

3. sapnwrfc.dll requires the 8.0 SP1 redistributables: 8.0.50727.762 from the WinSxS directory I would expect that nwsaprfc.so requires the 8.0 SP0 redistributables, but strangely enough the process doesn't load them: it seems to be satisfied with the 8.0 SP1 version as well!

Cheers.

Former Member
0 Kudos

> Well here is a perfect opportunity for you to do

> something about it. I am quite happy to accept

> binary PPD builds submitted from the community.

Once I'm able to compile and get SAPNWRFC working in my box I'll be happy to generate a new PPD.

Just tell me later how should I sent it to you.

> I don't use windows, so I have no burning desire to

> support it, but I do know that others have

> successfully built, or installed PPDs =>

> http://www.piersharding.com/download/win32/ - most of

> the troubles people seem to have are to do with

> dependencies, and broken windows installs.

> Here are some notes that I have seen compiled by

> others with respect to NW SAP RFC SDK under windows:

Compilation of any C/C++ code in Windows seems to be a pain. Lot's of downloads (some of them useless) and no complete documentation about it (at least in one place).

Having a working PPD is <b>really</b> a great help.

> 1. The standard MSVCRT.dll (required by ruby.exe)

> should be in

>

> :\windows\system32

This DLL is available there in my box.

> 2. No MS redistributables should be copied to

> system32! This only seems

> o confuse the side-by-side management.

I didn't know about this possibility, so I didn't try it.

> 3. sapnwrfc.dll requires the 8.0 SP1

> redistributables: 8.0.50727.762

I installed the Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) (here: http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&Displa... but it didn't help.

The funny part is that I installed the PPD of the SAPNWRFC (version 0.8) and receive the same error messages. For sure is a configuration problem in my box, not with SAPNWRFC.

I did a research on Google for some hints about defining library repositories on Windows and I got some directions here: http://llg.cubic.org/docs/vc7.html.

Defining a %LIB% system variable, with the directory C:\Program Files\SAP\FrontEnd\SapGui\nwrfcsdk\lib included didn't help either. Here is the content of the variable:

"C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;C:\Program Files\Microsoft Visual Studio 8\VC\LIB;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;C:\Program Files\SAP\FrontEnd\SapGui\nwrfcsdk\lib "

I went throght the whole process again (compilation, creating a PPD file from version 0.11) with no luck.

<b>Updated</b>

I reinstalled everything in my box, just to be sure:

Microsoft .NET Framework 2.0

Microsoft .NET Framework SDK 2.0 - ENU

Microsoft Plataform SDK (R2) (3790.2075)

Microsoft Visual C++ 2005 Express Edition - ENU

Microsoft Visual C++ 2005 Redistributable

Here is some information about running the Makefile.pl:

C:\temp\software\perl\sapnwrfc-0.12>del Makefile.old

C:\temp\software\perl\sapnwrfc-0.12>perl Makefile.PL

Checking if your kit is complete...

Looks good

Found the following libsapnwrfc installations:

sapnwrfc C:/Program Files/SAP/FrontEnd/SAPgui/nwrfcsdk

sapnwrfc c:/nwrfcsdk

Which libsapnwrfc build path do you want to link against? [C:/Program Files/SAP/FrontEnd/SAPgui/nwrfcsdk] c:\nwrfcsdk

================================================

BUILD INFORMATION

================================================

source opt:

addlibs opt:

embed_manifest opt:

ADD_CFLAGS: -DWIN32 -D_CONSOLE -DUNICODE -D_UNICODE -DSAPwithUNICODE -DSAPonNT -DSAP_PLATFORM_MAKENAME=ntintel

sapnwrfc dir: c:\nwrfcsdk

libraries: -lm -ldl -lrt -lpthread -L"c:\nwrfcsdk/lib" -lsapnwrfc -llibsapucum

include dir: "c:\nwrfcsdk\include"

sapnwrfc header: "c:\nwrfcsdk\include"/sapnwrfc.h

sapnwrfc candidate: c:\nwrfcsdk; c:\nwrfcsdk/include; sapnwrfc

================================================

Note (probably harmless): No library found for -lm

Note (probably harmless): No library found for -ldl

Note (probably harmless): No library found for -lrt

Note (probably harmless): No library found for -lpthread

Writing Makefile for SAPNW::Connection

Writing Makefile for sapnwrfc

After compilation, I checked the Connection.dll file for dependencies using the Dependency Walker program. It pointed three missing DLL that could not be found:

- SAPNWRFC.dll

- LIBSAPUCUM.dll

- DWMAPI.dll

The third dll I just copied to system32 folder and it worked fine.

I tried to compile SAPNWRFC several times, forcing the location of the DLLs using the system variables LIB and LIBPATH for VC++ compiler. Same error again. I double checked with Dependency walker, no change.

I forced the test copying the missing dll to system32 and repeated the test, which results in the following errors messages:

Windows error message:

"R6034

An application has made an attemp to load the C runtime library incorrectly."

Message from the Perl program:

"Can't load 'C:/Perl/site/lib/auto/SAPNW/Connection/Connection.dll' for module SAPNW::Connection: load_file:A dynamic link library (DLL) initialization routine failed at C:/Perl/lib/DynaLoader.pm line 230.

at C:\RFC\ajustenpl.pl line 4

Compilation failed in require at C:\ajustenpl.pl line 4.

BEGIN failed--compilation aborted at C:\RFC\ajustenpl.pl line 4."

<b>Updated 2:</b>

After some researching, I found some issues regarding the DWMAPI.dll installed in Windows XP when one update the Internet Explorer to version 7. I made a downgrade and start testing again. This time, DWMAPI.dll did not showed any issue in the Dependency Walker (DW).

After that, the DW program shows only dependencies about the MPR.DLL and MSJAVA.DDL. Regarding Microsoft Technet website, this is not an issue and could be ignored safely.

Anyway, the DLLs from nwrfcsdk were still missing. After adding the nwrfcsdk's path to the PATH global variable, the DW program shows no more issue.

Testing again the program, although, showed the same error that I got after copying the DLL's to system32 directory ("R6034. An application has made an attemp to load the C runtime library incorrectly.").

Searching in Technet showed that this kind of error is caused by invalid manifest files. But looking at the manifest files in the sapnwrfc, everything looks fine.

I'm clueless now. Maybe somebody have the sapnwrfc working in a Windows XP box and could give me some directions.

Thank you all.

Message was edited by:

Interno Projeto

Answers (0)