On Tue, Dec 24, 2019 at 09:40:14AM +0100, Håvard Flaget Aasen wrote: > I uploaded a new version of clp [1], This only builds an seven > architectures,
To be exact: x86, and armhf. > the old version built on all of them. > Except for armel, they are all missing the same header file, immintrin.h > This header file is shipped with gcc, but not all arch's have it. > > The armel arch loads a replacement for immintrin.h, which also fails. immintrin.h is for x86 only, arm_neon.h is for armhf and arm64 -- and on armhf, it's not even in the arch baseline. Without reading much of the code, though, a test on an old amd64 (Phenom 2) of packages built on a very new amd64 (Pinnacle Ridge) show that at least in stuff covered by the testsuite clp doesn't use AVX2 code when not available. > This is the issue upstream. [2] I see the #ifdef is wrong: __arm__ matches 32-bit only. That's neither sufficient nor necessary for NEON support: armel can't use this without hand-crafted assembly as gcc intrinsics are available only in hard-float mode, armhf _usually_ has NEON, and arm64 always has it (shown as asimd in cpuinfo). > What possibilities do i have with this one? > > Revert to the old version? > > Upload a new version with updated runtime-dependencies, no changes regarding > build. Check with upstream regarding options for different architectures? > > Any other possibilities? I've verified that simply commenting out #include <immintrin.h> in the two files that use it will do the right thing -- so that's enough for non-optimized archs. For arm64, you can check defined(__aarch64__) -- I've also verified that this works. > I will admit that both the research and testing on this package wasn't good > enough. I haven't looked at upstream code before sponsoring myself, and tested the package only on new amd64. By "verified" in this mail I mean: * compiles (incl. tests ran during build) * passes autopkgtest but I don't know if ClpPackedMatrix and ClpSimplexDual are covered. If not, my testing was bogus. > [1] https://tracker.debian.org/pkg/clp > [2] https://github.com/coin-or/Clp/issues/106 Meow! -- ⢀⣴⠾⠻⢶⣦⠀ A MAP07 (Dead Simple) raspberry tincture recipe: 0.5l 95% alcohol, ⣾⠁⢠⠒⠀⣿⡁ 1kg raspberries, 0.4kg sugar; put into a big jar for 1 month. ⢿⡄⠘⠷⠚⠋⠀ Filter out and throw away the fruits (can dump them into a cake, ⠈⠳⣄⠀⠀⠀⠀ etc), let the drink age at least 3-6 months.

