On Fri, Jun 06, 2014 at 10:49:46PM +0200, Stephen Kitt wrote: > Hi Bill, > > On Fri, 6 Jun 2014 15:02:45 +0200, Bill Allombert <[email protected]> wrote: > > Hello Stephen, > > (this might be related to #748353) > > I believe it is... > > > I build a C library (libpari.dll) every day. > > Since gcc-mingw-w64-i686 4.9.0-2+13, the DLL is depending on > > libgcc_s_sjlj-1.dll and libwinpthread-1.dll (even though it do not use > > pthread). > > > > Having to ship libwinpthread-1.dll and libgcc_s_sjlj-1.dll > > is a usability problem given the target audience. > > I'm working on figuring out some way to provide a package which allows > building for pthreads or Win32 threads, which would fix your problem (but > still allow people using std::thread and such things to use mingw-w64 too). > > In the mean time, if you like you can rebuild gcc-mingw-w64 with native Win32 > threads, which will avoid the above dependencies (at least > libwinpthread-1.dll). You just need to fetch the gcc-mingw-w64 source and > modify line 137 of debian/rules so that it reads > > --enable-threads=win32 \ > > instead of > > --enable-threads=posix \ > > The resulting set of packages will avoid the pthreads dependency unless you > use OpenMP with libgomp. > > If you do try this, could you let me know if it also drops the > libgcc_s_sjlj-1.dll dependency?
I did it but it does not change the dependencies: $ i686-w64-mingw32-gcc -v Using built-in specs. COLLECT_GCC=i686-w64-mingw32-gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-w64-mingw32/4.9/lto-wrapper Target: i686-w64-mingw32 Configured with: ../../src/configure --build=x86_64-linux-gnu --prefix=/usr --includedir='/usr/include' --mandir='/usr/share/man' --infodir='/usr/share/info' --sysconfdir=/etc --localstatedir=/var --libexecdir='/usr/lib/gcc-mingw-w64' --disable-maintainer-mode --disable-dependency-tracking --prefix=/usr --enable-shared --enable-static --disable-multilib --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --libdir=/usr/lib --enable-libstdcxx-time=yes --with-tune=generic --enable-version-specific-runtime-libs --enable-threads=win32 --enable-fully-dynamic-string --enable-sjlj-exceptions --enable-libgomp --enable-languages=c,c++,fortran,objc,obj-c++ --enable-lto --with-plugin-ld --target=i686-w64-mingw32 --with-gxx-include-dir=/usr/include/c++/4.9 --with-as=/usr/bin/i686-w64-mingw32-as --with-ld=/usr/bin/i686-w64-mingw32-ld Thread model: win32 gcc version 4.9.0 (GCC) However the resulting libpari.dll still require both libwinpthread-1.dll and libgcc_s_sjlj-1.dll. err:module:import_dll Library libgcc_s_sjlj-1.dll (which is needed by L"Z:\\home\\bill\\pari\\Omingw-i686\\libpari.dll") not found err:module:import_dll Library libpari.dll (which is needed by L"Z:\\home\\bill\\pari\\Omingw-i686\\gp-dyn") not found err:module:LdrInitializeThunk Main exe initialization for L"Z:\\home\\bill\\pari\\Omingw-i686\\gp-dyn" failed, status c0000135 I double checked everything. Cheers, -- Bill. <[email protected]> Imagine a large red swirl here. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

