Re: Where should DLL files go?

2009-09-03 Thread Peter Samuelson

[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?

2009-08-27 Thread Hendrik Sattler
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?

2009-08-26 Thread Jakub Wilk

* 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?

2009-08-26 Thread Rene Engelhard
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?

2009-08-26 Thread 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).

 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?

2009-08-25 Thread Sam Morris
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