This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: directory y: exe runs properly, directory x: exe quits straightaway


please reply to the list

On 16/02/2014 18:24, lothar atheling wrote:


On Fri, Feb 14, 2014, at 11:31 AM, Marco Atzeri wrote:


On 14/02/2014 18:44, lothar atheling wrote:

i am porting an application built with Visual C++ to build under Mingw
gcc (CXX=/usr/bin/i686-w64-mingw32-g++)

this is not the mingw list...

this is a cygwin problem being reported to the cygwin list!!!!

it is almost certainly not a compiler / toolchain issue.

for me it is a mingw program issue. Just personal opinion.

this behaviour has some reproducibility: if i copy the development
directory with tar and rebuild, the behaviour represents, whereas if i
make a new build directory, copy the sources and the makefile and
rebuild, the behaviour vanishes.

ldd is not the right tool for this search.
It does not show the DLLs not available on path

try:
objdump -x mung |grep "DLL Name"

  i had tried

   objdump -x mung.exe

for these exes - they were identical in all directories.

That is expected. "objdump -x" provides all the info, while
"ldd" only the list of dlls available on the PATH

i mentioned that the bash environment and the cygwin environments were
also the same in all cases.

to me it seems than in one case

>>> $ ldd mung.exe
>>>           ntdll.dll => /xp0/WINDOWS/system32/ntdll.dll (0x7c900000)
>>> kernel32.dll => /xp0/WINDOWS/system32/kernel32.dll (0x7c800000)

ldd find only these dll's in the PATH

While in the second case

>>> while in the copy directory, ldd shows:
>>> $ ldd mung.exe
>>>           ntdll.dll => /xp0/WINDOWS/system32/ntdll.dll (0x7c900000)
>> [cut]
>>>           glut32.dll => /usr/bin/glut32.dll (0x10000000)
>>>           WINMM.dll => /xp0/WINDOWS/system32/WINMM.dll (0x76b40000)
>>>           libgcc_s_sjlj-1.dll =>
>>>           /usr/i686-w64-mingw32/sys-root/mingw/bin/libgcc_s_sjlj-1.dll
>>>           (0x6cec0000)
>>>           libstdc++-6.dll =>
>>>           /usr/i686-w64-mingw32/sys-root/mingw/bin/libstdc++-6.dll
>>>           (0x6fc40000)
>>>

ldd find all dll's on the PATH

Regards
Marco

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]