[Pkg-pascal-devel] Bug#1026719: vmg: FTBFS: /usr/bin/ld.bfd: cannot find -latk-1.0: No such file or directory

Samuel Thibault sthibault at debian.org
Sun Jan 1 20:45:42 GMT 2023


Abou Al Montacir, le dim. 01 janv. 2023 20:02:51 +0100, a ecrit:
>     Lucas Nussbaum, le mar. 20 déc. 2022 18:31:46 +0100, a ecrit:
> 
>             Linking ./vmg
>             /usr/bin/ld.bfd: cannot find -lgdk-x11-2.0: No such file or
>             directory
>             /usr/bin/ld.bfd: cannot find -lgtk-x11-2.0: No such file or
>             directory
> 
> ...
> 
>             /usr/bin/ld.bfd: cannot find -latk-1.0: No such file or directory
> 
> 
>     Yes, we had discussed it a bit in #967798, it is an issue in Lazarus:
>     fp-units-gtk2-3.2.0 used to have the libgtk2.0-dev dependency, but
>     fp-units-gtk2-3.2.2 doesn't any more, but it should, it shouldn't be up
>     to users of the gtk2 unit to know which C dependency it should take.
> 
> 
> Sorry, but, as FPC maintaining team member, I don't share this __ should __
> statement for the following reasons.
> 
>   • GTK2 is declared as deprecated in Debian since long time ago.

Yes, sure.

>   • Technically, Lazarus doe snot need libgtk2.0-dev for running, and thus
>     should not pull it.

Lazarus itself, no indeed. But the fp-units-gtk2-3.2.0 package does not
make any sense without libgtk2.0-dev, since there is no way to use the
former without the latter.

>   • Technically, FPC does not need any GTK related lib, it only provide binding
>     units.

Yes, and *all* languages that provide bindings do provide the required
pulls so that users of the bindings don't have to care about what
should be pulled. The information is recorded in only the bindings
package, and not sprinkled over all packages that happen to use it
(which would require changes in all of them for no good reason whenever
the underlying C library happens to change its C API, for instance).

Things were just working perfectly previously. Why breaking the build
of packages using fp-units-gtk2-3.2.0 by dropping the pull? Is there an
*actual* reason for not making fp-units-gtk2-3.2.0 pull it, how does it
hurt in any way? Is that because fpc-3.2.0 happens to depend on it?
Then why does it do so, since from what you say it does not actually
need it?

Really, I don't understand: fp-units-gtk2-3.2.0 does need libgtk2.0-dev
to work at all, while you are saying that fpc-3.2.0 does not need
fp-units-gtk2-3.2.0 to work. The current "Depends" that are set on those
package are exactly the inverse of that...

>   • For building, Lazarus build depends on libgtk2.0-dev, until it will migrate
>     to gtk3. And so shall do all programs that use it.

Yes, sure. But for bookworm we'll apparently stay with gtk2, so let's
make that that works, at least.

> I hope this makes it clear, why neither Lazarus, nor FPC or any of their
> packages should pull libgtk2.0-dev package.

No, not at all.

> You should handle this bug in VMG, and probably the best way to do it is to
> build depend on libgtk-2.0-dev

>From point point of view it's not the best way since it means that'll be
yet something more to change when switching to gtk3, then to gtk4, etc.
while everything could be just handled in the bindings package.

> until you fix [2]https://bugs.debian.org/cgi-bin /bugreport.cgi?bug=967799

That only boils down to making lazarus support gtk3, since vmg just
uses LCL. If Lazarus was providing a gtk bindings package which does
not encode the 2 vs 3 notion, the vmg package would be more than
happy to just use it and not have to care at all about the underlying
incompatibilities.

Samuel



More information about the Pkg-pascal-devel mailing list