Conversation
There used to be an include/gai.h, but with that gone,
`make distcheck` would fail with:
make[3]: Entering directory '/srv/cyrus-sasl/saslauthd'
make distdir-am
make[4]: Entering directory '/srv/cyrus-sasl/saslauthd'
make[4]: *** No rule to make target 'include', needed by 'distdir-am'. Stop.
make[4]: Leaving directory '/srv/cyrus-sasl/saslauthd'
make[3]: *** [Makefile:642: distdir] Error 2
make[3]: Leaving directory '/srv/cyrus-sasl/saslauthd'
make[2]: *** [Makefile:796: distdir-am] Error 1
make[2]: Leaving directory '/srv/cyrus-sasl'
make[1]: *** [Makefile:790: distdir] Error 2
make[1]: Leaving directory '/srv/cyrus-sasl'
make: *** [Makefile:898: dist] Error 2
Without this, `make distcheck` doesn't succeed because:
make[4]: *** No rule to make target 'libsasl2.map', needed by 'libsasl2.la'. Stop.
make[4]: Leaving directory '/srv/cyrus-sasl/cyrus-sasl-2.1.28/_build/sub/lib'
make[3]: *** [Makefile:521: all] Error 2
make[3]: Leaving directory '/srv/cyrus-sasl/cyrus-sasl-2.1.28/_build/sub/lib'
make[2]: *** [Makefile:691: all-recursive] Error 1
make[2]: Leaving directory '/srv/cyrus-sasl/cyrus-sasl-2.1.28/_build/sub'
make[1]: *** [Makefile:559: all] Error 2
make[1]: Leaving directory '/srv/cyrus-sasl/cyrus-sasl-2.1.28/_build/sub'
make: *** [Makefile:910: distcheck] Error 1
With a distcheck build, t_common.h wasn't being copied over to
the build dir, so it couldn't be found causing:
../../../tests/t_common.c:4:10: fatal error: t_common.h: No such file or directory
4 | #include <t_common.h>
| ^~~~~~~~~~~~
compilation terminated.
make[3]: *** [Makefile:525: t_common.o] Error 1
make[3]: Leaving directory '/srv/cyrus-sasl/cyrus-sasl-2.1.28/_build/sub/tests'
make[2]: *** [Makefile:691: all-recursive] Error 1
make[2]: Leaving directory '/srv/cyrus-sasl/cyrus-sasl-2.1.28/_build/sub'
make[1]: *** [Makefile:559: all] Error 2
make[1]: Leaving directory '/srv/cyrus-sasl/cyrus-sasl-2.1.28/_build/sub'
make: *** [Makefile:910: distcheck] Error 1
When tests try to run, they fail. If we add this hack so we get errors in
syslog:
diff --git a/lib/common.c b/lib/common.c
index a74d0ae..fcf4311c 100644
--- a/lib/common.c
+++ b/lib/common.c
@@ -2098,6 +2098,8 @@ _sasl_log (sasl_conn_t *conn,
if (result != SASL_OK) goto done;
out[outlen]=0;
+ syslog(LOG_ERR, out);
+
/* send log message */
result = log_cb(log_ctx, level, out);
We see:
t_gssapi_srv: looking for plugins in '../../../plugins/.libs', failed to open directory, error: No such file or directory
t_gssapi_cli: looking for plugins in '../../../plugins/.libs', failed to open directory, error: No such file or directory
The tests are running out of:
cyrus-sasl-2.1.28/_build/sub/tests
so that puts us in the source directory, but the actual plugins are in
_build/sub/plugins/.libs/, so we need to use that instead.
|
Mm, other failures actually from actual make distcheck output: So I need... Okay: And then: (this is getting silly) Okay! So... what's actually failing that needs fixing? Part of this might just be "For distcheck / make check, you need to install these libs..." |
A |
Without this, when distcheck runs, it does: * make * make check * make install ... and the make check phase runs saslpasswd2 which requires plugins to be in the plugindir. But without `make install` being run, they aren't there, so we have tell configure to look elsewhere when under distcheck. This is a hack. The real solution is get `make check` working against a non-installed build, somehow...
|
Okay the commit I've pushed "fixes" the libdir problem of |
|
IIRC the "DCO" check failure is a requirement that all commits have a signoff line in the commit message, which you get by passing the |
|
The branch itself is a bit of a mess because of how I merged the various test and code fixes that are in flight, but I can confirm that with your changes (minus b126c51) plus one additional change, |
Huh. I'm... curious why that works without this commit. I'll have to play with your branch. |
|
Because, like I said before, 50c02e7 is the proper (or at least an alternative) fix for that issue. |
Ah thank you. That commit message wasn't descriptive enough for me to realize these things were connected |
This branch includes some "fixes" to get
make distcheckalmost working on master. I am unsure if any or all of these are the correct fixes, but they help point to the problems in building.The
make checkthatmake distcheckcalls still fails:and at this point I need to take a break :)
And with this hack:
we see:
This seems to be because of libdir?
...