[RFC] rcu: build on Windows
Checks
Commit Message
Build the lib for Windows.
Change-Id: Ib83431a9ee56a7b38445f0474cb9a12b17cf18f9
Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
---
lib/meson.build | 1 +
1 file changed, 1 insertion(+)
Comments
On Tue, Oct 20, 2020 at 1:34 AM Dharmik Thakkar <dharmik.thakkar@arm.com> wrote:
>
> Build the lib for Windows.
>
> Change-Id: Ib83431a9ee56a7b38445f0474cb9a12b17cf18f9
> Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
> ---
> lib/meson.build | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/lib/meson.build b/lib/meson.build
> index dd55b5cb53e4..1bb019720c6a 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -41,6 +41,7 @@ if is_windows
> 'telemetry',
> 'eal',
> 'ring',
> + 'rcu',
> 'mempool', 'mbuf', 'net', 'meter', 'ethdev', 'pci',
> 'cmdline',
> 'hash',
> --
> 2.17.1
>
If we skip the new failures in Intel CI due to kni build being broken,
I see that Windows build is fine but I have no log of it.
UNH lab skipped testing this patch, as it is a RFC (iiuc).
We need more tests, but on the principle, what do you think about enabling rcu?
On Tue, 20 Oct 2020 10:13:11 +0200, David Marchand wrote:
> On Tue, Oct 20, 2020 at 1:34 AM Dharmik Thakkar <dharmik.thakkar@arm.com> wrote:
> >
> > Build the lib for Windows.
> >
> > Change-Id: Ib83431a9ee56a7b38445f0474cb9a12b17cf18f9
> > Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
> > ---
> > lib/meson.build | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/lib/meson.build b/lib/meson.build
> > index dd55b5cb53e4..1bb019720c6a 100644
> > --- a/lib/meson.build
> > +++ b/lib/meson.build
> > @@ -41,6 +41,7 @@ if is_windows
> > 'telemetry',
> > 'eal',
> > 'ring',
> > + 'rcu',
> > 'mempool', 'mbuf', 'net', 'meter', 'ethdev', 'pci',
> > 'cmdline',
> > 'hash',
> > --
> > 2.17.1
> >
>
> If we skip the new failures in Intel CI due to kni build being broken,
> I see that Windows build is fine but I have no log of it.
> UNH lab skipped testing this patch, as it is a RFC (iiuc).
> We need more tests, but on the principle, what do you think about enabling rcu?
Builds OK with Linux/GCC (cross), Windows/MinGW-w64, Windows/clang.
Tested-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> On Oct 20, 2020, at 3:13 AM, David Marchand <david.marchand@redhat.com> wrote:
>
> On Tue, Oct 20, 2020 at 1:34 AM Dharmik Thakkar <dharmik.thakkar@arm.com> wrote:
>>
>> Build the lib for Windows.
>>
>> Change-Id: Ib83431a9ee56a7b38445f0474cb9a12b17cf18f9
>> Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
>> ---
>> lib/meson.build | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/lib/meson.build b/lib/meson.build
>> index dd55b5cb53e4..1bb019720c6a 100644
>> --- a/lib/meson.build
>> +++ b/lib/meson.build
>> @@ -41,6 +41,7 @@ if is_windows
>> 'telemetry',
>> 'eal',
>> 'ring',
>> + 'rcu',
>> 'mempool', 'mbuf', 'net', 'meter', 'ethdev', 'pci',
>> 'cmdline',
>> 'hash',
>> --
>> 2.17.1
>>
>
> If we skip the new failures in Intel CI due to kni build being broken,
> I see that Windows build is fine but I have no log of it.
> UNH lab skipped testing this patch, as it is a RFC (iiuc).
> We need more tests, but on the principle, what do you think about enabling rcu?
>
I think it should work OK.
>
> --
> David Marchand
>
> On Oct 20, 2020, at 3:34 AM, Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> wrote:
>
> On Tue, 20 Oct 2020 10:13:11 +0200, David Marchand wrote:
>> On Tue, Oct 20, 2020 at 1:34 AM Dharmik Thakkar <dharmik.thakkar@arm.com> wrote:
>>>
>>> Build the lib for Windows.
>>>
>>> Change-Id: Ib83431a9ee56a7b38445f0474cb9a12b17cf18f9
>>> Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
>>> ---
>>> lib/meson.build | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/lib/meson.build b/lib/meson.build
>>> index dd55b5cb53e4..1bb019720c6a 100644
>>> --- a/lib/meson.build
>>> +++ b/lib/meson.build
>>> @@ -41,6 +41,7 @@ if is_windows
>>> 'telemetry',
>>> 'eal',
>>> 'ring',
>>> + 'rcu',
>>> 'mempool', 'mbuf', 'net', 'meter', 'ethdev', 'pci',
>>> 'cmdline',
>>> 'hash',
>>> --
>>> 2.17.1
>>>
>>
>> If we skip the new failures in Intel CI due to kni build being broken,
>> I see that Windows build is fine but I have no log of it.
>> UNH lab skipped testing this patch, as it is a RFC (iiuc).
>> We need more tests, but on the principle, what do you think about enabling rcu?
>
> Builds OK with Linux/GCC (cross), Windows/MinGW-w64, Windows/clang.
>
> Tested-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Thank you for testing, Dmitry!
I tried cross-compilation on Linux (Ubuntu 18.04) with MinGW-w64 toolchain, but I am seeing some compilation error:
../lib/librte_eal/common/eal_common_dev.c: In function ‘rte_dev_probe’:
../lib/librte_eal/common/eal_common_dev.c:215:12: error: ‘ENOMSG’ undeclared (first use in this function); did you mean ‘NPMSG’?
return -ENOMSG;
^~~~~~
NPMSG
../lib/librte_eal/common/eal_common_dev.c:215:12: note: each undeclared identifier is reported only once for each function it appears in
../lib/librte_eal/common/eal_common_dev.c: In function ‘rte_dev_remove’:
../lib/librte_eal/common/eal_common_dev.c:361:12: error: ‘ENOMSG’ undeclared (first use in this function); did you mean ‘NPMSG’?
return -ENOMSG;
^~~~~~
NPMSG
[52/178] Compiling C object 'lib/lib@@rte_eal@sta/librte_eal_windows_eal_memory.c.obj'.
ninja: build stopped: subcommand failed.
Any help is appreciated.
<snip>
>
> > On Oct 20, 2020, at 3:34 AM, Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> wrote:
> >
> > On Tue, 20 Oct 2020 10:13:11 +0200, David Marchand wrote:
> >> On Tue, Oct 20, 2020 at 1:34 AM Dharmik Thakkar
> <dharmik.thakkar@arm.com> wrote:
> >>>
> >>> Build the lib for Windows.
> >>>
> >>> Change-Id: Ib83431a9ee56a7b38445f0474cb9a12b17cf18f9
> >>> Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
> >>> ---
> >>> lib/meson.build | 1 +
> >>> 1 file changed, 1 insertion(+)
> >>>
> >>> diff --git a/lib/meson.build b/lib/meson.build index
> >>> dd55b5cb53e4..1bb019720c6a 100644
> >>> --- a/lib/meson.build
> >>> +++ b/lib/meson.build
> >>> @@ -41,6 +41,7 @@ if is_windows
> >>> 'telemetry',
> >>> 'eal',
> >>> 'ring',
> >>> + 'rcu',
> >>> 'mempool', 'mbuf', 'net', 'meter', 'ethdev', 'pci',
> >>> 'cmdline',
> >>> 'hash',
> >>> --
> >>> 2.17.1
> >>>
> >>
> >> If we skip the new failures in Intel CI due to kni build being
> >> broken, I see that Windows build is fine but I have no log of it.
> >> UNH lab skipped testing this patch, as it is a RFC (iiuc).
> >> We need more tests, but on the principle, what do you think about
> enabling rcu?
> >
> > Builds OK with Linux/GCC (cross), Windows/MinGW-w64, Windows/clang.
> >
> > Tested-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
>
> Thank you for testing, Dmitry!
>
> I tried cross-compilation on Linux (Ubuntu 18.04) with MinGW-w64 toolchain,
> but I am seeing some compilation error:
>
> ../lib/librte_eal/common/eal_common_dev.c: In function ‘rte_dev_probe’:
> ../lib/librte_eal/common/eal_common_dev.c:215:12: error: ‘ENOMSG’
> undeclared (first use in this function); did you mean ‘NPMSG’?
> return -ENOMSG;
> ^~~~~~
> NPMSG
> ../lib/librte_eal/common/eal_common_dev.c:215:12: note: each undeclared
> identifier is reported only once for each function it appears in
> ../lib/librte_eal/common/eal_common_dev.c: In function
> ‘rte_dev_remove’:
> ../lib/librte_eal/common/eal_common_dev.c:361:12: error: ‘ENOMSG’
> undeclared (first use in this function); did you mean ‘NPMSG’?
> return -ENOMSG;
> ^~~~~~
> NPMSG
>
> [52/178] Compiling C object
> 'lib/lib@@rte_eal@sta/librte_eal_windows_eal_memory.c.obj'.
> ninja: build stopped: subcommand failed.
>
>
> Any help is appreciated.
Just to be clear, these errors are not stopping us from moving forward with this patch (as the CI for windows is passing and Dmitry has tested it in his environment).
>
>
On Tue, 20 Oct 2020 12:51:14 +0000, Dharmik Thakkar wrote:
> I tried cross-compilation on Linux (Ubuntu 18.04) with MinGW-w64 toolchain, but I am seeing some compilation error:
>
> ../lib/librte_eal/common/eal_common_dev.c: In function ‘rte_dev_probe’:
> ../lib/librte_eal/common/eal_common_dev.c:215:12: error: ‘ENOMSG’ undeclared (first use in this function); did you mean ‘NPMSG’?
> return -ENOMSG;
> ^~~~~~
> NPMSG
> ../lib/librte_eal/common/eal_common_dev.c:215:12: note: each undeclared identifier is reported only once for each function it appears in
> ../lib/librte_eal/common/eal_common_dev.c: In function ‘rte_dev_remove’:
> ../lib/librte_eal/common/eal_common_dev.c:361:12: error: ‘ENOMSG’ undeclared (first use in this function); did you mean ‘NPMSG’?
> return -ENOMSG;
> ^~~~~~
> NPMSG
>
> [52/178] Compiling C object 'lib/lib@@rte_eal@sta/librte_eal_windows_eal_memory.c.obj'.
> ninja: build stopped: subcommand failed.
>
>
> Any help is appreciated.
Ubuntu 18.04 has MinGW-w64 5.0.4, while 6.0.0 is required (note: MinGW-w64
version is not the same as GCC version). I've certainly hit this issue with
older MinGW.
> On Oct 20, 2020, at 10:52 AM, Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> wrote:
>
> On Tue, 20 Oct 2020 12:51:14 +0000, Dharmik Thakkar wrote:
>> I tried cross-compilation on Linux (Ubuntu 18.04) with MinGW-w64 toolchain, but I am seeing some compilation error:
>>
>> ../lib/librte_eal/common/eal_common_dev.c: In function ‘rte_dev_probe’:
>> ../lib/librte_eal/common/eal_common_dev.c:215:12: error: ‘ENOMSG’ undeclared (first use in this function); did you mean ‘NPMSG’?
>> return -ENOMSG;
>> ^~~~~~
>> NPMSG
>> ../lib/librte_eal/common/eal_common_dev.c:215:12: note: each undeclared identifier is reported only once for each function it appears in
>> ../lib/librte_eal/common/eal_common_dev.c: In function ‘rte_dev_remove’:
>> ../lib/librte_eal/common/eal_common_dev.c:361:12: error: ‘ENOMSG’ undeclared (first use in this function); did you mean ‘NPMSG’?
>> return -ENOMSG;
>> ^~~~~~
>> NPMSG
>>
>> [52/178] Compiling C object 'lib/lib@@rte_eal@sta/librte_eal_windows_eal_memory.c.obj'.
>> ninja: build stopped: subcommand failed.
>>
>>
>> Any help is appreciated.
>
> Ubuntu 18.04 has MinGW-w64 5.0.4, while 6.0.0 is required (note: MinGW-w64
> version is not the same as GCC version). I've certainly hit this issue with
> older MinGW.
Got it, thank you! FWIW, documentation [1] doesn’t mention about the 6.0.0 requirement
[1] https://doc.dpdk.org/guides/windows_gsg/build_dpdk.html
On 10/20/2020 9:37 AM, Dharmik Thakkar wrote:
>
>> On Oct 20, 2020, at 10:52 AM, Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> wrote:
>>
>> On Tue, 20 Oct 2020 12:51:14 +0000, Dharmik Thakkar wrote:
>>> I tried cross-compilation on Linux (Ubuntu 18.04) with MinGW-w64 toolchain, but I am seeing some compilation error:
>>>
>>> ../lib/librte_eal/common/eal_common_dev.c: In function ‘rte_dev_probe’:
>>> ../lib/librte_eal/common/eal_common_dev.c:215:12: error: ‘ENOMSG’ undeclared (first use in this function); did you mean ‘NPMSG’?
>>> return -ENOMSG;
>>> ^~~~~~
>>> NPMSG
>>> ../lib/librte_eal/common/eal_common_dev.c:215:12: note: each undeclared identifier is reported only once for each function it appears in
>>> ../lib/librte_eal/common/eal_common_dev.c: In function ‘rte_dev_remove’:
>>> ../lib/librte_eal/common/eal_common_dev.c:361:12: error: ‘ENOMSG’ undeclared (first use in this function); did you mean ‘NPMSG’?
>>> return -ENOMSG;
>>> ^~~~~~
>>> NPMSG
>>>
>>> [52/178] Compiling C object 'lib/lib@@rte_eal@sta/librte_eal_windows_eal_memory.c.obj'.
>>> ninja: build stopped: subcommand failed.
>>>
>>>
>>> Any help is appreciated.
>> Ubuntu 18.04 has MinGW-w64 5.0.4, while 6.0.0 is required (note: MinGW-w64
>> version is not the same as GCC version). I've certainly hit this issue with
>> older MinGW.
> Got it, thank you! FWIW, documentation [1] doesn’t mention about the 6.0.0 requirement
>
> [1] https://doc.dpdk.org/guides/windows_gsg/build_dpdk.html
While we're at this, we should also update this with the minimum
required version of the Clang compiler.
ranjit m.
@@ -41,6 +41,7 @@ if is_windows
'telemetry',
'eal',
'ring',
+ 'rcu',
'mempool', 'mbuf', 'net', 'meter', 'ethdev', 'pci',
'cmdline',
'hash',