OK, got it! Turns out that there is a discrepancy caused by the makefile generation kit I am using (Imake) and the expected name of the .so file. The last line when building the shared object (the link step) does two different things: - It physically names the output file ( -o ./libdbgtrace.so.~.so ) - It passes a linker option setting the shared-object name ( -soname,libdbgtrace.so. ) These two things do NOT match Using ldd on the application ldd cms.exe.so showed me that one of the shared-libs needed to run the app was not found and more importantly, its expected NAME ( libdbgtrace.so. ) I simply renamed the shared-object and now the app runs and behaves exactly as its MinGW-compiled twin does, which was the goal. Thanks, Thunderbird (and others!), you've helped me see more clearly. Happy Easter to all and a big chocolate bunny! J On Fri, 2010-04-02 at 16:57 -0500, Thunderbird wrote: > I would get rid of a lot of unneeded CFLAGS, some might not work for winelib purposes (winegcc is just a wrapper).