pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: unresolved dependency on heimdal



On Fri, Jan 24, 2020 at 11:25:43AM +0100, Frédéric Fauberteau wrote:
> Le 2020-01-24 10:20, Frédéric Fauberteau a écrit :
> > Le 2020-01-24 09:26, Jörn Clausen a écrit :
> > > Hi!
> > > 
> > > In the last few days I saw this several times on NetBSD-8.1:
> > > 
> > > ===> Creating toolchain wrappers for cmake-3.16.3
> > > ERROR: heimdal>=0.4e heimdal>=0.6 is not installed; can't buildlink
> > > files.
> > > *** Error code 1
> > > 
> > > In this case deve/cmake fails, but I think I also had another package
> > > that did not build. Neither package has a direct dependency on
> > > heimdal, so I don't know where the actual mismatch comes from.
> > > 
> > > The problem is easily resolved by installing security/heimdal.
> > > 
> > > More importantly: What's the cause here? Will NetBSD 9 come with a
> > > newer version of heimdal and some package maintainer is using -current
> > > and accidentally created a dependency?
> > 
> > I have the same problem on Netbsd 8.0 with devel/cmake and with
> > textproc/redland too.
> > 
> > I am investigating for devel/cmake (that breaks a lot of packages) but
> > I don't understand why heimdal is not added as an indirected
> > dependency.
> > 
> > When we look at the buildlink tree, we see that heimdal appears:
> > $ bmake show-var VARNAME=BUILDLINK_TREE
> > libarchive bzip2 -bzip2 xz -xz zlib -zlib -libarchive libexecinfo
> > -libexecinfo libuv -libuv rhash openssl -openssl -rhash expat -expat
> > curl heimdal sqlite3 -sqlite3 db1 -db1 -heimdal libidn2 iconv -iconv
> > gettext iconv -iconv -gettext libunistring -libunistring -libidn2
> > nghttp2 -nghttp2 gettext -gettext zlib -zlib openssl -openssl -curl
> > ncurses -ncurses pthread -pthread
> > 
> > It should be built as a dependency of curl, but surprisingly, it
> > doesn't.
> 
> I add tech-pkg@ to this thread because I think it is a technical problem.
> 
> I am starting to understand better. security/heimdal is a dependency of
> www/curl with the option gssapi. Nevertheless, it is not added as a
> dependency since there is a builtin implementation:
> # pwd
> /usr/pkgsrc/www/curl
> # make show-depends
> libidn2>=2.0.0:../../devel/libidn2
> nghttp2>=1.40.0nb2:../../www/nghttp2
> 
> This is the default configuration I use in a chrooted sandbox to run pbulk.
> But in the /etc/mk.conf of my NetBSD, I have PREFER_PKGSRC=yes that produces
> now:
> $ bmake show-depends
> heimdal>=1.5.3nb22:../../security/heimdal
> libidn2>=2.0.0:../../devel/libidn2
> gettext-lib>=0.18:../../devel/gettext-lib
> nghttp2>=1.40.0nb2:../../www/nghttp2
> zlib>=1.2.3:../../devel/zlib
> openssl>=1.1.1dnb2:../../security/openssl
> 
> security/heimdal should not be in BUILDLINK_TREE of devel/cmake if it is not
> a dependency of www/curl.

pkgsrc does not get this information from the installed packages, but
from the pkgsrc tree. It's not an easy task to change that.

So you need to use the same settings everywhere -- decide if you want
to PREFER_PKGSRC and build cmake with that as well...or remove it in
both places.
 Thomas


Home | Main Index | Thread Index | Old Index