pkgsrc-Users archive

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

Re: xfce4-wm fails on netbsd-8/amd64

On Sun, 2020-10-18 at 14:48 +0000, nia wrote:
> On Sat, Oct 17, 2020 at 04:55:10PM -0400, David H. Gutteridge wrote:
> > On 2020-10-16 02:27, nia wrote:
> > > On Thu, Oct 15, 2020 at 05:25:01PM -0400, David H. Gutteridge
> > > wrote:
> > > 
> > > > (Now, the xfce4 meta-package also doesn't build under NetBSD 8.x
> > > > because xfce4-terminal's vte3 dependency sets GCC_REQD+=7, which
> > > > links
> > > > vte3 against libraries that its dependants can't find, since
> > > > they
> > > > don't
> > > > factor that in. The same is true for gnome-terminal and mate-
> > > > terminal.
> > > > This isn't new; it was an issue with 2020Q2 as well.)
> > > 
> > > Is this a USE_GCC_RUNTIME issue?
> > 
> > Yes, that's it. Here we end up with a package linked against a
> > pkgsrc-
> > origin GCC library that isn't marked as a dependency, so dependants
> > fail to link. (In other cases, this could result in broken binary
> > packages instead, as observed in the past with certain web browsers,
> > for instance, but in this case it wouldn't make it that far. Or a
> > user
> > building from source could break their own system by seeing a
> > pkgsrc-origin GCC "had no dependants", removing it, and then finding
> > other packages are now broken. A long-standing issue.)
> > 
> > Dave
> I took a look at the bulk log and it looks like this could be resolved
> by compiling all dependent packages with the same compiler as vte3, so
> I committed that. Does it resolve the problem?

Hi Nia,

GCC_REQD marks a minimum version as a build dependency, so, yes, those
packages relying on vte3 now build and install from source. As binary
packages, though, they're broken, since here gcc7 (or, actually,
preferably gcc7-libs) isn't declared as a full dependency, so the
pkgsrc-origin version of libstdc++ that vte3 is linked against won't be
installed via pkg_add/pkgin. This is why I hadn't already done what you
just committed, though it can fix source builds. (I don't object to
your commits here, it's just they push the problem elsewhere, much like
the original GCC_REQD change in vte3 did. That's assuming we care about
binary packages, which is a whole other topic I'd rather avoid.)

USE_PKGSRC_GCC_RUNTIME kind of relates to this, but since it's a user-
settable variable, it wasn't intended to be used to deal with fine-
grained issues with a subset of packages for a system. Though, it has
been used for that on occasion (e.g., firefox used to set it in a
particular context). There are perhaps entirely different ways of
addressing the vte3 issue, but I'm not sure how much effort we want to
put against this.


Home | Main Index | Thread Index | Old Index