On 04/03/2024 21:20, Brian Inglis via Cygwin-apps wrote:
On 2024-03-04 13:00, Jon Turney wrote:
On 03/03/2024 22:29, Brian Inglis via Cygwin-apps wrote:
On 2024-03-03 14:39, Jon Turney via Cygwin-apps wrote:
On 03/03/2024 16:48, Brian Inglis via Cygwin-apps wrote:
I am finding mingw package cross tests fail with missing DLLs -
CROSS_BINDIR is not in the PATH.
I now have to define src_test to run cygtest adding CROSS_BINDIR in
the PATH.
Is this likely to be upstream (e.g. gnulib) changes or cygport
changes?
This is a shortcoming of cygport, in that you cannot just write "do
the standard src_(compile|install|test), but do this extra thing
first (like modifying PATH as you need in this case).
(One approach to this I've though about would be to have a hook
function (or set of functions) which are called before each phase of
operation, to allow this)
These test failures have been only in the latest upstream releases.
Previously no PATH fiddling was required.
For mingw64-x86_64-nghttp2 that was 2024-01-21.
Why I asked if anyone noticed any cross build changes as for example
in autotools, gnulib, or cygport?
I assumed that you were talking about "PATH needs to be set so that
dependencies of the built DLL can be loaded"
But, now I look, mingw64-x86_64-nghttp2 doesn't have any dependencies.
So, I'm not so sure. Maybe you just mean that the test harness can't
locate the just built DLL? That could well be an upstream change.
Maybe you could show the actual error?
Sorry I was not clearer.
In previous release build checks there were no issues.
Have you tried rebuilding and running the tests for the previous release
version of nghttp2? This might at least offer some clue as to if the
change is in upstream, or in the toolchain or build environment?
In the latest release the test programs have a dependency on winpthreads
and failed with popup dialogues:
I see.
Well, to reiterate, if the test genuinely depends on that DLL, this
behavior is to be expected, because cygport (currently) lacks a feature
to add CROSS_BINDIR to the PATH before running tests.
To me, the obvious theories to explore are that:
* the previous version of nghttp2 did not link it's tests with that DLL
(e.g. an upstream change has been made to parallelize the tests, or add
testing coverage for multithreaded use)
* the previous version of nghttp2 arranged to link it's tests statically
with the required library, and no longer does so
* the MinGW cross winpthreads packages have stopped providing the static
library (from a brief check, this does not seem to be the case)
Hope that's of some help.