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

Re: Packaging xsimd



On 2021-04-25 09:56, Julien Lamy wrote:
Le 22/04/2021 à 19:30, Nilesh Patra a écrit :
...
I tried in a ppc64el porter box, and I get several of:

/home/nilesh/xsimd/xsimd/test/test_batch_bool.cpp:315:1: error: 'gtest_type_params_batch_bool_test_' was not declared in this scope; did you mean 'gtest_type_params_batch_bool_test_NameGenerator'?
   315 | TYPED_TEST(batch_bool_test, load_store)
...
And a failing build. Both for build time as well as autopkgtests.
Do you think we should for now limit arches to amd64 i386 and arm64 in d/control for now?

Since upstream only supports x86 and ARM (v7 + v8) instruction sets
and since I don't have access to either mips or ppc boxes, I think
restricting to the corresponding arches makes sense. I've added armhf
to the ones you mention, as it should be in the supported list (I'm
not familiar with ARM, let me know if it was a mistake).

We don't really gain much by limiting the arches in a new package, but what we would lose are the build logs documenting the issue. The package build will look "clean", but we would lose the documentation of the problem on the other arches.

Note that the xsimd documentation does refer to both PPC and "generic" support,
https://xsimd.readthedocs.io/en/latest/api/instr_macros.html#ppc-architecture
https://xsimd.readthedocs.io/en/latest/api/instr_macros.html#generic-instruction-set

For comparison, libsimde-dev passes tests on all arches, https://ci.debian.net/packages/s/simde/


We can't inspect the problems in the build logs as readily if they are never created.

...
* Why is the package named xsimd-dev instead of libxsimd-dev? It might match xtensor, but AFAICS that's against the library style packaging. For ref: https://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html

<https://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html>

It was indeed chosen to match xtensor/xtl. I've reverted it to match
the usual naming (libxsimd-dev / libxsimd-doc).


The difference is that xsimd is not a library, it's a header package. There is no libxsimd.so.

So the naming rules are not so clear cut for header packages. But simde does use libsimde-dev.

In the case of xsimd, it's part of the xtensor family, so for that reason I would recommend following xtensor's convention. Perhaps xtensor should be changed to libxtensor-dev, but the reason (or history) for it being different is that it's header-only.

Drew


Reply to: