webMethods

webMethods

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  MIDL generates error when compiling samples

    Posted Tue October 10, 2006 01:35 AM

    System:
    Fedora Core 4
    GCC 3.2

    The error (when trying to make ‘basic’ in the dcom samples):

    midl : error MIDL2120 : error loading library libole32.so

    Below is the command causing the error, and an strace to go along with it. Note that originally the strace showed that midl was looking for stdole32.tlb and couldn’t find it, so I moved it to one of the locations it was looking for it in, the resulting error was the same though. Any ideas?

    make[1]: Entering directory /opt/sag/exx/v721/examples/dcom/basic/proxy/unix' makefile:45: target obj/i686_linux_libc6/basicps_def.o’ doesn’t match the target pattern
    midl -char unsigned -ms_ext -c_ext -Os -DSAG_COM=1 -DCE_TLINUX86 -D_REENTRANT -D_POSIX_MAPPED_FILES -D_GNU_SOURCE -DCOOL_LINUX_COMPILER_H=1 -D_WIN32 -DWIN32=100 -D_WIN32_WINNT=0x400 -DINC_OLE2 -DFLAT -DUNICODE -DWIN32_LEAN_AND_MEAN -D_POSIX_MAPPED_FILES -DSECURITY_ENABLED=1 -D_WCHAR_T_DEFINED -I. -I… -I/opt/sag/exx/v721/include -out obj/i686_linux_libc6 -tlb /opt/sag/exx/v721/examples/lib/basic.tlb …/basic.idl
    Microsoft/Software AG (R) MIDL Compiler Version 5.03.0279, Software AG internal version 38
    Copyright (c) Microsoft Corp/Software AG 1991-2005. All rights reserved.
    Processing …/basic.idl
    Processing /opt/sag/exx/v721/include/unknwn.idl
    Processing /opt/sag/exx/v721/include/wtypes.idl
    …/basic.idl(25) : warning MIDL2346 : the specified lcid is different from previous specification
    Processing /opt/sag/exx/v721/include/oaidl.idl
    Processing /opt/sag/exx/v721/include/objidl.idl
    midl : error MIDL2120 : error loading library libole32.so

    strace:
    1849 read(11, " [in,out] PVOID pvD"…, 16384) = 1870
    1849 brk(0x9093000) = 0x9093000
    1849 read(11, “”, 16384) = 0
    1849 close(11) = 0
    1849 unlink(“/tmp/MIDLwSt70O-1849”) = 0
    1849 access(“./stdole32.tlb”, F_OK) = 0
    1849 write(1, “midl : error MIDL2120 : error lo”…, 58) = 58
    1849 munmap(0x8b0000, 4096)


    #webMethods
    #EntireX-DCOM
    #Mainframe-Integration


  • 2.  RE: MIDL generates error when compiling samples

    Posted Wed October 11, 2006 12:06 PM

    Hello,

    please note that we have tested and officially support RedHat and SuSE distributions. We have not tested Fedora.

    However, if you have installed the correct environment (gcc, binutils), it should also be possible to run on Fedora.

    Therefore I like to ask some questions:

    • Have you set environment variable $SAG to the installation dir (usually /opt/sag)?
    • Have you sourced the EntireX environment file $EXXDIR/$EXXVERS/INSTALL/exxenv?
    • Are all libraries resolved if you type “ldd libole32.so”?
    • Can you run the sclient/sserver example in $EXXDIR/$EXXVERS/INSTALL/DCOverify after registering “sserver -r”?
    • Can you compile the mssimple example (this is the sclient / sserver example) in $EXXDIR/$EXXVERS/examples/dcom/mssimple? Here you don’t need MIDL.

    Regards,
    Volker Denkhaus


    #webMethods
    #Mainframe-Integration
    #EntireX-DCOM


  • 3.  RE: MIDL generates error when compiling samples

    Posted Wed October 11, 2006 08:57 PM

    Answers to your questions:

    • Have you set environment variable $SAG to the installation dir (usually /opt/sag)?
      yes

    • Have you sourced the EntireX environment file $EXXDIR/$EXXVERS/INSTALL/exxenv?
      yes

    • Are all libraries resolved if you type “ldd libole32.so”?
      yes

    • Can you run the sclient/sserver example in $EXXDIR/$EXXVERS/INSTALL/DCOverify after registering “sserver -r”?
      I can run it bur I receive this error
      #S# sserver: CoRegisterClassObject failed (800706ba / 1722)

    • Can you compile the mssimple example (this is the sclient / sserver example) in $EXXDIR/$EXXVERS/examples/dcom/mssimple? Here you don’t need MIDL.
      yes

    Additionally, I have succesfully compiled the RPC hello program and it works fine.


    #webMethods
    #EntireX-DCOM
    #Mainframe-Integration


  • 4.  RE: MIDL generates error when compiling samples

    Posted Thu October 12, 2006 08:14 AM

    Hello,

    so it looks like you try to prestart sserver and you get this error?
    That looks like the process rpcss is not running. After starting the DCOM environment (i.e. “ntwopper -v ntd”), there should be three processes running: ntd, rpcss and paulad. If that is not the case, then there is a severe problem. You can also use “sermon obj” to see, which processes have connected to ntd. I recommend to do the following: Before starting the DCOM environment, please set the environment variable COOL_PRIV_PROCS to the value “all”. The start “ntwopper -v ntd”. Check if rpcss and paulad are running. If not, just try to start rpcss on the command line. Maybe this process can’t start either due to a problem with libole32.so.
    Have you ever tried to install/run this on SuSE or RedHat (one of our supported platforms)?

    Regards,
    Volker Denkhaus


    #Mainframe-Integration
    #EntireX-DCOM
    #webMethods


  • 5.  RE: MIDL generates error when compiling samples

    Posted Fri October 13, 2006 07:45 PM

    Actually rpcss is up and running fine. Sermon obj lists a bunch of stuff, but I still get
    #S# sserver: CoInitializeEx …
    #S# sserver: Security enabled…
    #S# sserver: CoRegisterClassObject …
    #S# sserver: CoRegisterClassObject failed (8007000e / 14)

    Here’s the thing - I don’t think there is a problem with the libole32.so - the program never even tries to open it (look at the strace). I think there is another problem and the error message is incorrect.

    -b


    #EntireX-DCOM
    #Mainframe-Integration
    #webMethods


  • 6.  RE: MIDL generates error when compiling samples

    Posted Mon October 16, 2006 09:31 AM

    Hello,

    from your emails below, I see that you now get a different error code.
    First it was #S# sserver: CoRegisterClassObject failed (800706ba / 1722)
    Now it is #S# sserver: CoRegisterClassObject failed (8007000e / 14).

    This looks really strange. I know a situation when this error occurs. This is usually if the library libsecurity.so couldn’t be found. But if you have executed a regular installation, this library should be there.

    The whole thing looks quite strange. After a succeful installation, the basic tests have to work. So I guess, either we have a special problem with this Fedora distribution (as I mentioned, we haven’t tested on Fedora), or you installation is corrupted or hasn’t finished succesful (which might also be a problem of the Fedora distribution).
    What is the version of gcc, binutils and libstdc++ shipped with this Fedora distribution. The DCOM version you’ve downloaded needs gcc 3.3, binutils 2.14.90 and libstdc++ version 5. Do you have all this prerequisites?

    Can you do a second installation on a SuSe 9 or RedHat 3? These are the distributions we’ve tested.

    You could also try to create a logfile. I do not know if this would help us in this situation, but it is worth a try.
    Please shut down the environment with command “sermon shut”. Then set the following environment variables: COOL_LOGLEVEL to value 166 and specify a logfile with variable COOL_LOGFILE. Start “ntwopper -v ntd” and try to register sserver. After the test, shut down the environment again and please send me the logfile.

    Regards,
    Volker Denkhaus


    #webMethods
    #Mainframe-Integration
    #EntireX-DCOM


  • 7.  RE: MIDL generates error when compiling samples

    Posted Mon October 23, 2006 03:29 PM

    Hello,

    there could also be a different problem. For SuSE there is a packet called “wine” which also inlcudes a libole32.so. Dependend on the LD_LIBRARY_PATH it could be that the wrong libole32.so is loaded and this will result in failures.
    So, please check if you have installed a similar packet on your Fedora installation.

    Regards,
    Volker Denkhaus


    #Mainframe-Integration
    #webMethods
    #EntireX-DCOM