Re: Where should DLL files go?
[Steve Langasek] Mm, not exactly. At build time you use libfoo.so; at runtime you use libfoo.so.VER. It just happens that the ELF version of stubs is trivial (a symlink). _Usually_ a symlink ... it doesn't have to be (see /usr/lib/libc.so). (: -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: Where should DLL files go?
Am Mittwoch 26 August 2009 19:06:22 schrieb Steve Langasek: On Tue, Aug 25, 2009 at 09:48:56PM +0100, Sam Morris wrote: 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, Mm, not exactly. At build time you use libfoo.so; at runtime you use libfoo.so.VER. It just happens that the ELF version of stubs is trivial (a symlink). SONAME or, if no SONAME, libfoo.so. The SONAME may be something totally different than libfoo.so.VER But you know that ;) From a multiarch point of view, perhaps the DLL could go in /usr/lib/i586-mingw32msvc? Cf. bug #542865 - in the future we might actually have a mingw32 mini-architecture, at which point these files would cause a package conflict. Maybe use /usr/i586-mingw32msvc/lib for now (the cross-build directory)? Actually, the .lib files go to ${PREFIX}/lib and the .dll files go to ${PREFIX}/bin (together with binaries that need them). Having PREFIX as /usr/i586-mingw32msvc is probably fine, though the 'msvc' is misplaced: gcc is used not the MicroSoft Visual Compiler (usually abbreviated with msvc). HS -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: Where should DLL files go?
* Sam Morris s...@robots.org.uk, 2009-08-25, 21:48: 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. FYI, there is another DLL that is required by some programs compiled with (gcc-)mingw32: mingwm10.dll. See http://bugs.debian.org/518770 for an unfruitful discussion on where the DLL should go. -- Jakub Wilk -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: Where should DLL files go?
Hi, On Wed, Aug 26, 2009 at 10:20:25AM +0200, Jakub Wilk wrote: * Sam Morris s...@robots.org.uk, 2009-08-25, 21:48: 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. FYI, there is another DLL that is required by some programs compiled with (gcc-)mingw32: mingwm10.dll. See http://bugs.debian.org/518770 for an unfruitful discussion on where the DLL should go. Note that there's also the infamous unowinreg.dll: $ dpkg -L openoffice.org-dev | grep dll /usr/lib/openoffice/basis3.1/sdk/classes/win/unowinreg.dll (So far in that sdk/classes directly as it's part of the Java stuff of the SDK. But when we decide on a proper location we of course could move/symlink it) Grüße/Regards, Rene -- .''`. René Engelhard -- Debian GNU/Linux Developer : :' : http://www.debian.org | http://people.debian.org/~rene/ `. `' r...@debian.org | GnuPG-Key ID: D03E3E70 `- Fingerprint: E12D EA46 7506 70CF A960 801D 0AA0 4571 D03E 3E70 -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: Where should DLL files go?
On Tue, Aug 25, 2009 at 09:48:56PM +0100, Sam Morris wrote: 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, Mm, not exactly. At build time you use libfoo.so; at runtime you use libfoo.so.VER. It just happens that the ELF version of stubs is trivial (a symlink). From a multiarch point of view, perhaps the DLL could go in /usr/lib/i586-mingw32msvc? Cf. bug #542865 - in the future we might actually have a mingw32 mini-architecture, at which point these files would cause a package conflict. Maybe use /usr/i586-mingw32msvc/lib for now (the cross-build directory)? -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developerhttp://www.debian.org/ slanga...@ubuntu.com vor...@debian.org signature.asc Description: Digital signature
Where should DLL files go?
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 signature.asc Description: This is a digitally signed message part