Mail Archives: cygwin/2014/10/27/07:38:17
--iiZKCn1f/U0ES2iY
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Oct 27 07:31, Christian Franke wrote:
> Corinna Vinschen wrote:
> >On Oct 25 13:10, Corinna Vinschen wrote:
> >>On Oct 24 23:17, Denis Excoffier wrote:
> >>>2014-10-24 22:16, Christian Franke wrote:
> >>>>Another possible solution:
> >>>>Check for e.g. CYGWIN_DLLPATH environment variable before calling Set=
DllDirectory().
> >>>>
> >>>>If unset or empty, call SetDllDirectory("X:\path_to_cygwin\bin");
> >>>>else if set to ".", do nothing.
> >>>>else call SetDllDirectory(CYGWIN_DLLPATH);
> >>>>
> >>>>The above 'make check' should then work again as 'CYGWIN_DLLPATH=3D. =
make check'.
> >>>I can buy this. Setting 'export CYGWIN_DLLPATH :=3D .' at the beginnin=
g of the Makefile will
> >>>do the job.
> >>>
> >>>>Possible enhancement: If AddDllDirectory() is available (>=3D Win8), =
accept a real search path in CYGWIN_DLLPATH.
> >>>Also perhaps you can use yet another subitem in the CYGWIN environment=
variable?
> >>If AddDllDirectory works without much hassle, which I have to test firs=
t,
> >>why introduce CYGWIN_DLLPATH or another CYGWIN item?
> >>
> >>LD_LIBRARY_PATH would be the one we want then, wouldn't it?
> >One really big problem with AddDllDirectory is this: While you can add
> >multiple directories to the search path, the order in which these
> >directories are added does not specify a search order. In fact, the
> >order in which the paths are searched is unspecified per MSDN.
> >
> >In Denis example that means, if we add /usr/bin and /my/dir/bin to the
> >DLL search path, Denis case works or it doesn't, and we never know when
> >it will work and when it won't, and we have no way to influence this.
> >Oh boy.
> >
> >Apart from SetDllDirectory and AddDllDirectory, what about this very
> >simple solution in Cygwin:
> >
> >- Don't call SetDllDirectory at all, thus "." is kept in the search
> > path.
> >
> >- In execve, when creating the Windows environment for the child process,
> > check if $PATH is empty. If so, set $PATH to /bin for the child.
> > Or, check if /bin is in $PATH, if not, add it.
> >
> >That would catch both problems, backward compatibility with Denis
> >scenario, as well as the PATH setting in postfix.
>=20
> OK for me. For postfix, the '$PATH is empty' check would be sufficient.
Thanks, I applied a patch to add the Windows version of /bin to the
Windows environment when spawning a new process. Checking if $PATH
contains this dir is a bit awkward. If it really turns out to be
necessary at one point, we can add it then.
I'm going to create a 1.7.33-0.3 test release later today.
Thanks guys,
Corinna
--=20
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
--iiZKCn1f/U0ES2iY
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAEBAgAGBQJUTi6TAAoJEPU2Bp2uRE+gq4oP/2L0skdBnDKKnO/vJlH4kpyl
/khgi8t+Lw6TeCSrHRCQNww099m/1wMOlB/iChuJP4osiOTPm+8iw4yDnBYXuWGM
kzFzECi2FrlhQJJX0f0VZH/BRVEvOlfmg4+FK2usBzOK6/X8APGlgyRzqEPULN8l
GtkB7g9dk8XcdXm62sYaj90KGHdf6oIMXwExQ2jIn/Sz1okiZ6uQK2T7R7nxvUOg
PGtGVAOjsdVpkbj3WVm9rhZghjBBM3OH2rkBh0ocPCKIXV0nX8fIjE+SI1F0oSWR
sLuhlatpkCrjp6qdGWV+fwsfYGAbei+xrPQjhZ8x//AWh3BFIJ3Z9hmgYYWNEBdY
NLyJx/nUKkXIPW3aDLvLAyaHDGa4+349AsuuqBVEtep/3E3TDRSBolTtZDCW2+26
ar8Y1NJHuzmpb09l2fM4hnoJPR6ga3WgTEfUHUlTZYkpLg31ASjXERIAXKmjUFsW
WNs8TbCN+7D0VrL29jx+zmeD58FFYLZmgQVghsFQDxdCMLiT1Uld6BKDiNN9h0fR
2ILVIU2eyGwq3SA1GFK3pi4S09T4Y6PjyC4il+XphUhxtg8Abar0YOsQtxOgpCMi
OUxFGMbMhtYzMK+TkzvZOiFO0Vn05N99ZnuiclvMNTjL12HvWxYxunqgYJWJguTL
d/O9yKKFItLE3hXKwqj3
=l9Cw
-----END PGP SIGNATURE-----
--iiZKCn1f/U0ES2iY--
- Raw text -