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

Bug#1051604: libime FTCBFS: fails to run built tools



Control: tags -1 +wontfix
Control: close -1

On Sun, 10 Sep 2023 13:47:57 +0200 Helmut Grohne <helmut@subdivi.de> wrote:
> Source: libime
> Version: 1.1.1-1
> Tags: patch
> User: debian-cross@lists.debian.org
> Usertags: ftcbfs
> 
> libime fails to cross build from source, because it fails running built
> tools such as LibIME::pinyindict. Actually, CMake is clever here in that
> it recognizes that it cannot run those things and fails with "not
> found". When looking into this, I noticed that all of the affected tools
> are packaged in libime-bin, so in principle a very simple solution is
> adding a build dependency on that and just running the installed tools.
> That is ok if all of tools that are used have architecture-independent
> output. I'm really not sure whether that's right and unfortunately
> libime-bin entirely lacks documentation that would assist in figuring
> this out. Can you help here? Do you understand what the tools in
> libime-bin do and whether their output depends on the architecture used
> to run them? If their output artifacts are textual, the answer probably
> is that they are architecture-independent. If their output is binary,
> more inspection is needed. Does the output depend on the number of bits
> a pointer has? Does the output depend on the endianess? If we determine
> that libime-bin really has tools that are not architecture-independent,
> please do *not* apply the attached patch. Rather explicitly mark
> libime-bin as "Multi-Arch: no" instead and close this bug.
> 
> So now we assume that libime-bin only has tools that are
> architecture-independent. Then it should be marked "Multi-Arch: foreign"
> instead. Then my patch can be used to use the installed libime-bin and
> that makes the cross build succeed. It is not clear to me whether the
> result actually is working or how I could test for that.
> 
> Note that the patch adds a dependency on libime-bin:native. This is
> necessary, because currently libime-bin is not Multi-Arch: foreign. Once
> you add that, the :native annotation must be deleted.

Upstream developer indicates that tools that handle files under
/usr/lib/*/libime/* will result in architecture-dependent outputs. As a
result, binary package libime-bin cannot be used in cross-compilation
by design.

Thanks,
Boyuan Yang

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: