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

Bug#1051604: marked as done (libime FTCBFS: fails to run built tools)



Your message dated Sun, 01 Oct 2023 00:19:18 +0000
with message-id <E1qmkB4-00E6su-RB@fasolo.debian.org>
and subject line Bug#1051604: fixed in libime 1.1.2-1
has caused the Debian Bug report #1051604,
regarding libime FTCBFS: fails to run built tools
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1051604: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1051604
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
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.

I hope you can help me figure this out.

Helmut
diff --minimal -Nru libime-1.1.1/debian/changelog libime-1.1.1/debian/changelog
--- libime-1.1.1/debian/changelog	2023-08-22 19:21:32.000000000 +0200
+++ libime-1.1.1/debian/changelog	2023-09-10 11:42:12.000000000 +0200
@@ -1,3 +1,10 @@
+libime (1.1.1-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: Run native tools. (Closes: #-1)
+
+ -- Helmut Grohne <helmut@subdivi.de>  Sun, 10 Sep 2023 11:42:12 +0200
+
 libime (1.1.1-1) unstable; urgency=medium
 
   * New upstream release.
diff --minimal -Nru libime-1.1.1/debian/control libime-1.1.1/debian/control
--- libime-1.1.1/debian/control	2023-08-20 02:46:15.000000000 +0200
+++ libime-1.1.1/debian/control	2023-09-10 11:42:12.000000000 +0200
@@ -13,6 +13,7 @@
  libboost-iostreams-dev (>= 1.61),
  libdouble-conversion-dev (>= 3.1.5-5~),
  libfcitx5utils-dev (>= 5.1~),
+ libime-bin:native <cross>,
 Standards-Version: 4.6.2
 Rules-Requires-Root: no
 Homepage: https://github.com/fcitx/libime
diff --minimal -Nru libime-1.1.1/debian/patches/cross.patch libime-1.1.1/debian/patches/cross.patch
--- libime-1.1.1/debian/patches/cross.patch	1970-01-01 01:00:00.000000000 +0100
+++ libime-1.1.1/debian/patches/cross.patch	2023-09-10 11:42:12.000000000 +0200
@@ -0,0 +1,52 @@
+--- libime-1.1.1.orig/tools/CMakeLists.txt
++++ libime-1.1.1/tools/CMakeLists.txt
+@@ -2,17 +2,14 @@
+ target_link_libraries(libime_slm_build_binary kenlm)
+ 
+ install(TARGETS libime_slm_build_binary DESTINATION ${CMAKE_INSTALL_BINDIR})
+-add_executable(LibIME::slm_build_binary ALIAS libime_slm_build_binary)
+ 
+ add_executable(libime_prediction libime_prediction.cpp)
+ target_link_libraries(libime_prediction LibIME::Core)
+ install(TARGETS libime_prediction DESTINATION ${CMAKE_INSTALL_BINDIR})
+-add_executable(LibIME::prediction ALIAS libime_prediction)
+ 
+ add_executable(libime_pinyindict libime_pinyindict.cpp)
+ target_link_libraries(libime_pinyindict LibIME::Pinyin)
+ install(TARGETS libime_pinyindict DESTINATION ${CMAKE_INSTALL_BINDIR})
+-add_executable(LibIME::pinyindict ALIAS libime_pinyindict)
+ 
+ add_executable(libime_history libime_history.cpp)
+ target_link_libraries(libime_history LibIME::Core)
+@@ -22,7 +19,6 @@
+ add_executable(libime_tabledict libime_tabledict.cpp)
+ target_link_libraries(libime_tabledict LibIME::Table)
+ install(TARGETS libime_tabledict DESTINATION ${CMAKE_INSTALL_BINDIR})
+-add_executable(LibIME::tabledict ALIAS libime_tabledict)
+ 
+ add_executable(libime_migrate_fcitx4_table libime_migrate_fcitx4_table.cpp)
+ target_link_libraries(libime_migrate_fcitx4_table LibIME::Table Boost::iostreams Boost::filesystem)
+@@ -33,3 +29,23 @@
+ target_link_libraries(libime_migrate_fcitx4_pinyin LibIME::Pinyin Boost::iostreams Boost::filesystem)
+ install(TARGETS libime_migrate_fcitx4_pinyin DESTINATION ${CMAKE_INSTALL_BINDIR})
+ add_executable(LibIME::migrate_fcitx4_pinyin ALIAS libime_migrate_fcitx4_pinyin)
++
++if(CMAKE_CROSSCOMPILING)
++find_program(native_slm_build_binary NAMES libime_slm_build_binary REQUIRED)
++add_executable(LibIME::slm_build_binary IMPORTED GLOBAL)
++set_target_properties(LibIME::slm_build_binary PROPERTIES IMPORTED_LOCATION "${native_slm_build_binary}")
++find_program(native_prediction NAMES libime_prediction REQUIRED)
++add_executable(LibIME::prediction IMPORTED GLOBAL)
++set_target_properties(LibIME::prediction PROPERTIES IMPORTED_LOCATION "${native_prediction}")
++find_program(native_pinyindict NAMES libime_pinyindict REQUIRED)
++add_executable(LibIME::pinyindict IMPORTED GLOBAL)
++set_target_properties(LibIME::pinyindict PROPERTIES IMPORTED_LOCATION "${native_pinyindict}")
++find_program(native_tabledict NAMES libime_tabledict REQUIRED)
++add_executable(LibIME::tabledict IMPORTED GLOBAL)
++set_target_properties(LibIME::tabledict PROPERTIES IMPORTED_LOCATION "${native_tabledict}")
++else()
++add_executable(LibIME::slm_build_binary ALIAS libime_slm_build_binary)
++add_executable(LibIME::prediction ALIAS libime_prediction)
++add_executable(LibIME::pinyindict ALIAS libime_pinyindict)
++add_executable(LibIME::tabledict ALIAS libime_tabledict)
++endif()
diff --minimal -Nru libime-1.1.1/debian/patches/series libime-1.1.1/debian/patches/series
--- libime-1.1.1/debian/patches/series	2023-08-20 02:46:29.000000000 +0200
+++ libime-1.1.1/debian/patches/series	2023-09-10 11:42:12.000000000 +0200
@@ -1,2 +1,3 @@
 0001-use-kenlm-from-debian-dir.patch
 0002-use-system-library-in-kenlm.patch
+cross.patch

--- End Message ---
--- Begin Message ---
Source: libime
Source-Version: 1.1.2-1
Done: Boyuan Yang <byang@debian.org>

We believe that the bug you reported is fixed in the latest version of
libime, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1051604@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Boyuan Yang <byang@debian.org> (supplier of updated libime package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sat, 30 Sep 2023 20:03:39 -0400
Source: libime
Architecture: source
Version: 1.1.2-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Input Method Team <debian-input-method@lists.debian.org>
Changed-By: Boyuan Yang <byang@debian.org>
Closes: 1051604
Changes:
 libime (1.1.2-1) unstable; urgency=medium
 .
   * New upstream release.
   * debian/control: New build-dependency libzstd-dev, pkg-config.
   * debian/control: Explicitly mark libime-bin as Multi-Arch: no.
     (Closes: #1051604)
Checksums-Sha1:
 34132af3a9488b44da3693aa18a5fb8e912a9b51 2875 libime_1.1.2-1.dsc
 233f6188cdbbb2ef6f824754bfbc5798d5c1ffaf 36437416 libime_1.1.2.orig.tar.xz
 1cf1899b998b16cbe1df26c9abd6872fbaa0bc65 488 libime_1.1.2.orig.tar.xz.asc
 5a2b0a58b5f6d23f517f1b964bb66769d8faae09 8272 libime_1.1.2-1.debian.tar.xz
 0175c37494605f758e137165da518206ced1ce57 10831 libime_1.1.2-1_amd64.buildinfo
Checksums-Sha256:
 a1668548cc4aebfd66634a2a8470c6b84fcff75aa8f761d577591ab60d534c99 2875 libime_1.1.2-1.dsc
 7706fa20ed2c7b708322dafcb8ce19856a8e2dc5c0c80716b8503acfb8168443 36437416 libime_1.1.2.orig.tar.xz
 cd8d8bf09b46f49293053719caa13d8be9e111c069398fd722a6221712b6d9a3 488 libime_1.1.2.orig.tar.xz.asc
 4f90f71b1e458d3ebdfb54770c73ad0ffb4dd5c18b6a8174a99e5dacee7d6a43 8272 libime_1.1.2-1.debian.tar.xz
 67b54246467732b98201a6a415824aa38c00b1d064a95922d10adc0903a4f873 10831 libime_1.1.2-1_amd64.buildinfo
Files:
 86e224e972137bc7def3a0de871dfc59 2875 libs optional libime_1.1.2-1.dsc
 5aecfacf653aa51350eed007eae93f24 36437416 libs optional libime_1.1.2.orig.tar.xz
 45b3b117292481e0fe7f5a5a67b9b689 488 libs optional libime_1.1.2.orig.tar.xz.asc
 d657f41b12ad211b1aead5f1bdb22a3a 8272 libs optional libime_1.1.2-1.debian.tar.xz
 67b8fc667e8e364da87eec8272ef7f7f 10831 libs optional libime_1.1.2-1_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfncpR22H1vEdkazLwpPntGGCWs4FAmUYuC4ACgkQwpPntGGC
Ws4TEBAAhsOWfmxkCv+lbDf54EfqSf9wxgfNfK4foA2l8mltkSljfs93A/grDCyi
3enKDV5guw+ms+9HArNIZWFRMYR4Ln+GMfMXoIw/O6gVEKHh3pyWnXU7gf3HnNVY
HMp8p7808tM5PWK0wkqFAEBSfBof/oIOVUaZCGZCuHxsZJiDtDlw2H1RFE/RQAwI
u2b0FyGijoKlSGcuf6Z4GAddf9c/lPeELfHbY9w3WgqGllr+xd3fY595hRkytmMB
bTAsu4nbx0lzG+6YFTJLIfhgj7tI559WhwXFU0k0qfqljwVnGImWChGZBRj4ImxI
PTv5guKMNK/9uDm3eF6DY0OkZn0KHxZBPjCQ+hqcgZ22IuoIqgIU1bHYAz7lim/S
vsrP/ZKLP1skMxZpSoi7U14olNFA0GiqDCLbNaJX5+1RCvo02/QeOYRtugjLq3o4
UvbBvRsyQmLM6a3p7BFUXod8z1iaUn/PMiZlUpqAxY34tT6WMCwBIlFHXTqP+Bck
TjPOiLTWokj+XxYU6vltcYB9pgfdkUdtzOAjETzCNPBykAyOvMyfDYeT4AO4nV0/
oHINJtmm88CmxLlr7zlC2JDiuT1MMNt2gXwajF3xJlGa7H1UFnG6wWOnHzUl6GJu
MaYW7wZqKR3Um92qk5EUu/fL2hhiK2L8OYHRaCQsovN2zpobSOA=
=iNa1
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: