Bug 1283
Summary: | Failing to compile testpmd on Windows | ||
---|---|---|---|
Product: | DPDK | Reporter: | Pier Damouny (pdamouny) |
Component: | testpmd | Assignee: | Tyler Retzlaff (roretzla) |
Status: | CONFIRMED --- | ||
Severity: | critical | CC: | alialnu, david.marchand, dmitry.kozliuk, roretzla |
Priority: | Normal | ||
Version: | 23.11 | ||
Target Milestone: | --- | ||
Hardware: | x86 | ||
OS: | Windows |
Description
Pier Damouny
2023-09-06 09:28:10 CEST
This sounds like a previous report from Ali, see bz1281 and confirm it is a duplicate. previous bug is failure in getting 'librte_log.lib', 'librte_kvargs.lib' this bug is failure due to conflict for '__m_prefetchw' _m_prefetchw(void *__P) David, this bug does not resemble BZ 1281 at all; doubtfully a duplicate. Pier, I think this is broken by 58e7eb1acd0c ("eal/x86: use TSC intrinsic"), which added #include <x86intrin.h> to <rte_cycles.h>. This header should not be used directly but only through <rte_vect.h>. Similar issues were resolved before, e.g. 4feddcfc6cf1 ("net/iavf: build on Windows") and ce6617a0698e ("net/ice: build on Windows"). Sorry, I mixed with another report from Ali. This was reported and discussed here: http://inbox.dpdk.org/dev/DM4PR12MB516765E72E643B57EDFE5758DAE2A@DM4PR12MB5167.namprd12.prod.outlook.com/ David, Dmitry the mail reference provided is the same issue as discussed on list. Pier what I would like to understand is the impact. Is using newer llvm/clang prohibitive? Confirming as a bug because it is in fact broken, what is unclear is whether or not we will resolve this as won't fix. Thanks Hi, any update? Pier, please try the following patch, it resolves the issue for me with clang/LLVM 10.0.0: diff --git a/lib/eal/x86/include/rte_cycles.h b/lib/eal/x86/include/rte_cycles.h index 2afe85e28c..58cc6f40de 100644 --- a/lib/eal/x86/include/rte_cycles.h +++ b/lib/eal/x86/include/rte_cycles.h @@ -9,7 +9,7 @@ #ifdef RTE_TOOLCHAIN_MSVC #include <intrin.h> #else -#include <x86intrin.h> +#include <rte_vect.h> #endif #ifdef __cplusplus Tyler, I think this would be a proper fix. You suggested using a newer toolchain, in which version of clang/LLVM does the current "main" build for you? llvm 12 didn't work for me so i installed 17 and all works now |