The gcc-mingw32 package provides GCC configured to target Microsoft Windows. The executables built by GCC will pick up a dependency on libgcc_s_sjlj-1.dll; the question of where that file should be placed on a Debian system has arisen. Although on Debian, the same shared library files (libfoo.so) are used by both compilers to link against, and ld-linux (what is that thing called? The "loader"? The "linker"?) to satisfy runtime dependencies, Windows works differently. The compiler links against 'foo.lib'; this may either be a static library, in which case its contents are copied into the final executable, or it may be a 'stub' for a dynamically linked library (DLL). In the latter case, Windows will expect to find 'foo.dll' in the same directory as the executable that links against it. See <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=540783> for more background information. So, where do we put DLL files on a Debian system? Upstream chose /usr/bin; this is where the libgcc DLL is installed by GCC's Makefiles. It is where one would have to place a DLL file if one were maintaining a FHS hierarchy on a Windows system, and is also where cygwin and msys place put their DLL files in their packages. The FHS itself doesn't say anything on the matter, it not being targeted at Windows. From a multiarch point of view, perhaps the DLL could go in /usr/lib/i586-mingw32msvc? Anyway, the final location doesn't much matter, as long as the people who need to find the DLL can do so easily. Thoughts? -- Sam Morris https://robots.org.uk/ PGP key id 1024D/5EA01078 3412 EA18 1277 354B 991B C869 B219 7FDB 5EA0 1078
Attachment:
signature.asc
Description: This is a digitally signed message part