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


Attachment: OpenPGP_0xFC7E951A7BEF0836.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to