GNU bug report logs - #70982
test suite failures on OpenBSD

Previous Next

Package: libtool;

Reported by: Bruno Haible <bruno <at> clisp.org>

Date: Thu, 16 May 2024 13:48:01 UTC

Severity: normal

Done: Ileana Dumitrescu <ileanadumitrescu95 <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Bruno Haible <bruno <at> clisp.org>
To: 70982-done <at> debbugs.gnu.org, Ileana Dumitrescu <ileanadumitrescu95 <at> gmail.com>
Subject: bug#70982: test suite failures on OpenBSD
Date: Fri, 08 Nov 2024 19:56:51 +0100
Hi Ileana,

> > * In which situations is the user expected to pass one of these options?
> >    - Is it only for libtool's own test suite?
> 
> No, but I can see where I may have created that confusion. I can update
> the documentation to make this more clear.
> ...
> No, this should be specific to "--mode=finish" and "--mode=install" for
> shared libraries where the shared library cache may be updated by
> finish_cmds. The command(s) should not have any effect on other libtool
> modes.

Documenting this would make sense. It was not clear to me.

> Depending on what a package's testsuite looks like, it should
> ensure that local changes to a shared library (that has previously been
> installed) will be utilized when linking to an executable, instead of an
> old installed version.
> ...
> I think --test and --check
> should only be useful for checking and testing of local changes to
> shared libraries, without the need to install the updated shared
> library. I have only seen this as an issue with ldconfig on OpenBSD 7.5.

I am still confused.

On one hand, when you say "only on OpenBSD", it reminds me of the problem
that I have seen repeatedly on OpenBSD over the last years (e.g. with
GNU libunistring, when built without --disable-shared): If I have an
older version of GNU libunistring installed (in the directory specified
through --prefix), when building a newer version of GNU libunistring
(i.e. "make && make check") the "make check" part fails because it
apparently uses the older version. Whereas "make && make install && make check"
succeeds. OpenBSD is the only ELF platform on which this 'make install'
before 'make check' is (or used to be) needed.

On the other hand, during "make && make check", none of the libtool
modes --mode=finish and --mode=install is used. Automake does not
generate invocations of "libtool --mode=finish ..." at all, and it
generates invocations of "libtool --mode=install ..." only as part
of 'make install', which is typically the last thing I do in a build
tree. (In the build tree, doing source code modifications and "make"
will regenerate the libraries using "libtool --mode=link ...", but
not invoke "libtool --mode=finish ..." nor "libtool --mode=install ...".)

So, it's not clear to me how your change can have any effect in a
usual build tree as generated by Automake.

Bruno







This bug report was last modified 268 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.