Subject: Re: automatic relocation problem? (WAS: problem with 3rd party lib)
From: Thomas Kowatsch <[email-masked]>
To: Cygwin List <[email-masked]>
Date: Thu, 16 Sep 1999 15:41:45 +0200

Thomas Kowatsch wrote:

> Earnie Boyd wrote:
>
> > --- Thomas Kowatsch <[email-masked]> wrote:
> > > I tracked the problem a litlle bit more down. It seems to me that
> > -8<-
> > > 779d0000:/c/WINNT/System32/MSVCRT40.dll
> > > 78000000:/c/WINNT/system32/MSVCRT.dll
> > > 780a0000:/c/WINNT/System32/MSVCIRT.dll
> > > warning: LDR: Automatic DLL Relocation in testit3.exe
> > >
> > -8<-
> > > 61000000:/usr/local/cygnus/cygwin-b20/usr/bin/cygwin1.dll
> > -8<-
> >
> > Your problem is that you're using two different runtimes.
>
> I think my 3rd party library is using the MSVCRT runtime. Is thereany
> way I can use this 3rd party lib then and cygwin?
>
> Is this a general problem that MSVC libraries are not usable? So
> the 3rd party vendor has to support a cygwin version?

... Sorry hit on the send button to quickly ...

Why does the run when I use the 3rd party lib directly linked into
the program? Then all the runtime libs should be loaded also. The
only difference I can see is that the cygwin1.dll is loaded after
all the other stuff. Could that be a reason or is it only working
by accident? Following some gdb output for both ways:

--------- so it works ----------
Starting program: /tmp/sybtest/testit3.exe
64500000:/tmp/sybtest/libex1.dll
10000000:/c/Sybase/dll/libsybdb.dll
2580000:/c/Sybase/DLL/libtcl.dll
25a0000:/c/Sybase/DLL/libintl.dll
[failed reading symbols from DLL]
"/c/WINNT/system32/KERNEL32.dll": error reading line numbers
[failed reading symbols from DLL]
"/c/WINNT/system32/ADVAPI32.dll": error reading line numbers
77e70000:/c/WINNT/system32/USER32.dll
77ed0000:/c/WINNT/system32/GDI32.dll
77e10000:/c/WINNT/system32/RPCRT4.dll
779d0000:/c/WINNT/System32/MSVCRT40.dll
78000000:/c/WINNT/system32/MSVCRT.dll
780a0000:/c/WINNT/System32/MSVCIRT.dll
25b0000:/c/Sybase/DLL/libcomn.dll
2600000:/c/Sybase/DLL/libcs.dll
61000000:/usr/local/cygnus/cygwin-b20/usr/bin/cygwin1.dll
5f810000:/c/WINNT/System32/rpcltc1.dll
1a150000:/c/Sybase/DLL/nlmsnmp.dll
1a160000:/c/Sybase/DLL/nlwnsck.dll
776d0000:/c/WINNT/System32/WSOCK32.dll
[failed reading symbols from DLL]
"/c/WINNT/System32/WS2_32.dll": error reading line numbers
[failed reading symbols from DLL]
"/c/WINNT/System32/WS2HELP.dll": error reading line numbers
1a170000:/c/Sybase/DLL/nlvip32.dll
1a170000:/c/Sybase/DLL/nldecnet.dll
1a170000:/c/Sybase/DLL/nlnwlink.dll
[failed reading symbols from DLL]
"/c/WINNT/System32/MSWSOCK.dll": error reading line numbers
[failed reading symbols from DLL]
"/c/WINNT/system32/msafd.dll": error reading line numbers
[failed reading symbols from DLL]
"/c/WINNT/System32/wshtcpip.dll": error reading line numbers

----------- so it doesn't -----------
Starting program: /tmp/sybtest/testit4.exe
61000000:/usr/local/cygnus/cygwin-b20/usr/bin/cygwin1.dll
[failed reading symbols from DLL]
"/c/WINNT/system32/advapi32.dll": error reading line numbers
[failed reading symbols from DLL]
"/c/WINNT/system32/KERNEL32.dll": error reading line numbers
77e70000:/c/WINNT/system32/USER32.dll
77ed0000:/c/WINNT/system32/GDI32.dll
77e10000:/c/WINNT/system32/RPCRT4.dll
5f810000:/c/WINNT/System32/rpcltc1.dll
64500000:/tmp/sybtest/libex1.dll
14030000:/c/Sybase/dll/libsybdb.dll
14080000:/c/Sybase/DLL/libtcl.dll
140a0000:/c/Sybase/DLL/libintl.dll
779d0000:/c/WINNT/System32/MSVCRT40.dll
78000000:/c/WINNT/system32/MSVCRT.dll
780a0000:/c/WINNT/System32/MSVCIRT.dll
140b0000:/c/Sybase/DLL/libcomn.dll
14100000:/c/Sybase/DLL/libcs.dll
14630000:/c/Sybase/DLL/nlmsnmp.dll
14640000:/c/Sybase/DLL/nlwnsck.dll
776d0000:/c/WINNT/System32/WSOCK32.dll
[failed reading symbols from DLL]
"/c/WINNT/System32/WS2_32.dll": error reading line numbers
[failed reading symbols from DLL]
"/c/WINNT/System32/WS2HELP.dll": error reading line numbers
14650000:/c/Sybase/DLL/nlvip32.dll

Program received signal SIGSEGV, Segmentation fault.
....
--------------------------------------

While I was writing that, I received Mumit's mail saying:

"There are times when it will work, and there are times when
 it won't."

This is very disappointing as I have no chance of not using that
3rd party lib. I will have to contact the vendor and check it out.
If I have no luck, then I will have to do a native port :(((((((

Wish me luck
Tommy

--
------------------------------------------------------------------------
Thomas Kowatsch                      | - Senior Software Engineer -
Switching Test Solutions AG          | mailto: [email-masked]
Wavetek Wandel & Goltermann Divison5 | web   : http://www.stest.com
Friesenbergstr. 75                   | Phone : +41 1 454-6731
CH-8055 Zuerich                      | FAX   : +41 1 454-6612

--
Want to unsubscribe from this list?
Send a message to [email-masked]