Dear Mentors,I am packaging magic_enum, a header-only C++ library which uses CMake with GNUInstallDirs. AFAIK the package should be arch-independent as there is no architecture dependent code in it.
Here are the generated files:
debian/libmagicenum-dev
├── DEBIAN
│ ├── control
│ └── md5sums
└── usr
├── include
│ ├── magic_enum.hpp
│ ├── magic_enum_all.hpp
│ ├── magic_enum_containers.hpp
│ ├── magic_enum_flags.hpp
│ ├── magic_enum_format.hpp
│ ├── magic_enum_fuse.hpp
│ ├── magic_enum_iostream.hpp
│ ├── magic_enum_switch.hpp
│ └── magic_enum_utility.hpp
├── lib
│ ├── cmake
│ │ └── magic_enum
│ │ ├── magic_enumConfig.cmake
│ │ └── magic_enumConfigVersion.cmake
│ └── pkgconfig
│ └── magic_enum.pc
└── share
├── doc
│ └── libmagicenum-dev
│ ├── changelog.Debian.gz
│ └── copyright
└── magic_enum
└── package.xml
12 directories, 17 files
Previously I was advised to set it toArchitecture: any and Multi-arch:
same since I was shipping files tousr/lib, but when I do so, lintian
gives me the following warnings:
X: libmagicenum-dev: package-contains-no-arch-dependent-files
N:
N: All files in this package are architecture-independent, but the package is
not marked Architecture: all.
N:
N: The package should probably be marked Architecture: all.
N:
N: Please refer to Architecture (Section 5.6.8) in the Debian Policy Manual
for details.
N:
N: Visibility: info
N: Show-Always: no
N: Check: files/architecture
N: This tag is experimental.
W: libmagicenum-dev: pkg-config-unavailable-for-cross-compilation
[usr/lib/pkgconfig/magic_enum.pc]
N:
N: The specified pkg-config(1) file is installed to /usr/lib/pkgconfig. As
the cross-compilation wrapper of pkg-config does not search this directory
N: the file is unavailable under cross-compilation.
N:
N: Please install the file to /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig
instead.
N:
N: For projects that use GNU Autotools, a simple method is moving to a
debhelper compat level of 9 or higher. In the rare case that this file is
N: architecture independent it can be installed to /usr/share/pkgconfig
instead.
N:
N: Visibility: warning
N: Show-Always: no
N: Check: files/pkgconfig
So I switched to Architecture: all andMulti-arch: foreign but the second
warning (pkg-config-unavailable-for-cross-compilation) still persists. I
have tried modifying the source and also tried setting the
CMAKE_INSTALL_LIBDIR variable manually, but somehow I can't get it to
install to the multi-arch libdir.
Can you please help me figure this out? Thanks, Shriram
OpenPGP_0xFC7E951A7BEF0836.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature

